flyinghyrax.net

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++

https://isocpp.org/

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

https://www.rust-lang.org/

A palette-cleansing alternative to C/C++ for problem domains that would typically belong to those.

F#

https://fsharp.org/

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.

To a lesser degree

Julia

https://julialang.org/

It's like Python was re-written from scratch with a real type system and numpy/scipy baked in.

Kotlin

https://kotlinlang.org/

Need to write Java but don't want to write Java? Well then.

Crystal

https://crystal-lang.org/

Ruby syntax but supposedly really darn fast.

Elixir

https://elixir-lang.org/

I'd like to try a BEAM language, but Erlang seemed to daunting.