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.

Popular General Dev topics Top

New
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
Jase
Why does it have to take users screaming to get stuff like this fixed ESP when a service say " Tired of being tracked online? We can help...
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
What can the industry do to be more green? We use carbon-neutral servers here, but it’s still not quite enough. Is there anything out t...
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
AstonJ
Just noticed this on Apple’s homepage: This image highlights quite a good case for miniaturisation of tech - smaller hardware means...
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

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
AstonJ
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
Exadra37
I am a Linux user since 2012, more or less, and I always use Ubuntu on my computers, and my last 2 laptops have been used Thinkpads, wher...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
New
First poster: bot
The overengineered Solution to my Pigeon Problem. TL;DR: I built a wifi-equipped water gun to shoot the pigeons on my balcony, controlle...
New
New
PragmaticBookshelf
Author Spotlight: Tammy Coron @Paradox927 Gaming, and writing games in particular, is about passion, vision, experience, and immersio...
New
PragmaticBookshelf
Author Spotlight: Sophie DeBenedetto @SophieDeBenedetto The days of the traditional request-response web application are long gone, b...
New