Ask HN: Why are you using Functional Programming?

14 points by _v7gu 5 years ago

I know it looks the same, but the above question acts like two different questions depending on whether you are a programmer or you hire people.

If you are a programmer, do you feel that FP makes your life easier? Is it more fun? What are the advantages of this paradigm compared to others? Do you feel advantaged/disadvantaged when looking for a job?

If you are in a position to hire people, why did you feel the need to deviate from the corporate "norm"? Do you think FP gives you a competitive advantage in your field? How has this choice affected your hiring practices? Is it harder to hire due to the smaller number of candidates, or is it somehow easier?

BFLpL0QNek 5 years ago

I use functional programming as I've done my fair share of fixing stupid bugs at silly times in the morning and the resulting firefighting.

In my experience, I/teams I've worked on produce fewer bugs, FP, referential transparency, everything being an expression also helps for easier automated testing.

It took me a lot of persistence, effort and time to get comfortable with FP after years of imperative and oop programming, I might of even be heard to say "that's too academic, you can't use that in real life" only a few years later to realize how wrong I was!

For the most part as an employee, it's limited me as few employers care about such standards/quality and just want easy to hire/most popular, it's good enough let's move fast and break things. At one time I'd happily write idiomatic Java, Javascript, PHP, etc as done so for 10 years+, now I sit poking fingers in my eyes when I have to touch them.

As an employer or when I've been on the recruiting side for my employer, generally, the talent pool has been a lot smaller, extremely smaller however people that have applied have generally been at a higher skill level.

elamje 5 years ago

The question deserves more attention.

Personally, I am just getting started in the FP world and I haven’t yet had the chance to make money with FP.

The toy projects I have worked on have literally made me into a total CS nerd and now I love programming. Why does that mean anything? Well I got through undergrad in Comp Eng., several internships, and my first job questioning whether or not I picked the right career. I have been using Python, Java, Javascript, and C# for a few years, yet 2 months into Clojure, I’m convinced it’s my calling.

I finally see a future with me programming in it, and so far I have only really touched Clojure and emacs.

I can see on an application level that the code I write in Clojure vs the code I write in C# does a lot more with a lot less lines and characters.

I don’t really care about the numbers of lines or whatever, but the expressivity and syntax is amazing compared to Java, for instance.

I have yet to discover how hard it is to get hired for FP, but I would imagine being young and inexperienced compared to many professional FPers, would make the job search quite difficult.

I actually just started a list of companies to help myself and others find work in the future:-) https://github.com/elamje/FunctionalProgrammingCompanyList

fulafel 5 years ago

I feel it's definitely more fun. There are few new things to say about the advantages. Clearly isolating state management from side-effectless code just enables a lot of very nice things. FP gets you thoughtful and openminded coworkers.

There is definitely a hiring advantage in our case, attracting good programmers who came to us mainly because they wanted to learn FP or were already using FP, but probably depends on what your local job market is like.