Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What happened to interest in FP recently?
10 points by platz on April 5, 2023 | hide | past | favorite | 12 comments
Is it just me, or was the high-water mark for interest in FP in general around 2016-2017 ?

There was lots of discussion and debate around that time on topics such as static vs dynamic, clojure vs haskell, java vs scala, oop vs fp, js vs ts, new languages vs established languages, conferences devoted to FP ideas, etc...

I think it's probably obvious that devs, who have free time, use their attention to learn on whats trendy. (Rust probably took some wind out of the sails of haskell in terms of mindshare, for example).

I'm not sure what trendy is moving to these days, maybe AI, but do devs really program against large AI models, or just play around with chatgpt.

If not, what are they interested in with regards to tools that materially affect their career?

- What happened to interest in FP (measured in frequency of online discussion)?

- What happened to all the debate around languages?

- Is Rust still trendy in dev mindshare?

- Are these debates over/resolved?



+1 daydream's comment on LLMs.

But I think the steam on FP hype was already starting to run out for unrelated reasons.

The briefest account I can offer on "peak FP" from my (web developer) perspective is that

1) functional programming was already enjoying a moment of renewed interest and vitality due to the increasing ubiquity of multi-core,

2) React/Redux -- which ~solved[1] many problems with increasingly complex frontend web/mobile state management -- really started to become mainstream around 2016-2017,

3) Node/TypeScript was in the midst of an popularity / enterprise adoption explosion (in part due to #1) and only served to amplify the general enthusiasm around FP among JS-literate engineers (in part due to #2).

In the intervening years, the React paradigm more-or-less "won" and multi-core is taken for granted. A huge chunk of our industry has probably never known a time where FP wasn't celebrated. For that reason, it no longer seems to be answering any pressing problems, and naturally there are fewer articles being written about it.

[1] I expect this to be a point of consternation, since this is HN, but the point is that React was at least _perceived_ to have been an antidote to a variety of issues people faced with Angular, Backbone, plain old jQuery apps, etc. and the unifying theme of those issues was (rightly or wrongly) perceived as "OO / mutable state bad."


FP = Functional programming.

Yea, everyone else probably knows that. But maybe I'm tired, but it took me a while to parse that.


Most languages have incorporated something of FP. From cosmetic map and filter functions, to type checking were there was not much — in Python: Pydantic, mypy, pyright, etc. — to better versions of js with types (TS). In this sense, the influence of FP has been great.

IMHO it would be more productive if you defined what definition of FP you are using, because it seems very broad.

As for what is trendy, I am afraid I cannot help there.


My observation is that LLMs and AI are sucking the wind out of the sails of just about everything.

And when it comes to LLMs/AI a lot of the code used to train, run inference, and actually use in products is Python, C/C++, and maybe JavaScript. Not Haskell or Clojure or Lisp or anything like that.

Basically the FP discussions are old news.


And that's great. FP is 1930s technology and rehashing because of JS it did not lead to anywhere new. LLMs are 2010s tech and they are really mysterious. Why do these bunch of similarity matrices when plugged together like this make such interesting continuations? It's just so much more interesting when we don't understand something new.


if anything I would think FP to take off a bit because of its parallelism properties.

with regards to AI I would think most of the developers should be in state of dismay, the clock is ticking, and I dont think many have realized this yet...


Assuming you're right (which I'm not so sure about, or at least not "in just a couple of years" like some people are screaming).

Good. I'm getting a little beat down by this industry anyway. I've had to deal with so much bullshit over the years, and have gone about 8 years without a break in it.

Society will probably break down a bit if we ever get to the point of replacing programmers anyway, as so many other jobs are similarly going to be affected before then, so whatever. In the meantime I'll start saving up money to buy some land in a rural area near a big lake, that should last me for a bit while the cities burn.


might as well be couple of years if the trend continues and there are no disruptions (such as: hugely increased demand for SW, regulation or ban on AI), that we might see significant decrease of people employed as sw engineers.

keep in mind big tech pays huge salaries and the rest of the companies see software development departments as cost centers so the incentive to get rid of people is huge everywhere...

buying a land somewhere remote is not a bad idea if u can afford it anyway


Big tech is slow to adopt things, though, especially large corporations.

Also there's potential legal or copyright issues with A.I. generated code so I haven't dared use it at my job, for example. We already have to get explicit approval for any third party package we use, and that approval can take months.

Not only that, but I also don't dare describe anything about the company's business logic into these things because there's potential privacy and security concerns, and the company is super paranoid about all that.

This company is still trying to finally retire their (20? 30? years old) mainframe computers, as an example of how slow things can go.

And even if people use A.I., they have to learn a whole new language of how to coax it to get the results they want. They already struggle to clearly state requirements to engineers as is, or seem to not really know what they want there. And these same people often struggle to even use Excel half the time.

This fear kind of reminds me of the outsourcing fear a couple of decades ago. Everyone thought that engineers in the U.S. were totally screwed, that all engineering would be outsourced, because it's cheaper elsewhere. I was also worried, as I was in school studying this right as all those predictions were flying about.

Well a bunch of corporations did try to outsource everything, and the quality of their software suffered enough that they were eventually forced to roll back a good chunk of their outsourcing (not all of it, of course, I have three offshore devs on my team right now).

I suspect it's going to be that way with A.I. as well. A.I. will be able to handle things to a certain extent, but be terrible at the complex business logic and vague requirements and stitching all sorts of technology together in a holistic way, for quite some time. And businesses will get all excited about saving money and jump onto A.I. coding everything, and make a big old mess out of things, and then they're going to have to hire skilled engineers to untangle the messes or just plain rewrite major chunks of it.

Eventually that might not be the case, but I think all this taken together is going to slow things down enough that I can probably still count on retiring as an engineer, if I wanted to (I'm starting to really not want to).

I can see life getting harder for junior engineers in the near term (less than five years), but I think it's still very early to be all that worried about most engineers jobs. Although a year ago I would have put that timeline out 30-40 years. Now I'm willing to believe it could be 10-20.


I think a lot of Haskellers just got tired of arguing. I know I do so way less than back then. But I am writing Haskell more than ever nowadays (even at my dayjob!)


If you don't mind me asking, what do you use Haskell for at work? Also was the company using Haskell before, or did you bring Haskell to the job? It's always fascinating hearing stories about people using less common languages like Common Lisp or Haskell on the job!


I've only ever joined Haskell companies (although I did use it for a startup of my own once!)

I would generally categorize what I do as "backend engineering." The domains have been all over the place. Crypto, fintech, adtech, data engineering, SaaS, infra automation. Lots of Postgres and a bunch of other tech (Redis, Kafka, other KV stores).

The places end up finding me (usually through LinkedIn where I make very clear that Haskell is what I'm about).

It's been fun! I've met a lot of nice people, and I got paid to climb way over the Haskell learning curve. Can't complain :)




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

Search: