What is the most underestimated programming language?

Everyone outside of tech has heard of JavaScript, Java, Python, Ruby and even .Net, but few if any have heard of F#. However, F# may be one of the world’s most underestimated (and underrepresented) languages today, if developer surveys and web chatter are anything to go by.

StackOverflow’s 2018 developer survey revealed the startling fact that F# is the world’s most highly paid language, and the 8th highest paid language in the US. Is this because F# is the most sought-after language? Not exactly…

This thread was posted by one of our members via one of our news source trackers.

Corresponding tweet for this thread:

Share link for this tweet.

Coming from Elixir, I’ve found the F# in the book Domain Modeling Made Functional almost absurdly easy to read. The book was recommended by a friend to help with thinking about a project in Elixir and Phoenix.

But I have a question: how much stuff other than F# do you need to learn in order to really use F#? Do you need to learn the whole .Net universe, and do you need a good grasp of C# to actually use F# in a real project? How tough is that stuff?


Not sure if this is any help to you @malloryerik - but spotted it and thought of you :smiley:

1 Like

Sadly my personal life struggles and work load have made me severely reduce my exploratory walks on the internet for such an underrated pieces of tech.

But from some months ago I still remember The Unison language. Having the language itself find and cache common sub-structures inside it as content-addressable DB definitely sounds like the future to me.

Plus the older I get the more cranky I get about “language X is best! no, language Y is better!” stuff. Fact is, I haven’t found an excellent language, ever, and believe me I tried.

Another thought while we’re on this: I believe in the near future language syntax and runtime implementation will get separated. One example in how this is already happening are all languages that use LLVM for their compiler backend – Rust, Gerbil Scheme, and many others.

So if there’s an underrated language / tech out there, it should emphasize on a few key elements – mostly ability to mutate the code easily with tooling.

Classic programming will die in the next few decades. There’s a huge pressure to be able to issue commands like “remove this route” or “add this REST API endpoint” or “add a property test for module X with limitations A, B and C”. And I’d love to work on that but hey, nobody is paying for it so for now it’s just a hobby… hobby for which I scarcely have the time. sigh


Language aside, did you find this book helpful in the context of Elixir?


Another language that is underestimated is Fortran (I mean modern Fortran 2003 and up). Despite its age Fortran is really powerful language and if used well quite modern - it has modules, pure functions, interfaces, OOP, operator overloading, direct interoperability with C, native multidimensional array operations (like Matlab or NumPy). Also speed, for numerical calculations nothing beats Fortran.

1 Like

So far parts of Domain Modeling Made Functional have been quite useful, yes.

I’ve been confused about how to structure an app, and Scott Wlaschin’s book helped a good deal with thinking about how to organize contexts, modules, how to think about them communicating with each other.

Unlike Elixir, F# is statically typed, and Domain Modeling Made Functional turns the custom types knob up to 11 to match the way non-programming stakeholders in a project might think and talk (no strings or ints or floats). It’s awesome, actually. I’m guessing that similar moves might possibly work in Elixir with embedded Ecto schemas or module structs made just so. But I haven’t tried anything there yet, but it certainly helps to have in my mind while I’m setting up a schema for example.


Thanks for the detailed response. I’ll have to give it a go!

1 Like

You might like this Paul:


1 Like