Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Computing is in a bad shape partly because of momentum, and the momentum exists because of the nature of capitalism.

The momentum means we can never stop to make sure the software is as carefully written at it needs to be, and we can never stop to think of the big picture (all the other software we need to operate with).

And because of capitalism's inherent competitive nature, there is no concerted movement towards a unified goal in computing; competition leads to fragmentation, not unification. So we have a profileration of operating systems, redundant software reinventing wheels etc.

Open source is interesting in that regard. It's sort of the solution to a lot of the mess -- in theory, by making the source public, nobody should ever need to solve a problem more than once, and a specific piece of problem-solving code should evolve over time into the perfect solution -- but it's screwed by the competitive nature of people. (People don't just compete among themselves with their egos. They also compete against the status quo; what I like to call the "not invented by me" syndrome which drives people to create new stuff even though what they really ought to have done is to improve the old stuff, thus expanding the pile of legacy software even further.)

Why do we have both Python and Ruby? They are incredibly similar to each other. They are so similar it's silly. Sure, one's got whitespace-sensitive syntax, the other has runtime-extensible OO. But those are superficial differences, and nobody can objectively say that Python is better than Ruby, or vice versa. Do we really need both? And yet Matz and Guido are never going to join forces to work together on a common goal to create a single, superior technology.

Open source ought to work less like capitalism. People need to work together into creating the best, safest, most robust software imaginable.



> Computing is in a bad shape partly because of momentum, and the momentum exists because of the nature of capitalism.

This is true of any engineering discipline throughout history (read Henry Petrowski for many examples). One example was the technology of building iron railroad bridges in UK in 1800s. As the railway network grew bridges were needed and UK did not have enough forests left, so bridges were constructed from cast iron. However, at the time the science of metal fatigue was not there, so many of the these bridges failed - killing people in the process.

Clearly the state of the art of iron bridge building was in a horrible state, yet bridges were built because people needed them.

Eventually the science caught up and bridges don't fail as much anymore..


If there would be ruby but no python, or python but no ruby - the remaining one would be worse and less mature than it is now.

Having competition made them both stronger, no doubt.


Maybe, but it's a shame you need two competing, but very similar projects, to accomplish this. If people had been competing about contributing the best code to the same project, we could have reduced the duplication.


That's how evolution works. By duplicating everything and then making it compete.

People tend to find their local maximum. Competition forces projects out of local maximums.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: