3 ms·
20x is ridiculous - it's far too low. Look at the graph referenced - it describes, on a scale of hundreds of minutes, how long it took programmers to implement
by reitzensteinm 19y ago
20x is ridiculous - it's far too low.
Look at the graph referenced - it describes, on a scale of hundreds of minutes, how long it took programmers to implement something to spec.
My biggest problem with this is the time scale. More advanced programmers build generalized solutions to problems and build on previous abstractions. There's no clear limit to how clever someone can be while building abstractions, so the gap between programmers will become greater over larger time periods.
Taking a sample of developers creating small, custom websites, better developers will have factored out a lot of functionality into a general purpose web development kit with metaprogramming by site #3 (i.e. created a Django, Rails).
Is it unreasonable to accept that:
1) Creating a site with a decent web tool kit is 20x faster than rolling your own with mod_python, and
2) Metaprogramming for creating an (elegant) web tool kit is beyond the abilities of a section of programmers?
Now, the barrier to picking up Django or Rails is much lower than writing one, so perhaps this advantage is somewhat less important in a world with open source and extensive libraries?
Well, I would argue that in a way, the efforts of the creators of Rails and Django have been multiplied so many times by all the users that they, in effect, have increased global productivity by a factor so large it dwarfs the productivity of a single programmer - so their 'productivity', as measured by the impact they have on the world, is a hell of a lot more than 20x the impact of Mr Blub programmer in the cubicle next door.
Why stop at frameworks? What about languages? What is Guido van Rossum's impact on global value delivered by programmers? What about the developers of the microchip? I'm pretty sure my personal productivity would be lower without that. The invention of the internet, which allowed for free sharing of knowledge? What would the productivity of a programmer who invents general purpose AI be? It really depends on how philosophical you want to get.
So, sure, the difference between developers creating an application to spec on the time scale of hundreds of minutes is unlikely to be 20x. But that's a garbage metric, and as always, GIGO.
- deleted 19y ago[deleted]
- Tichy 19y agoWhat about PHP, though? The crappiest, least abstracting language seems to be the most productive one. Perhaps abstractions really are just bullshit? I like abstractions, but while I am busy thinking about my abstractions, the PHP coder has already churned out another three no-brainer pages.
- icky 19y agoThere's the rub: measuring production time needs to take into account maintenance time!
- Tichy 19y agoNevertheless, PHP seems to be by far the most successful programming language for web applications. I also don't think that maintenance time was ever measured for typical production time studies.
- brlewis 19y agoThat's like saying falling on the ice is by far the most successful ice-skating technique.
- lazyant 19y agosuccessful != popular ?
- Tichy 19y agoMost of the recently hyped web applications are written in PHP, for example Facebook. Wasn't there a list recently with the 10 most successful startups (by whatever criterion), and 7 out of 10 were based on PHP?
- mechanical_fish 19y agoThat's not because PHP is especially great, today, but because there weren't any decent alternatives in 2004. Rails is three-and-a-half years old, as a public project. The alternative frameworks are about the same age. There are programmers with ten years of PHP experience; there is nobody on Earth with so much as three years of Django experience. Give the newbs some time to settle in before you declare PHP's long-term victory. PHP has had a long headstart. To have a successful startup that makes a 2007 list, you have to start learning programming before 2007. Back in 2003, PHP was pretty much the name of the game, unless you enjoyed being married to Microsoft or wanted to construct vast mountains of overdesigned, stateful, undeployable Java middleware. Or unless you were writing your own framework from scratch in an alternative language, like DHH, or the Django folks, or the Redditers.