Why I chose D over Ada and Eiffel

Chris wendlec at tcd.ie
Fri Aug 23 03:34:07 PDT 2013


On Thursday, 22 August 2013 at 20:10:37 UTC, Ramon wrote:
[...]
>
> Probably making myself new enemies I dare to say that gui, 
> colourful and generally graphics is the area of lowest quality 
> code. Simplyfying it somewhat and being blunt I'd state: 
> Chances are that your server will hum along years without 
> problems. If anything with a gui runs some hours without 
> crashing and/or filling up stderr, you can consider yourself 
> lucky.
> Not meaning to point fingers. But just these days I happened to 
> fall over a new gui project. Guess what? They had a colourful 
> presentation with lots of vanity, pipe dreams and, of course, 
> colours. That matches quite well what I have experienced. 
> Gui/graphical/colour stuff is probably the only area where 
> people seriously do design with powerpoint. I guess that's how 
> they tick.
>
> You can as well look at different developers. Guys developing 
> for an embedded system are often hesitating to even use a RTOS. 
> Your average non-gui, say server developer will use some 
> libraries but he will ponder their advantages, size, 
> dependencies and quality. Now enter the graphic world. John, 
> creating some app, say, to collect, show, and sort photos will 
> happily and very generously user whatever library sounds 
> remotely usefull and doesn't run away fast enough.
>
> Results? An app on a microcontroller that, say, takes care of 
> building management in some 10K. A server in some 100K. And the 
> funny photo app with 12MB plus another 70MB 
> libraries/dependencies. The embedded sytem will run forever and 
> be forgotten, the server will be rebooted ever other year and 
> the photo app will crash twice a day.

Well, I'm a friend of GUIs simply because with a GUI everyone can 
use computers not just tech-savvies, and that's what computers 
are there for, aren't they? The problem are not the GUIs, I 
think, but the mentality. MVC hardly ever works in real life due 
to constraints in framework design or deadlines. Cocoa if used 
sensibly is great. But most of the time you don't have proper MVC 
because GUI frameworks "seduce" people to do sh*it like

bool saveText() {
   text = textArea.getText(); // View!!! You're mad!
   savek(text);
   return Arghhhh!;
}

instead of

bool saveText() {
   text = model.getText(); // Model! Good man youself!
   save(text);
   return fine;
}

It's the "bolt-on" mentality that ruins things, which is partly 
due to deadlines. As one guy once said to me (after I had 
complained about a quick and dirty implementation) "We have the 
choice between doing it right and doing it right NOW!" Ain't no 
more to say.

Also, sadly enough, technologies that were never meant to be for 
GUIs are being used for GUI design. PHP and JS (shudder!!!!) Much 
as I try to keep up a proper MVC pattern, it's useless. Things 
will always be dirty, disgusting, work-arond-y, unsafe, buggy, 
you name it. And you just stop giving a sh*t. Ain't no use.

And last but not least, a programmer can work for hours on end 
implementing a clever algorithm, using unit tests, component 
programming etc etc. Nobody will ever notice. If users see a 
button that when they press it the screen says "Hello User!", 
they are forever happy. What goes on under the hood is "boys and 
their toys".


More information about the Digitalmars-d mailing list