This made me happy.
This made me happy.
Also don't forget Haskell.
For those not in the know, these are programming languages used mostly for developing mathematical proofs. They are all dependently-typed languages, which means that a type can depend on the values it contains. For example, you can constrain a function to only accept lists of a given length in a way that can be type-checked.
Just in case that went over your head and to reiterate, that means that:
printf "Hello %s" 4
would generate a type error, so would: printf "Hello %s" "wor" "ld!"
and: printf "Hello %s! %s" "world"
but: printf "%s %s!" "Hello" "world"
wouldn't.From what I've seen it's been a one-way street from Java -> Scala. I've yet to meet anyone who wants to go back to Java after Scala. Play! is written in Scala by the way...
Those users may be core Java developers who don't use any frameworks. If you ask me, Scooter is quite is easy to port any Ruby code easily than any other Scala frameworks out there. Scala adoption is killing Play community (2 times it got forked due to the difference) and that's why they now market it for both Scala and Play. As someone mentioned in Play forum long time ago, Scala is not suitable for team due to its readability. Heck I myself (and our team) used Scala and moved back to Java Play.
Going through the HN job postings, my findings are:
Ruby with 6.5 jobs
Python with 4
Java and ObjC each with 2
Node.js and CoffeScript each with 1
Sorry for not sourcing anything, I don't want a massive post. Seems Ruby is still pretty cool. Anyway, this is quite the normal distribution here from my experience. And in the interest of full disclosure -- I am not a Ruby developer.