My Affair with Statically Typed Languages

Python is undeniably a fantastic language, and I absolutely relish working with it. It’s beautiful to read and practically writes itself. As a dynamically typed language with an intuitive syntax, Python allows me to focus on the task at hand without drowning in boilerplate code. In fact, I’m so enamored with Python that I use it exclusively for technical interviews.

However, crafting code to solve algorithmic puzzles is a far cry from developing production-ready applications. At my first job as a software engineer, I worked tirelessly with a Python backend server (Flask). While Python’s charm remained undiminished, I often found myself in the ocean of bugs from the mishmash of various data types. It was such a frustrating experience, not only because I seemed to be exclusively squashing bugs (with nearly no chance to implement any new features) but also because many of these bugs were offspring of the very flexibility that defines Python’s dynamic type system.

Fast forward to my current gig, where I’ve assumed the role of a dedicated backend developer. Our chosen framework is built on top of Pydantic, a library designed for data validation in Python. And wow, did it leave me gobsmacked! Initially, it felt like I was taking a longer route to code completion. However, as I became more aware of the nuances of working with it, I realized that it was exponentially more difficult to write bugs into existence. Moreover, the system made it pretty straightforward to diagnose the ‘why’ behind the ‘what’ and address issues with greater efficiency.

A few weeks ago, I dared to venture further down the rabbit hole. What if I embraced the world of strongly typed languages for my development process? That’s when I rallied the forces and decided to collaborate with three fellow current/former CS261 ULAs – outside of my work and OSU. Together, we embarked on a Java/Spring Boot journey for our backend. It’s only been a few weeks but I can already sense that this new tool will enable us to write applications that are more robust and performant. Ask me the same question in six months, and my response might vary, but for now, I find myself deeply infatuated with the realm of statically typed languages.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *