1 Year. 12 Languages.
Tags: programming, learning, devresolutions2024
Published: 2023-12-28 01:36:54

## Introduction

2024 is almost here, and it's resolution season. Many have already started to set goals for the coming year, which vary widely from improving fitness to traveling more (there's an interesting [Forbes](https://www.forbes.com/health/mind/new-years-resolutions-statistics/) article about the specifics of this year's targets, if you're interested).

It's a bittersweet year for me, because it's my last full year in high school. That means that I'm definitely not going to have as much time as I used to for things like learning programming at my own pace in the future. I've toyed with the idea of learning something new for a while now, but I've consistently lacked a drive to put in the work of teaching myself a whole new language.

So... I've decided this is the year. Why put it off any longer?

But I wondered what exactly would be the best use of my time. I had a couple of things I wanted to complete as a developer that were in the back of my mind, but I wasn't sure how to prioritize or exclude as to make the most of the year.

 - Complete freeCodeCamp certifications for front-end development.
 - Learn Rust, Python, Ruby, and C++.
 - Start blogging again (creating content once or twice a week).

Besides from these smaller goals, I also wanted to determine once and for all if learning to code was a universal language - if the concepts I learned in one language could enable me to easily pick up another.

## Plans?

In the end, I've decided to take a route that I believe will hit the majority of my personal goals as well as give me valuable experience with new languages and beef up my toolkit.

 - I'll be exploring a new language for each month of 2024.
 - These languages aren't specifically beginner-friendly, they're just ones that I've been wanting to take a look at for a while now.
 - And of course, I'll be posting updates in the form of a blog post every so often.

For each language, I'll be taking you on a syntax deep dive followed by a bunch of mini projects and one final project. While I can't explain the full depth of a language's complexity in just a month, I'll make sure to cover important topics and what you need to get started.

At the end of the year, I'll come back around with a reflection of my year in code and see if I'm able to answer the universal code question.

## Topics

Here's the full list of languages so you can see what's on the radar. I won't necessarily be doing them in this exact order, but they're all on a wheel that I'm going to spin each month to pick.

- Python
- TypeScript
- C#
- C/C++
- Go
- Lua
- Rust
- Kotlin
- WebAssembly
- Zig
- Ruby
- Bash

If you're curious about where I'm at during any point, check the [GitHub](https://github.com/jD2R/12in2024) repository (the first language drop is already live, check it out!). This is where I'll be keeping all the code for the project and it'll be updated frequently as I complete things.

## Onward

I'm super excited that you're joining me on this journey! Please chime in with any thoughts about topics to cover or things I'm doing wrong - I'm still a beginner too, and expert opinions are invaluable.

Without any further ado, let's get this series started. Make sure to follow and stay tuned for the January kickoff, dropping 1/1/2024.

Happy New Year! 🎆