Reading List

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

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. More precisely, we’ll see:

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? I was asking myself, my mouth full of muesli, a Sunday morning, while sloppily browsing The Internet.

Configuring Zsh Without Dependencies

This article is part of a series about Zsh:

There are many boring tasks we repeat day after day: creating, copying, moving or searching files, launching again and again the same tools, docker containers, and whatnot.

The Art Of Learning For Software Developers

“I’m trying to go down a bottomless pit. I’ll never make it till the end.”

That’s what I thought when I tried to create my own video game. I was young, beautiful, and I was struggling to use for loops and arrays at the same time. There was so much to learn!

Fortunately, I found the strength to continue. More and more, the concepts behind programming began to make sense. From there, learning wasn’t a chore anymore, but an intrepid journey. Going through a book about C and trying to create my own adventure on MS-DOS was a crazy Indiana Jone’s-like discovery I’ll never forget.