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 […]
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 […]
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 […]
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!”
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 …)