Programming Languages I Want to Learn - 2021
I always feel that there are too many interesting programming languages to learn. I used to keep a Trello board with different categories and lists, but that quickly became overwhelming and I stopped using it.
The idea here is to write everything down once, to capture the ideas - but to not make a to-do list. I'm not holding myself to the task of investigating all of these, but I do want a record!
Without further ado...
To a greater degree
C++
I really don't like C++. The syntax is outdated and unergonomic, it's full of features you shouldn't use, and the type declarations were inherited from C and can become correspondingly unreadable. My undergraduate college taught Ada and Java instead of C++, and I don't begrudge that at all - Ada in particular is a beautiful language I'm happy to know.
For the first time, I'm going to try to learn a language to make myself more professionally marketable, rather than because I want to because it looks interesting. The sectors my employer works in will almost certainly require C++, so I would like to get ahead while I can to prevent being overwhelmed later.
Rust
A palette-cleansing alternative to C/C++ for problem domains that would typically belong to those.
- memory safety
- strong type system
- pre-compiled
- deliberate concurrency story
- cohesive standard library
- strong 3rd-party package ecosystem
F#
I've written toy programs in F# (e.g. some Advent of Code solutions), but never anything serious. I'd love to become proficient enough that I could write production-level software in it and introduce it to other people as a functional alternative to C#.
C# and F# are even more attractive with .NET becoming fully cross platform.
- targets .NET, effectively cross platform
- can use C# libs, hence inheriting that ecosystem
- functional-first with all the goodies we know and love like sum types, partial application, pipelineing, and pattern matching
- cool-looking features like active patterns and computation expressions that I don't even understand yet
To a lesser degree
Julia
It's like Python was re-written from scratch with a real type system and numpy/scipy baked in.
Kotlin
Need to write Java but don't want to write Java? Well then.
Crystal
Ruby syntax but supposedly really darn fast.
Elixir
I'd like to try a BEAM language, but Erlang seemed to daunting.