Hacker News new | past | comments | ask | show | jobs | submit login

Well, is not all the new trendiness in functional programming some evidence of the answer to this?



New to who?


As someone who studied SICP in the 80s and continued on to ML, etc., I can say that even though functional programming is far from dominant now, it's way trendier than back then, so much so that there's just no question.


It's the trendiness that is new, not FP itself. And, it appears to be new to a majority of the working developers in the world.


Pretty much everybody in the industry? Even new college grads don't seem to know much about FP.


I graduated in the late 90's.

We got to use Caml Light, Lisp and Prolog across a few semesters.

There were also some references to Miranda and Objective Caml.

I guess it is a mirror of the quality of the university more than anything else.


I graduated in the mid-90s. I remember using lisp and ML in multiple classes. We also used Prolog although that's not a FP language but it is certainly non-traditional.


Good. More for me.


I don't think that's good. Knowing FP is not really a competitive advantage if nobody uses it.


Disagree. I've found over the years that I pick up new programming languages rapidly. I attribute this to already having a broad base of experience in different paradigms and techniques such that at this point everything is just a variation on something I've worked with before.


But can something that everybody uses become a competitive advantage? Intuitively that doesn't seem true to me, although it would be an interesting dynamic if it was.

So it seems like you need a small collection of successful early adopters to prove its value instead as a middle ground for there to be any concentration of advantage at all.

I assume you're putting "competitive advantage" in reference to "gets me hired" instead of strictly "gets the job done well", in which case, yeah, someone hiring someone else for the way they get a job done rather than their ability to do so would probably get you stuck. You could fake your way in.

Otherwise you might be referring to "no one will get my code", which is also a legitimate concern.


I think you are probably better off being a top performer in a very common field. There is more opportunity that way. If you are lucky you can also be an early adopter in a growing field and ride the wave.

For example, Erlang and Haskell are cool languages and probably a technically better choice but I am not sure being an Erlang developer is a good choice for career development. There are not too many options for working in that field.


This strikes me as completely the wrong way to make decisions. If you're taking it as a given that you're a top performer in a common field, then yeah. You might as well assume you're a billionaire and argue how many doors that opens for you.

But you're not a top performer in a common field until you've committed years of effort to not being a top performer in that field. And you can hardly argue that the world is a worse place because someone wanted to be the world's best yodeler instead of the best truck driver.


What made me think that functional programming is worth being aware of is that good testing practices head towards things done more easily in functional programming, pretty quickly. Programming in functions guarantee a compartmentalization of state and a determinism of the result (as opposed to non-determinism).

Procedural programs and Object-Oriented programs need to postulate concepts like design-by-contract, assertions with explicit precondition/post-condition checks, and unit testing suites as a form of insurance against non-determinism and poor compartmentalization. So it's possible to get this kind of control but only after writing a lot more code.

Going completely stateless is probably foolish though.

As for your heuristic: yes, I agree, a top performer in a common field is a safer bet and a sound strategy. If you're able to secure yourself properly you won't be overcome by a large increase of top performers, if such a thing is possible. We have a lawyer over-supply so I guess in some fields it is.


You don't have to be an "X" developer. Developers can know more than one language, and knowing functional programming can definitely be a competitive advantage, even if you don't typically use functional languages.


There is at least 3 to 4 years of fp hype. I don't think the hype is still hype. Who think ls it is something new is a laggard in the hype sense.


I used to work in financial services, and functional programming was a very new and alien concept there, even in 2016.


Not in all banks. Standard Chartered and Barclays have probably the largest Haskell codebases in existence. Many others are investing in Scala (e.g. Morgan Stanley). It's probably more of an alien concept to the likes of Google and Amazon.


Google has a fair amount of clojure, or at least they did at one point of time, although it was inherited from an acquisition.


Ah yes Clojure, Citigroup had a team of 70+ fulltime Clojure developers in Credit last I heard. The examples I'm giving are all strategic commitments to FP by senior management. The Google situation sounds more likely to be viewed as a "problem" by them as (last I heard), Clojure was not on their white list.


The industry as a whole




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: