CommunityNews

CommunityNews

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…

https://medium.com/skills-matter/what-is-the-most-underrated-programming-language-fafe164a8cd1

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

Most Liked

malloryerik

malloryerik

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.

malloryerik

malloryerik

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?

dimitarvp

dimitarvp

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

Where Next?

Popular Backend topics Top

lpil
Shayne gave this excellent talk the other day on Gleam, so I thought I’d share it. From my point of view it was really interesting to se...
New
New
First poster: bot
It’s not legacy code — it’s PHP. Vimeo has been using PHP in production for over 15 years. Find out how we keep a million lines of PHP i...
New
First poster: bot
Such inflammatory, much wow. Unfortunately, Haskell itself agrees. Some languages naturally lend themselves towards adoption. Some don’t...
New
First poster: bot
In this post we’re going to be looking at a more advanced use of Gleam’s type system, known as phantom types. Hopefully by the end of thi...
New
First poster: bot
Django 3.2 is just around the corner and it’s packed with new features. Django versions are usually not that exciting (it’s a good thing!...
New
First poster: bot
The run-time speed and memory usage of programs written in Rust should about the same as of programs written in C, but overall programmin...
New
First poster: bot
Once a year, I look back at the recent developments in the PHP world, and also look forward to what’s to come. And just like in 2020 and ...
New
elbrujohalcon
Erlang is famous for its introspecting powers. You can get a lot of information about the processes running in your nodes without any ext...
New
StuntProgrammer
In building lofi.limo, media storage and distribution naturally came up. I have songs, announcements, and background image loops which I ...
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
New
PragmaticBookshelf
A masterclass in the fundamentals and principles of functional programming. Minh Quang Tran The Art of Functional Programming is a ma...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New
PragmaticBookshelf
As digital systems increasingly run the world, mastery of the recurring patterns of software development risk is the key to fast and effe...
New
pragdave
Build robust LLM-powered apps, chatbots, and agents while mastering AI engineering principles that will help you outlast the tools and th...
New