Venture with me as I embark on the wildest code journey of 2023/24 β exploring 12 vast landscapes of programming languages!
Note: The inspiration comes from the Exercism 12in23 challenge. And this is my take on it.
"Why stick to one playground when there are so many to explore?"
In our daily coding life, we often stick to our comfort zones, using the same old languages. But hey, why limit ourselves?
Here at SyntaxSafari
, I'm broadening my horizons, and like any true explorer,
I'm documenting my journey.
Expect bugs, laughs, 'aha' moments, and more bugs!
- Perl - Diving into the pearls of scripting. π§ Work in Progress! π§
- Go - Gonna Go where the wind takes me!
- Rust - Making sure my code doesn't corrode.
- C - Going back to the roots. C what I did there?
- Bash - Let's make some noise!
- (G)AWK - No, it's not (g)awkward. Or is it?
- Erlang - Why have one process when you can have many?
- V - Aiming for speed, aiming for efficiency!
- Zig - Ziggity zag, let's not let this one lag.
- Haskell - Asking the functional questions.
- Wren - Ready to fly with this lightweight scripting
bird.
12. Java - Brewing some classic code. Or maybe not. Still deciding. - C++ - The final frontier. Taking C to the next level, one plus at a time!
Runners-up: A short-list of languages that I considered, but didn't make the cut. Maybe next time!
- Java
- JavaScript
- TypeScript
- Python (I already know a thing or two about this one.)
- Perl - In Progress! π§
- Go
- Rust
- C
- Bash
- AWK
- Erlang
- V
- Zig
- Haskell
- Wren
- C++
Whenever I feel the call of the wild code, I use the following trusty command to randomly pick my next programming language to explore:
echo "Go Rust C Bash AWK Erlang Zig V Haskell Wren C++" | tr ' ' '\n' | sort | gshuf -n 1
This command breaks down our safari landscape into individual terrains, sorts
them for a fair game, and then shuffles to surprise me with my next coding
adventure.
Where will the winds of SyntaxSafari
take me next? Let's find out! πͺοΈπ¦
Note: I'm on a macOS, so you need to have coreutils
installed to use gshuf
.
If you're on Linux, you can just use shuf
instead.
brew install coreutils
Mark your calendars! The safari officially kicks off on October 1st. Get ready for an exhilarating journey through the wilds of code!
Every language comes with its own set of challenges, discoveries, and eureka moments. Check out my diary logs for each language to get a peek into my adventures and misadventures!
Here's how it's going to work:
- I'll be keeping a diary log for each language in its respective folder.
- Inside each folder, I'll keep the following files:
NOTES.md
- A somehow random collection of thoughts, gotchas, "aha!" moments, etc.RESOURCES.md
- A collection of resources that I find useful.DIARY.md
- A diary log of my journey through the language.code/
- A folder containing all the code I write while exploring the language.
- I'll do my best and update the diary log as I go, but I can't promise anything. I'm not a robot, you know. π€
- For each language, I'm hoping to come up with a small, not-so-trivial project that encapsulates the core strengths or unique features of that language. I'd like to see this as a practical touchstone for your learning.
- All other resources, like books, tutorials, links, visuals etc. will be
listed in the
RESOURCES.md
file. - For anything that doesn't belong in the above files, I'll drop it in the
Miscellaneous/
folder.
Feel like embarking on a similar journey? Fork this repo, and let's explore together! Or just hop into the issues and discussions; any and all contributions, suggestions, and jokes are welcome. The more, the merrier!
π©π» Happy coding, fellow explorers! Remember: it's not about mastering every terrain, but enjoying the journey and the view.