I was having a conversation with a friend who is majoring in electrical and computer engineering and we were talking about extracurricular coding projects. He suggested that I try making a hangman game. A week later, I started the Elixir for Programmers course on Codestool which coincidentally had me make a hangman game so I could improve my knowledge of Elixir. Perfect timing!
Dave Thomas - programmer, author, and editor -came out with Elixir for Programmers a few years ago. My own journey with the program began by downloading Elixir, installing Hex, and becoming acquainted with IEx. Dave’s weapon of choice was Elixir 1.5 and I was running on Elixir 1.9.4. After the installation, Dave guided me through the process of creating a new project, writing a dictionary module, and running some code. He then ran me through a quick tutorial on Elixir types such as integers, atoms, strings, tuples, etc.
After the introductory sections, I began my descent into the infinite binary abyss that is functional programming. This felt like a hero’s journey through treacherous challenges with a middle aged British man as my shaman, but I merely scratched the surface of Elixir. Perspective is everything.
As I proceeded to concoct a working hangman application, I was gracefully guided along many side quests such as creating free standing applications, discussing supervisors, and making an OTP server. At first, these seemed like unnecessary tasks that slowed down my progress, but as I neared the peak of this symbolic mountain, I looked back in appreciation. Through thick and thin, trial and error, for worse and for better, Dave Thomas had utilized my boundless potential as a baby programmer to create the beautiful hangman game I saw before me.
Of course, for the sake of dramatic flair, I happened upon a few inconveniences comparative to the 12 labors of Hercules. While most had to do with syntax differences or methods of installation, there was one final challenge that still haunts me to this day. My final boss battle was lost due to my complete ignorance of SVG file types and I will carry deep shame till my dying day.
However, while not every battle was won, the war was not lost! Dave heroically provided the code for the complete project toward the end of the course. In addition to this, there were many extra exercises that solidified my prior knowledge. These exercises provided an extra challenge as well as variety throughout the entire program. All in all, I enjoyed Elixir for Programers by Dave Thomas. It taught me a great deal about Elixir, Phoenix, testing, API, and error handling. Go check it out!
Like what you read? Subscribe to our mailing list below to stay up to date with Binary Noggin!