The Valuable Dev

Tired To Fall Behind the Trend?

It’s better to master what doesn’t change.

It's smarter to master what doesn't change

Focus on the fundamentals of software development, to learn easily anything built upon them.

Improve your soft skills, to work more effectively with your teammates.

Increase your productivity with timeless, powerful, and mouseless tools.

Apply useful learning techniques to reach your goals more easily.

Last Articles

A Guide To Recursion With Examples

Recursion is more than repeating a function again and again: it's a process of expansion and reduction. As often, practicing is the best way to grasp this difficult concept. That's why this article propose a short explanation as well as examples and exercises.

The Differences Between Interpreter and Compiler Explained

Compilation and interpretation can be seen as different concepts, even if they are two similar ways to translate source code, often into machine code. What is machine code? How does a computer execute a program? What's the difference between interpretation and compilation, and why does it matter? What are their benefits and drawbacks?

Type Systems Explained With Examples

Type systems are core components of programming languages. However, it's easy to get confused by the rich vocabulary we use to describe them, especially since they seem to have different sense depending of the programming language you speak about. What are the big ideas of a type system? Is there a better type system to rule them all?

Configuring Zsh Without Dependencies

For 30 years, command line interfaces have been developed and extended to solve many problems we can have, as developers. That's why the shell is the keystone of a powerful and efficient development environment. It's important to choose one which help you accomplish your goals without getting in your way. It's exactly what Zsh does.