wolf4earth

wolf4earth

Why isn't Functional Programming the Norm? - Richard Feldman

Continuing the discussion from Elm-pages: A statically typed site generator:

@AstonJ asked me to create a thread to discuss this great talk from Richard Feldman (watch the whole thing, it’s totally worth it):

So what’s your take on his arguments? Do you think he has a point? And do you think is conclusion - that functional programming is indeed becoming more prevalent - is correct?

Most Liked

AstonJ

AstonJ

This was a great talk and it was really interesting hearing about the history of some of the languages he talked about and why he thinks some might have been successful and others not.

My own thoughts about the success of languages boils down to how satisfied people are when using them - and that criteria can change depending on the language and circumstances it is (or has to be) used for.

Javascript. How did satisfaction lead to its popularity? To begin with people didn’t really like JS at all! It’s only when it became the only way to do certain things in the browser that it took off - people were satisfied because it allowed them to do things that couldn’t be done in any other language (as no other language could be used in the browser like JS could). Would Javascript be as popular today if you could have used Ruby or Python or other languages instead? I would think unlikely.

Ruby. Ruby is a great example of a successful language used out of choice. The criteria for satisfaction here is different, and I think this is where it gets interesting and this is where language creators need to pay more attention - by asking themselves why some people are more satisfied when using one language over another. Probably too big of a topic to go into here but most of us have ideas why language such as Ruby are some of the most loved languages around.

Python. Python shares much of the satisfaction level with Ruby (originally people chose to use it), but over time it has also some of Javascript’s advantages - that it’s much easier to do some things with Python - because so many others are already doing it with that language, meaning the tooling is better than in other languages (machine learning etc) which means it’s more satisfying to use in those areas.

Satisfaction

Sometimes people will need a highly concurrent solution - some languages excel here more than others and how well they do it impacts that satisfaction level. Other times people need a super fast language and again how fast they are impacts that satisfaction level. But there always has to be some sort of balance in the level of satisfaction - being the fasted language out there would not be much good if it was near impossible or just too difficult to use. So there has to be a balance.

Functional Programming

So bringing this back to functional programming - why isn’t it the norm and what can proponents of functional languages do to help make them more popular?

  1. I think it’s as simple as this: if somebody doesn’t need to use a functional language - then you need to target satisfaction criteria centred around choice (syntax, ease of use, killer tools/libraries, fun - or a combination of all those or anything else that would make someone want to use the language).

  2. If the language is being used as more of a necessity - then keep improving in those areas to keep you being a prominent choice in that space but start focusing on some of the other satisfaction criteria too - and definitely don’t become complacent - other languages won’t be standing still and while you may have little competition in your particular area right now, chances are that advantage is only temporary.


These are just my initial thoughts and could definitely do with some refinement, but curious as to what others think too.

Where Next?

Popular General Dev topics Top

asgartech
I know we tend to talk a lot about passion, but I find that more often than not “passion” means being willing to work anyway between five...
New
andresriveros
Every other year since 2009, Planet Argon collects information to know the state of RoR community and trends. Previous results: If you...
New
AstonJ
This is fantastic! On Thursday, Twitter’s engineering division tweeted out a set of words that it wants “to move away from using in f...
New
New
AstonJ
…like say the pharmaceutical industry? Perhaps stemming from reports of Facebook carrying out psychological studies on its users without...
New
AstonJ
Inspired by the Bletchley Park thread, I was wondering what each of our countries may be famous for in computing. Perhaps a language was...
New
wolf4earth
Continuing the discussion from Elm-pages: A statically typed site generator: @AstonJ asked me to create a thread to discuss this great t...
New
First poster: bot
In the photo above, a Wii Remote is sitting on a table next to an open window. People who grew up playing the Wii might remember it; whil...
New
First poster: bot
Social media has drastically restructured the way we communicate in an incredibly short period of time. We can discover, “Like,” click on...
New
ggarnier
I just finished reading “Effective Remote Work”, and I really liked! But one thing I disagree is when the author calls the Covid-19 pande...
New

Other popular topics Top

AstonJ
Or looking forward to? :nerd_face:
483 10427 254
New
AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
mafinar
Crystal recently reached version 1. I had been following it for awhile but never got to really learn it. Most languages I picked up out o...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
rustkas
Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New
AstonJ
Biggest jackpot ever apparently! :upside_down_face: I don’t (usually) gamble/play the lottery, but working on a program to predict the...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New