This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Get the ClueStick Luke
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Adam Connor asks a fair question about complexity in development languages:
Java’s generics don’t have anything like C++’s power — beyond hiding casts, I’m not sure I see much benefit at all — so they aren’t used this way. But Java abounds with other features that are used and abused: classloaders, reflection, dynamic proxies, aspect-oriented programming, and now annotations. Again, the core problem is that the language wasn’t really designed for this level of dynamic behavior, so features such as reflection or dynamic proxies are hard to read and understand. (That is not to say that Java isn’t an advance over C++, where such features are so hard that they simply wouldn’t be attempted.) Again, it’s obvious that more dynamic languages have existed for years, e.g., Smalltalk. Ruby seems like a new language in this vein.
Is every language fated to push at the complexity barrier until it falls over in a heap?
Until people stop trying to recreate dynamic features in rigid languages, yes. Watch Java and C# get more and more baroque over the next couple of years, as "power" gets added to each...