XDC2012: Programming languages for X application development
Posted Oct 11, 2012 14:58 UTC (Thu) by
HelloWorld (guest, #56129)
In reply to:
XDC2012: Programming languages for X application development by ncm
Parent article:
XDC2012: Programming languages for X application development
I agree, the article is wrong in so many ways that it's hard to tell where even to start.
You already mentioned C++' extensive support for automatic memory management through RAII.
Saying that C# offers no advantages over Java shows utter cluelessness. Just to name a few: properties, operator overloading, the yield statement, lambdas/delegates, LINQ, reified generics, extension methods and probably tons of others that I've missed.
He also seems to have no clue how GUI builders work nowadays. Qt designer and Glade aren't used as code generators. They generate an abstract description of the GUI (usually XML), and the event handlers are then connected automatically to the appropriate callbacks using things like GtkBuilder and QMetaObject::connectSlotsByName. And the fact that he doesn't know how to use these GUI builders right (as shown by his inability to create a flexible layout using these tools) speaks for itself.
That leads me to another point where he's utterly wrong: Objective C. He says that it provides features that C and C++ don't. While that is technically right, it doesn't really matter. There are GObject and moc, which add the same kind of introspection that makes Objective C successful (OK, GObject is actually a pain to use, which is why Vala exists) and allow technologies like the aforementioned GtkBuilder and QMetaObject::connectSlotsByName.
He also seems to be confused about control flow in web applications. Web applications use all kinds of callbacks for all kinds of things, yet he calls callbacks a "complicated flow of control" and "challenging for programmers" (I actually think that if you don't grok the idea of a callback, you shouldn't be programming at all, but the point is that web and desktop applications don't differ at all in that respect).
There are also a few very important points that are completely missing from his presentation.
- Neither JavaScript nor C or C++ offer coroutines, which are a perfect fit for the kind of callback-based programming that GUI programs tend to necessitate
- As pointed out by louie's comment, web apps have advantages that have nothing at all to do with programming languages
- the question of why we should even care about desktop application development
So, all in all, I think that Mr Massey's presentation was a really poor one. So poor in fact that LWN would better not have written about it, as it'll surely lead some people to believe things that aren't true.
(
Log in to post comments)