For a good weekend reading, amateur and pro programmers can go to Joel On Software where Joel Spolsky gives a big number of extremely valuable hints about the process of engineering software. Joel Spolsky is one of the initiators of VBA, and led its implementation in Excel. He has recently founded
his own company, Fog Creek Software. Anyone who wants to become a really good software engineer should pay a lot of attention to his essays, probably starting with The Joel Test.
Heh, saw this one a little while back when JBQ mentioned it in #BeOS.
My favourite part of it would have to be his interviewing prospective programmers section – after talking it through at work we came up with all sorts of cool tests that you could do to test prospective programmers skills.
The other part of his site (apart from the Joel Test) that was quite different was his take on writing program specifications which was quite informative and highly amusing in places.
Our workplace rated rather badly on the Joel Test (originally 4), in the 5 weeks since then we have changed our rating to 7, our eventual aim is 12 but that’s going to take about a year we estimate
that means there are no bugs in word, excel etc. because every new version has new features.
because this is not true, they can’t work at 12, otherwise why crashes my excel regularly ????
Thoems 😉
No, not Microsoft. He quite there some years ago. Currently he is heading up the Fog Creek Software that he mentions in his essays.
eLarson
Yes, Microsoft. He wrote this article after he left, and it remains true to this day.
There certainly are bugs in Word, Excel, etc. Just because an app has bugs doesn’t mean that they didn’t squash the KNOWN bugs before adding new features.
On Joels comments on Netscape he appeared to miss the point about the Mozilla project: the old Netscape code -was- unservicable. It literally could not be patched anymore and the architectural problems meant simply moving things around was not practical. They had three different engineering teams for the three main platforms, and they effectively had three versions of the code for each platform. It was a mess.
So they started over. Stupid maybe, brave certainly. Mozilla has taken such a long time because they were committed to crossplatform development. If they had decided to go for a Windows only browser (which they could have done), they wouldn’t have needed to reimplement COM into XPCOM, or use the Netscape Portable Runtime, or design XUL for user interfaces. They could have just reorganised the rendering engine, and shipped. The result would not have been even 5% as powerful as even the 0.9.3 version of Mozilla is. Although as a commercial browser project Mozilla would have been judged a disaster, as an open source project to develop a browser and also a robust cross platform development system it is a resounding success. And they have taken all of Joels Test points to heart: they don’t just use daily builds, they use constantly repeating 24 hour builds. They don’t just have a bug database, they have an open web based bug database (which they created themselves as there were no web based bug databases which met their needs). They are determined to fix as many bugs as possible for 1.0 and the result will be a program that is smaller, faster, less buggy and more powerful than Internet Explorer is after years of development.
IE is a great example of when you -should- start again from scratch. IE’s support for XML has been a total hack, it turns it into HTML internally as the rendering engine can’t cope with proper XML like Gecko can. This will not only limit IE but due to it’s market share hold back the web too – IE doesn’t support MathML, SVG and ChemML like Mozilla simply because it cannot. The web and its technology has changed too much for just a few simple macros and reorganisations. While IE lags behind, Mozilla will be getting better every day.
Thankyou for otherwise excellent and informative essays
-mike