On the night of the 25th of march, 2025, I challenged myself to explore a bunch of programming languages, inspired by a developer on youtube called tsoding (here's his challenge implementation).
The languages I aim to do are the following (in no particular order):
- Typescript
- Rust
- C
- C++
- D
- Go
- C#
- Lisp
- Lua
- Java
- Kotlin
- Haskell
- Python
- Php
- Perl
- Nim
- Zig
- Scala
- Groovy
- Dart
- Ocaml
- Pascal
- Julia
- Racket
- Ada
- Ruby
- Coffeescript
- Elixir
- Erlang
- Clojure
- Gleam
- Swift
- Prolog
- F#
- Elm
- Assembly
With 30+ languages comes 30+ potential headaches to set each up. I deal with that using docker.
Each solution has a dockerfile
setting up a minimal environment for the given language.
The following commands are helpful:
# 1. builds an image
docker buildx build --load -t container-name .
# 2. runs shell inside a built image and mounts the current folder to it under /app
docker run -it -v "$(pwd)":/app container-name /bin/bash