Tags: oop

Reifying problems in our software: a short story

Yet another lesson from a large project with legacy code. Did you happen to see “known issues” in software that you have worked on? And how many times have you seen them “solved” with “quick fixes” or “workarounds”?

Tags: oop

Classes or Prototypes in Python

What would happen if I wanted to play only with objects on Python, using other objects as prototypes? I’m going to show how we can benefit from the meta-programming tools available on Python in order to do that.

Tags: oop

Collection Filters in Ruby

There should be a filter object, and it should be placed between the user and the filtered object. Imagine you are modeling a person using a pair of glasses...

Tags: object-design

There are null reasons

This post will try and maybe fail to convince you that using `null` in your code is an error. For those of you willing to listen, here are my reasons to stop using it.

Tags: java

Java generics and inheritance (part 2)

On the first part of this article I explained why java generics don't allow up-casting for generified types. In this part we will see why, arrays don't have that restriction, and the implications

Tags: java

Java generics and inheritance (part 1)

Types, Sets, variables and casting When you use a compile-time typed language, like Java, you expect that types in each variable will help you by restricting the possibilities for a value. Instead of