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

DevotionGeo
There are 3 main formatters for Erlang which you can use from the command-line, rebar3_format, Steamroller elmfmt. Visual Studio Cod...
New
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
It’s easy to view yourself as “not a real programmer.” There are programs out there that everyone uses, and it’s easy to put their develo...
/c
New
First poster: bot
Like, on a scale from c to rust? issue c zig (release-safe) rust (release) out-of-bounds heap read/write none runtime runtime ...
New
First poster: bot
This post explains why Scala projects are difficult to maintain. Scala is a powerful programming language that can make certain small te...
New
First poster: bot
Just a small test with lists in cython. Considering echosystem, multithreading and ease of use, Julia is a clear winner here.
New
ragamuf
Does the world need another How to create a blog article? Maybe not. But then again, creating something out of nothing is what we love....
New
penelopa
Learn how set up an RTMP server for free using the open-source Red5 software. This tutorial covers all steps from downloading the code fr...
New
vkatsuba
Hi folks! Ukrainian Erlanger is here :sign_of_the_horns:! I’d like to share my recent talk at the TADSummit Online Conference, where I ...
New

Other popular topics Top

AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
New
PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
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
PragmaticBookshelf
Lint your docs like code: turn any style guide into enforceable rules with Vale and publish clear, consistent content every time. ...
New