Matthew Huntbach takes a long hard look at the coolest language on the planet and is distinctly under impressed by what he sees…
Friday 16 March 2007
by Matthew Huntbach
Tim Sweeney’s talk The Next Mainstream Programming Language (PowerPoint PPT) is in many ways an antidote to the recent Ruby hype. Tim calls for the use of stronger types to ensure program reliability. He praises the academically-developed Haskell functional programming language. He raises concurrency as a feature which must be tackled in the next big programming language, using a better model than the shared state with threads and mutual exclusion devices used by Java - and by Ruby - (...)
I am happy to report that this computer programmer agrees entirely with your observations and I suspect everybody who actually grasps the craft (as distinguished from those who just claim to) will also agree. I purchased a book on Ruby and was immediately disappointed. It was obvious there was nothing Earth shattering about the language itself. It was nice to see a typeless scripting language with a strong OO flavor, but the supposed "power" was clearly the domain-specific gems and the Rails framework. In terms of a general purpose programming language, Ruby is no less disastrous than [insert favorite scripting language here]. The author of the book babbled on endlessly about the virtues of Ruby without presenting any evidence other than his LOC argument. He bashed Java without providing a particle of evidence or logic to support his complaints.
Most web applications are a few pages and ROR is a great tool in that regard. Any idiot (literally) can jump in to ROR and start hacking out a horrible application. It’s the best of breed in the Quick ’n Dirty camp. Having said that, it’s also an excellent tool for generating high quality applications in the hands of skilled developers. ROR is a necessary and excellent tool. That it’s being hyped in a child-like manner by an army of nitwits doesn’t detract from that. Just remember, it’s a DOMAIN-SPECIFIC framework with an OO scripting language and NOT useful for general purpose programming. ROR is great for putting a thin veneer on a robust back-end with services written in Java and exposed as REST services.