Joel on Software; "Ruby Performance Revisited"
posted Tuesday, September 12, 2006 at 3:34 pm MSTJoel on Software; "Ruby Performance Revisited"
Throughout the "Has Joel gone soft in the head?!" reaction to this topic ("Seek and yee shall find") I've had the feeling that uncertainty (the real stuff, not the FUD kind) was playing a role in this. Joel's post here makes it clear that this is the case:
"Even classic, simple CRUD applications -- the kind of application that basically just shows you a table from a database and gives you operations to add, delete, and edit records -- often discover somewhere down the line that there's something enormously computationally intensive that they want to do ..."
Pre-xactly!! My paradigmatic experience was this: we needed Built-In Test Equipment for our aircraft landing system. Since dropping tin cans full of cash-paying customers is frowned upon (passengers are squishy) the prime mandate read something like "Better to fall over and burst into flames than transmit false data." So BITE was prime. The fundamental design decision had to do with choosing a (simple, clumsy, tedious) rules-based expert system (Is that redundant?) or a system based on (sophisticated, elegant, efficient) AI. Hovering in the air was the fact that we weren't in the BITE business. The tipping point came when we started projecting resources. (Call me mashochistic; I like matrix management!) With the expert system we could ball-park requirements as well as we could with any other aspect of the project. But with AI? Most cases were quite quantifiable, but with a few others ... spin spin spin we just couldn't get our estimates into some sort of closure. We weren't in the business of developing BITE, and we weren't theoretical mathematicians. Exit AI stage left ... too much uncertainty.
If I can say "in most cases 10X slower; rarely 50X times slower" then I can make an informed decision ... right or wrong I'll know why I did what I did. When I can say ""in most cases 10X slower; rarely 50X times slower, but maybe in a few cases a lot slower than that" well hell's bells, WTF. I mean, really. I'm not against having fun ... homo ludens and all that ... but rainbow-coloured smoke always makes me wonder where the mirrors are.
Anybody who's gone through full FMECA knows how to tumble probabilities. If something is imponderable then it's relagated to hobby status ... not ready for prime time. Is all.