More on this book
Community
Kindle Notes & Highlights
Read between
September 20 - October 6, 2017
The new bazaars of the open source movement have changed computing in many ways, but they are not notable for bringing new products to users any faster than the old cathedral builders did.
It wasn’t clear how much Gore actually knew about Chandler and OSAF, but guessing that their goal was “changing the world” was a pretty good bet. In Silicon Valley that phrase had been a rallying cry at least since Steve Jobs’s legendary pitch to Pepsi CEO John Sculley twenty years before, asking the exec whether he preferred to “sell sugar water” the rest of his life or come build computers and change the world.
“You’re gonna do all that for the computers. What are you going to do for the people?”
Anyone contemplating the start of a big software development project today has to contend with this unfathomably discouraging burden of experience. It mocks any newcomer with ambitious plans, as if to say, What makes you think you’re any different?
Software is abstract and therefore seems as if it should be infinitely malleable. And yet, for all its ethereal flexibility, it can be stubbornly, maddeningly intractable, and it is constantly surprising us with its rigidity.
The world is full of code that someone else has written. Shouldn’t it be easy to grab it and use it for your new project? Why then do so many programmers glance at existing code and declare authoritatively that they could do it themselves, faster, easier, and better?
Software design, Kapor argued, was not simply a matter of hanging attractive graphics atop the programmers’ code. It was the fundamental creative act of imagining the user’s needs and devising structures in software to fulfill those needs.
“It’s very difficult to have real engineering before you have physics, and there isn’t anything even close to a physics for software.”
“If builders built houses the way programmers built programs, the first woodpecker to come along would destroy civilization,” Gerald Weinberg, the pioneer of computer programmer psychology, once wrote.
“Computer people are way more self-satisfied with what they have accomplished than they should be…. People don’t understand that there are alternatives. We need software that’s factors of hundreds better than it is.”