Archives for the 'Software engineering' Category

Measuring the Greatness of Programmers

What makes a great programmer?
In essence, a great programmer consistently writes good code, fast. Ok, begging the question. Good code is flexible, structured, configurable, succinct, easy to maintain, and free of obvious bugs. (As no one is perfect, no code produced by one person can be completely bug-free).
So that’s the definition. How to measure the […]

16 July 2008 | Software engineering | 5 Comments

Basic Mental Mutilation

Once during a job interview I mentioned that I had been programming since I was ten. At the time BASIC was all the rage. Or maybe BASIC was all there was. Anyway there was no Internet so where could a kid find a GNU C compiler in 1985? Er - hang on, there was no […]

10 June 2008 | Software engineering | 5 Comments

Java as Fast as C++?

Quoting Steve Yegge’s talk at Stanford on 7 May 2008:
[I]t’s interesting because C++ is obviously faster for, you know, the short-running [programs], but Java cheated very recently. With multicore [processors]! This is actually becoming a huge thorn in the side of all the C++ programmers, including my colleagues at Google, who’ve written vast amounts of […]

14 May 2008 | Software engineering | No Comments

FAD

Here’s an acronym that’s music to a developer’s ears: FAD (functioning as designed).
It usually arises due to something that QA thinks is a defect, but actually isn’t. So if it’s FAD then nothing is broken; nothing needs to be fixed.
Or, to put it another way: “it’s not a bug, it’s a feature!”

6 May 2008 | Software engineering | 1 Comment

The Battle Against Entropy

By Matt Buonomano, Software Architect

Software over time:

 
1
(so pure in the beginning)

 
1 + 2x
(randomness enters …)

 
1 + 2x + x2
(randomness dominates …)

We must refactor:

 
(1 + x)2
(complexity not removed, but managed …)

10 April 2008 | Software engineering | No Comments