Yet another new programming language
I came across yet another new programming language today. This one is called Nice but they seem to crop up every week. The feature set for this language just doesn’t seem compelling enough to care.
I’m generally a fan of using language constructs as a way to make programming more effective. New languages come at a cost however.
- Learning curve
- Adoption resistance
- Immature implementations
- Immature and incomplete libraries
When starting down the new language path, the benefits need to obviously outweigh the almost unavoidable costs.
There are some interesting examples that mitigate the costs. Languages that leverage existing runtimes and libraries like the CLR and even Java have a tremendous advantage. This seems to work better for new languages than legacy languages. I’m sure that IronPython and IronRuby can invoke most of the CLR libraries but both languages have such a rich “standard” runtime of their own that it’s always going to feel more right than calling out to System.Console.Writeline.
My friend Darren hates all languages other than Lisp. He thinks that syntax is the original sin. The Lisp parser combined with macros make it possible to extend the “language” as needed. While I still like Ruby, I’m hard pressed to disagree with any of his arguments. I’ll write more on this topic another day.
