Reading List

The most recent articles from a list of feeds I subscribe to.

A Guide To Recursion With Examples

You are at your desk at WeSellEverythingAndAnythingMegacorp, the fantastic e-commerce you work for. You’re trying to write some code while thinking intensively about your lunch. Suddenly, a voice break your incredible concentration. It’s Davina, your colleague developer, hired only a few moons ago. She has a problem and she thinks you can help her. She needs to display a directory tree, and she believes that she needs to use recursion. But she never quite understood the concept.

The Differences Between Interpreter and Compiler Explained

“Why would I care about the difference between interpretation and compilation?” ask Dave, your colleague developer. “After all, this is a low level detail, and I don’t care about that! That’s why we have abstractions all over the place!”. Dave is wrong, in many aspects. First, knowing the foundations supporting the high level abstractions you use every day, as a developer, will give you an edge to understand quickly whatever is built upon them.

Type Systems in Software Explained With Examples

“My language is better because it has a strong type system!” screams Dave, your colleague developer, trying to push the programming language Cobol for the next micro-service of your company. Among developers, discussions about programming languages and their type systems can get quickly emotional. During these discussions, we often hear the words “type systems”, “data type”, “type inference”, “static typing”, “weak typing”, “coercion”, and more. The goal of this article is to see the meaning of all these words with examples, for you to have good foundations and understand the type system of your favorite programming language.

Type Systems Explained With Examples

“My language is better because it has a strong type system!” screams Dave, your colleague developer, trying to push the programming language Cobol for the next micro-service of your company. Among developers, discussions about programming languages and their type systems can get quickly emotional. During these discussions, we often hear the words “type systems”, “data type”, “type inference”, “static typing”, “weak typing”, “coercion”, and more. The goal of this article is to see the meaning of all these words with examples, for you to have good foundations and understand the type system of your favorite programming language.

The Single Responsibility Principle Revisited

Once upon a time, at the beginning of my journey as a professional developer, I quickly heard about the principle which will save us all, part of the Sacred SOLID principles. The senior developers, the chosen ones, were calling it the Single Responsibility Principle, or SRP. The SRP looked like a magic spell I could cast for my code to be instantaneously better. But first I had to understand it. What’s a responsibility?