Hacker News new | ask | show | jobs
by auggierose 4645 days ago
Here are a few languages you could choose from (my favourite currently would be Scala):

Scala (http://www.scala-lang.org/) Clojure (http://clojure.org/) Haskell (http://www.haskell.org/) OCaml (http://caml.inria.fr/)

1 comments

Have you tried to employ experienced developers to support a codebase in any of those languages?

As much as I dislike it, sometimes PHP is "the right language".

Actually knowledge of of any those is a proxy for the general quality of those developers. They could end up writing C++ but the fact that they went out and sought to learn language they thought was beautiful or had a different paradigm tells something about them.
I get that it is possible to generalize public opinions and say that something is "objectively" beautiful, or ugly. But I don't get why people familiar with those three languages always praise their functional purity, as if imperative languages are barbaric. How come there aren't ugly functional languages?
I'll talk about Erlang for example. Functional purity is objectively beautiful because it solves or minimizes a large number of typical problems. These problems such as large mutable states, large mutable state modifications during high levels of concurrency. A good functional language, using closures can mimic other patterns while having a very small core set of rules.

Purity doesn't mean moral superiority (although it sounds like) purity means referential purity for example, where the function when called no matter how many times with the same argument returns the same result. That is beautiful because it allows for interesting compiler optimizations, good for testing. Other looser explanations of purity are -- confinement of mutable state (this could mean monads in Haskell modifications to shared global state), immutable data structures in Erlang or Clojure.

Now that said these are all tools. As I mentioned, in practice, a lot of these people in their day job will end up using Java or C++. But the fact that they decided and managed to learn a new paradigm is what is the key.

Heck it could have been data-flow programming or logic programming (Prolog is awesome too, especially when mixed with constraint satisfaction).

Yet another way of putting it, familiarity with these things point to a level of passion and sets someone apart, that is quite desirable. Now, yes, there is a self-referential quality to it all, the more we think functional programming is a proxy for developer quality, the more people will do tutorials just to put it on their resume. Well, then the next fashion will be something else -- quantum algorithms perhaps, who knows.

I am sure those high caliber gurus will have no problem learning javascript overnight. That wll be excellent addition to their toolbx for that rare case when their internet enabled fridge gets hijacked
Consider that they might be avoiding Javascript knowingly.
Typically if they are the type of programmer inclined to learn Clojure, Haskell, and/or Scala the experience part isn't a problem.
On the other hand, a quick straw-poll through my contact list - out of all my friends/colleagues who I'd guess have used (or even heard of) those languages, I don't think a single one of them has been "on the job market" in the last 4 or 5 years (they're all either comfortably long-term employed at their present gig, or they've been successfully running or partnering small consulting firms of their own).
That is where good headhunters come in. I don't have a linked in account, Facebook or google+, and am quite happy at my current job, yet get calls from google or other companies periodically. Still don't know how they find me out, I do go to conferences so maybe they buy lists of attendees...?
Two comments:

1) I'm guessing (by reading between the lines) that you also haven't "been on the job market", and haven't been plausibly tempted to "jump ship" to any language-purist position?

2) <cynical mode> Just because you haven't set up LinkedIn/FaceBook/Google+ profiles yourself, that doesn't mean they don't all have "shadow profiles" for you based of the social-graphs they've got where your colleagues/friends have "leaked" information about your existence to them and enabled them to infer skills/abilities from them… I don't _know_ that they sell data from "shadow profiles" to recruiters, but I do suspect there's enough money in tech recruitment to make it likely…

Yes, for those types of programmers, finding them is the problem.
This has been demonstrated to be false over and over again. There is a surplus of functional programmers, and a deficit of functional jobs.