Will a Two Tier Market For Developers Emerge As a Result of Scala & Clojure?
java.dzone.com
java.dzone.com
What does interest me is that it seems to me that there is already a two-tier system separated more along the type of work. I've met a few people recently who are consultants in quite esoteric things (compared to "standard") development - often things like IT consulting to companies working on more hard science problems like physics or chemistry/biochem, maybe machine learning these days, and they're frequently using functional or otherwise fringe languages. Similarly, I'm guessing people like Peter Siebel don't have any trouble finding work in lisp. I get the feeling there's sort of a subculture of really interesting work, often in interesting languages, that is just not accessible unless you're exposed to it somehow. Certainly I've never seen job ads for this sort of work.
Any ideas about this? Is anyone out there actually consulting using Scala or Clojure? How did you get into it? How does it work - do you set the terms of the contract, such as which language you use? Any other experiences or opinions?
That said, I don't think that language matters that much - I agree with your first comment. Personally, I don't care much if I develop in Lisp, Ruby, or Java when I help people since most customers request languages appropriate for what they want done.
Could you comment a bit on how you got into working like this? It's always interesting to hear how people get into working in things that are out of the norm.
I wrote two Lisp + AI books for Springer-Verlag a long time ago so I think people associate me with Lisp use.
The revolution comes in multiple, overlapping waves, whose frequency is measured in decades.
Well, maybe, Lisp, 3-4 decades ago, was.
From common lisp, Clojure is a very interesting step. It's much more practical and has a modern structure-reduction style that common lisp predates. It also has all the might of the jvm and that strong and community behind it; the comprehensive std lib that was common lisp's original advantage now looks small and dated in comparison.
As for Haskell, a similar situation exists with Scala. Haskell will continue to be an interesting platform, but the huge amount of work to adopt many of these concepts to the jvm and an object-oriented world have a lot to offer people.
The other hidden benefit is that the jvm can be a new common platform, with java as the new "C glue" layer. You can realistically write a library in Clojure and have it a client to Scala code, which runs critical services inside a JRuby rails app.
So yes, the jvm language community is coming together with big value propositions quickly. They're beginnig to coalesce in a way the CLR family of languages never really has.
P.S., All the languages named here have value and interest and a lot of hard work in them. I have my current set of preferences and opinions on what I'd like to work in, but I don't want to imply any derision towards any of them.
Scala and Clojure both provide higher level facilities for concurrency then Java, Python or Ruby.
Scala and Clojure both have solutions for the expression problem, a very real issue when growing code bases (every OO language should have this)
Clojure provides metadata - a lovely concept of attaching information to an object w/o affecting it's value or needing to 'wrap' it in a class.
All these things add up to a significantly more productive experience. Especially as a project evolves over time.
[0] Feel free to replace this with hope if you feel I'm overly optimistic.
Already existed for OO. (Back then Smalltalkers were amongst the highest paid programmers.) Now OO is mainstream, so not so much anymore.
If there's going to be two tier market, it's going to be achieved by a revolution in interviewing, not by a revolution in languages.