A Guide To Recursion With Examples

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.

Type Systems in Software Explained With Examples

Type Systems in Software 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?

What Are Abstractions in Software Engineering with Examples

What Are Abstractions in Software Engineering with Examples

We speak about abstraction all the time, as software engineers, and yet its meaning can be pretty confusing. Could you explain clearly what means abstraction, if you needed to? This article will explain in depth what abstraction stands for, if we should abstract everything and, if not, what should be abstracted.

Global Variables and States: Why So Much Hate?

Global Variables and States: Why So Much Hate?

Global variables are common pitfalls many developers fall into. Indeed, difficult to scale and maintain an application crippled with globals. Why is that? Isn't it convenient to be able to access variables and their values everywhere? The global state problem is only part of a bigger one, namely leaking states and the lack of encapsulation.

PHP Code Quality Tools to Check and Improve your Code

PHP Code Quality Tools to Check and Improve your Code

Oh no! You're working on an application which is as messy as your flat! You don't understand anything, every bug takes weeks to fix. You need to improve the quality of your PHP code... but how? What tool to use? A hoover? Don't worry, dear reader, I have some answers for you.

The DRY Principle: Benefits and Costs with Examples

The DRY Principle: Benefits and Costs with Examples

The DRY principle (Don't Repeat Yourself) is easy to understand but difficult to apply. Should we never repeat our code? What was the true purpose of the principle's authors? Let's decipher what should be DRY in our code, and what should not.

Vim for PHP: The Complete Guide for a Powerful PHP IDE

Vim for PHP: The Complete Guide for a Powerful PHP IDE

I can see you spitting your cereals in front of you computer. 'What? A PHP IDE with Vim? Are you insane?'. If I am, I'm not the only one: many developers use Vim, why not PHP developers? This article will describe everything you need for you to build your own personal IDE, which fits your way of working and answers your specific needs.