Scala, a Statically Typed, Functional, O-O Language
inkslinger77 notes a Computerworld interview with Martin Odersky on the Scala language, which is getting a lot of attention from its use on high-profile sites such as Twitter and LinkedIn. The strongly typed language is intended to be a usable melding of functional and object-oriented programming techniques. "My co-workers and I spend a lot of time writing code so we wanted to have something that was a joy to program in. That was a very definite goal. We wanted to remove as many of the incantations of traditional high-protocol languages as possible and give Scala great expressiveness so that developers can model things in the ways they want to. ... You can express Scala programs in several ways. You can make them look very much like Java programs which is nice for programmers who start out coming from Java. ... But you can also express Scala programs in a purely functional way and those programs can end up looking quite different from typical Java programs. Often they are much more concise. ... Twitter has been able to sustain phenomenal growth, and it seems with more stability than what they had before the switch, so I think that's a good testament to Scala. ... [W]e are looking at new ways to program multicore processors and other parallel systems. We already have a head start here because Scala has a popular actor system which gives you a high-level way to express concurrency. ... The interesting thing is that actors in Scala are not a language feature, they have been done purely as a Scala library. So they are a good witness to Scala's flexibility..."
I agree. Why learn the languages that 60% of all new code is written in when you can learn the latest niche language that barely accounts for .3% of all new code written and will probably be forgotten when Twitter rewrites itself in the newest and greatest flavor of the month in a couple of years. Clearly the GP is the stupid one in this.
Source: http://www.tiobe.com/content/paperinfo/tpci/index.html
Thanks for referring to me in the third person but you're making my point for me. Nobody wants to get mired into tedious code unless you're autistic or something. Programming should not engineering. It should be just design and design IS art. It's creativity. The engineering stuff should be taken care of automatically by the design tools. Anytime that "clarity of thought" and high salaries are necessary, it's a sure sign that automation would and will be better. Nobody can stop this kind of progress because the complete elimination of labor costs is one of the main goals of doing business in a capitalist system. Kind of ironic since the elimination of labor would destroy capitalism in the end.
Anyway, I do realize that my thesis is not going to get me a lot of love flowing from software engineers since what I am proposing will make them all obsolete, myself included. But, like it or lump it, this is the future. And it's much closer than you think.