If I were to start my career from scratch in 2014 I'd pick F#, and keep an eye out for Rust.
I feel like the near-reliance on Windows is the biggest issue for F#. Haskell fits the Unix environment a lot better.
If your goal was to be cool, then obviously PHP would be a terrible choice.
Seriously, I switched all of our development from Java/Tapestry/etc. to Groovy/Grails a few years ago, and really couldn't be happier with the decision. Grails isn't flawless, but it mostly "just works" and makes my life SO much easier than before.
No, it isn't the "flavor of the day" like node.js or what-have-you, but it works, it stays out of the way, and gets the job done. And it lets me leverage the decade plus of experience doing Java that I previously experienced. What more could you ask for?
>Though my tip though for the long term replacement of javac is Scala. I'm very impressed with it! I can honestly say if someone had shown me the Programming in Scala book by by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd probably have never created Groovy. -James Strachan
Play or Lift?
OTOH, I have generally been a fan of languages with static type systems, and I believe Scala tends to be a bit more performant than Groovy. I'll probably revisit Scala at some point, but right now Groovy is working really well for me.
That said, Rails, or any language developers are more familiar with, can be faster. At that point, I'd argue even static HTML pages might be one of the fastest MVPs to put together...
- If you do know programming languages, use the one you're best at (quicker to launch)
I'll refer to my previous argument for all of this: https://news.ycombinator.com/item?id=6169120
Objective-C is not a language option, but maybe because it's not a backend language? If iOS/Objective-C people voted for C++, they only have 3% now. So ~25% people want a fantasy iOS app but only 3% know native iOS = Objective-C?
16% of people think Javascript is a backend language? Hope those are votes for Node.js?
Papa just found himself a brand new hammer. Now to go find some more nails.
On the code side, I already know JS pretty well, though mostly from a UI-manipulation side. It was more like extending knowledge I already had, than having to learn something completely new. The slowest part was trying to determine which modules met my needs, then sorting through the myriad of somewhat confusingly- (or just plain badly-) written documentation.
The best part was being able to use the same language end-to-end. When I deal with PHP, there is always some context-switching between it and the other parts. This project flowed much more naturally and left me quite enthusiastic about whatever the next one is (I get a lot of latitude in devising solutions).
Some of the code is probably badly-written and I'll spend some time cleaning that up (first project in Node) for an update and there are still a couple of parts to write (shell scripts, mainly). There's also one key part that no-one seems to be able to solve (MD5 in Mono won't match the MD5 from JS), but we'll figure that out as we can ignore it, for now.
Really, given all the interruptions I faced during the process, going from zero to finished in two weeks of eight-hour days (including having to learn some things) feels pretty good.
The same project in PHP would have taken about the same amount of time, without having to learn new things. Admittedly, I'm a slow coder because I want to make it right the first time so I don't have to f* with it later, not just have a running solution. I'm not as thrilled with PHP as I used to be and half the time, I feel like I should reinvent the wheel, rather than just using a lib.
That's my informal review of the experience. Take it for what it's worth.
Growing very fast? Python, with C for high-performance components. Python's got great libraries for everything, and hiring Python and C programmers wouldn't be hard because those languages have a lot of users.
Growing typically fast? Clojure. Drop to Java if needed for extremely high performance demands, or if I need to hire fast.
Growing at a leisurely pace? I'd be tempted to try Haskell (and possibly switch to Clojure). It's badass, it'd be fun to learn, and some of the smartest people I know are big fans of it. However, with the "leisurely pace" (R&D) I'd be tempted to hire people only as smart as I am and let them use whatever they wanted.