Choose your preferred version of simplicityKing and Hickey agree that removing complexity is a goal. King views his job as being the "nasty ogre who says no all the time," trimming unneeded features and syntax. Hickey believes that "we can build better software using significantly simpler constructs and techniques, with a corresponding reduction in complexity and increase in robustness."
At first, it surprised me that each language's creator directly or indirectly identified simplicity as his goal, as well as how differently the three creators and their languages' communities define what simplicity is. For Ruby, it is about a language that feels natural and gets out of your way to do what you want. For Clojure, it is about keeping the language itself simple. For Ceylon, it is a compromise between enabling the language to help, in King's words, "communicating algorithms to humans" and providing proper tooling support: the same general goal, three very different results.
I've found the Ruby, Clojure, and Ceylon communities all very friendly and approachable. Developers looking to pick up a new skill cannot go wrong trying one of these on for size. Managers looking to find a better fit for some of their software problems that just don't fit Java or C# will find help in these communities, as well. Ruby, Clojure, and Ceylon can all be used on the Java platform with existing APIs, so you can easily choose to mix and match the vision of simplicity that suits your problem space. But this polyglot language architecture may create its own form of complexity.
This article, "Ruby, Clojure, and Ceylon: Same goal, three very different results," was originally published at InfoWorld.com. Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter. For the latest business technology news, follow InfoWorld on Twitter.
Read more about application development in InfoWorld's Application Development Channel.