This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: J2EE bloat or Dynamic results?
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.
Blaine Buxton points to an article advocating Python or Ruby rather than J2EE. Now, here's the interesting thing about that (to me). I attended an XP show in Brazil awhile back, and one of the things that I got hit with was "sure, Smalltalk is more productive... but we have all these libraries in Java!" Well, it seems that you might well have the wrong libraries in Java. To wit:
Well, people say that the J2EE solutions are more scalable. A Ruby or Python web app may take less time to get going, but if you're going to run an Amazon or eBay you need something that scales up.
Now, I have no idea if this is true, it's just what they say...
Note that the evidence for "J2EE is more scalable" is hearsay. Is it more scalable? Well, I don't know. What I do know is that Smalltalk scales just fine - we have plenty of customers using it on large scale intranet and internet projects - and it scales just fine. The key point to remember here is that you'll make much faster progress with Smalltalk than you will with J2EE. You'll also find it easier to modify and maintain the application down the road - dynamic typing makes for more malleable code. Java applications tend to get more brittle and hard to change as they get bigger; this is much less the case with Smalltalk - mostly due to the dynamic typing.
What Java has going for it - and it's an important and useful thing - is large vendor support (IBM) and marketing. What Smalltalk has going for it is stability (mature libraries, well tested over decades) and ease of use. If time to market is important to you, you owe it to yourself to at least have a look at Smalltalk. Evaluate it yourself and make your own decision - by all means, don't just take my word for it.