Category Archives: Programming

My first book, published 25 years ago

I wrote my first book when I was 20 years old. It was the first book in Portuguese about Object-Oriented Programming (OOP). At the time I was a student at the Federal University of Rio de Janeiro, also known as … Continue reading

Posted in OOP, Programming | Tagged , | 1 Comment

Good Code is Adaptable Code

Some people find the diagram below very funny: it basically says that there is no way to write good code. Of course I do not agree with this. The diagram implies that writing well is a slow process, and that the requirements … Continue reading

Posted in Adaptable Design, Agile, Programming | Tagged , , | 1 Comment

The Cat as a Metaphor in Object-Oriented Software Development

Grady Booch is a software development guru who wrote one of the most important books about Object-Oriented Programming: “Object-Oriented Analysis and Design with Applications“. In his book, Booch has wonderful illustrations using a cat as a metaphor for some of … Continue reading

Posted in OOD, OOP, Programming | Tagged , , | 6 Comments

Passion vs. Focus

I believe that software developers should have a passion for programming. In one of my previous posts, I claimed that nothing is more effective than enthusiasm. This passion should include a constant desire to learn new things and to create … Continue reading

Posted in Efficacy, Programming | Tagged , | Leave a comment

Let’s Stop Having Insane Arguments About Software Development

Mr. Smith had a serious headache, so he went to see a doctor. The doctor told him: “I think you should get some insulin.” Mr. Smith replied: “Are you crazy? Insulin for a headache? Why do you say that?” The … Continue reading

Posted in Agile, Programming | Tagged , | 5 Comments

When Machines Learn: Predictive Analytics

In 1983, when I was 13, I got my first personal computer. It was a Brazilian CP-500 (in the picture on the right). I was one of the first kids in my class to have a computer at home, and … Continue reading

Posted in Data Mining, Machine Learning, Programming | Tagged , , | 1 Comment

Copy-and-Paste Programming

I’m recently seeing lots of funny O’Reilly book covers being created by inspired programmers, but below is my favorite one. I like it because it depicts a big change in software development since the beginning of my career. In the … Continue reading

Posted in Programming | Tagged | Leave a comment

On the Real Danger of Quick-and-Dirty Programming

As in Dijkstra‘s quote above, when people criticize Quick-and-Dirty programming they are in general focusing on the negative impact in the system being developed. Software that is built following a Quick-and-Dirty approach will certainly have some serious deficiencies, which are … Continue reading

Posted in Agile, Programming, Technical Debt | Tagged , , | 11 Comments

Do SOLID design principles make code slow?

This week one of the readers of my blog asked me this question: “Do SOLID design principles make code slow?” I think this is a very interesting question, which I have already encountered several times during my 20 years as … Continue reading

Posted in Agile, Design Patterns, OOD, Programming, Software Architecture | Tagged , , , , | 12 Comments

Conference Talk – Hayim Makabee on Software Quality Attributes

This week I participated in the Twentieth International Conference of the Israel Society for Quality in Tel-Aviv, giving a talk about “Software Quality Attributes”. Title: Software Quality Attributes Abstract:  The quality of software systems may be expressed as a collection of Software Quality … Continue reading

Posted in IASA Israel, Programming, Requirements Specification, Software Architecture, Software Quality | Tagged , , , , | 3 Comments