Do 48 Programming Challenges in 2024 #48in24

Jonas Brømsø - Feb 16 - - Dev Community

What about taking on 48 programming challenges in 2024? You can do them in a language your already know, do them in a language you are in the process of learning or you can totally shift from your normal paradigm and take it on in languages you only have heard about.

Exercism, the free programming learning platform has initiated a challenge named: 48in24.

Yes, it has already started, but you have ALL of 2024 to catch up.

To give some examples:

First challenge was on the topic of resolving leap years. That is doable for most programmers, even beginners.

When you solve it in 2024, you earn you a bronze medal, if you solve it in any 3 languages you earn silver. Last but not least gold can be obtained by solving it in the 3 following languages.

  • Clojure
  • MIPS Assembly
  • And Python

From a selection of 67 languages

I must admit, I had solved it in some other languages like Go and JavaScript, so I knew the basics, but solving it in assembly really was quite the challenge, but most of all a great learning experience.

Second challenge was on how to reverse a string. Also pretty basic. In the accompanying videos, it is hinted to try so solve it without using standard libraries etc.

I really like to get into the idioms of the different languages, so I do not pay so much attention to that. If I really want to find out how to reverse a string using basic building blocks, I just pick a language that does not have a reverse function already and there are plenty of options, the challenge is offered in 59 different languages.

The second challenge requires:

  • C++
  • JavaScript
  • Nim

I had already solved it in JavaScript, so that counted towards the gold medal - fair has to be fair.

Challenge 3 is "Raindrops" a classical variation on "FizzBuzz", pretty basic stuff. But the with a list a varied as:

  • Common Lisp
  • R
  • and Ruby

There is enough to keep you occupied for some time and some good learning opportunities and 63 other languages just waiting for you to try them out.

I found out that doing a challenge is a language like Common Lisp actually opened up for solving it in Clojure, like Python, Ruby, Perl and PHP also lets you use same paradigm.

Challenge 4 is a step up, since you have to convert decimals to roman numerals.

It is a tad harder that the previous problems and when you then set out to do it in:

  • Elixir
  • Pharo
  • and Julie

What was approachable, becomes a true challenge and the challenge is available in 61 languages. I might need to dig into some of the other languages in which this challenge is offered, before aiming for gold.

The people from Exercism do release a video on Youtube with each challenge where they discuss, demonstrate and give an introduction, which will help you along the way.

The newest challenge is "Protein Translation" also still in the easy category and doable, but:

  • F#
  • Crystal
  • And C#

Will keep you busy and then there are 45 other languages, just waiting to be tried out.

Exercism is very much community driven. The challenges are implemented by contributors, which is why the available number of challenges vary. But most important it is free, you just have to sign up and get started, with the language track you want to learn.

I would love to share some of my solutions here, but that would be spoiling the fun, what I might do is share some of my notes on the different languages, since others might find that useful, I am writing them up any way.

The Exercism community offer mentoring and you can view other participants solutions, so you can learn a lot comparing your solution to the solution of your peers.

So what are you waiting for, 48 challenges in 2024 how hard can it be? - well if you want all gold medals, you are in for a ride.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .