Learning New Programming Languages

March 24, 2026

Every Year

Every year, except for a few years during high school and while I was in the Marines till a few years after, I have learned a new programming language. Why? Well, I was once told that during a career you are collecting tools you use. For me, one of those tools is the right programming language for the job at hand. I can’t pick the right one if I am only familiar with one. So I continually expand my toolbox.

How I Go About It

Every programming language has its target audience, its intended use. Some are general purpose, some are domain specific. Some are so nuanced that they are really just for fun and have no real world use. They are either interpreted or compiled generally speaking. The difference these days can be negligible, but it matters for some work. In any case, computing systems have gotten so fast over the years that it hardly matters in lots of situations.

In any case, I’m not getting to the point. So how do I go about learning a new language?

First, I pick a language. Generally its new on the scene or it is a language I would like to use in an upcoming project. These days though its generally just because I want to learn the language and maybe compare it to others I have learned. It seems there are new languages coming out all the time. Heres a few I can name off the top of my head, some I have learned, some I haven’t yet.

  • Go
  • Rust
  • Dart
  • Odin
  • Zig
  • Nim
  • D
  • Crystal
  • Elixir
  • Julia
  • Haskell
  • Lua
  • Clojure

And on and on.. Always a growing list.. To learn a new language I generally start with the official docs. Then if there is an online playground at the languages website I will take their tour there. This all said, I learn the following in about the following order:

  • Language Syntax
  • Language Tooling
  • Data Types and Variables
  • Control Flow
  • Functions or Methods
  • Object Oriented Programming (if appropriate)
  • Functional Programming (if appropriate)
  • Concurrency
  • Standard Libraries and Frameworks
  • Best Practices and Idioms
  • Community
  • Real world projects
  • Performance and Optimization
  • Any advanced features or unique things

Thats the jist of it. In my experience many of these are very similar in a lot of languages. Afterall there are only so many base data types, and there are only so many ways to control flow, and so on. So after you learn a few languages it comes faster and faster.

Why Bother

Well, I think its fun for starters. Computers are fun and its nice to know different languages you can use to tell them to do things. :) Outside of that, another language is another potential tool for the job at hand. Some languages lend themselves to certain things more so than others. For example, if I was doing something say in a website, I might pick javascript. I almost assuredly wouldn’t pick C. If I was doing data science, I might pick python. A game, maybe C++. A systems programming project, maybe Rust. General purpose? Maybe it would be Go. Having options to select from is part of it all.

I suppose thats enough on that.

What languages are you learning? Whats already in your toolbox? Let me know at rayzprojex - at - gmail - dot - com.

Cheers.


Thank You! Feel free to share→Click!