[A picture of private offices at Fog Creek Software] Alert! This ancient trifle retrieved from the Joel on Software archive is well-past its expiration date. Proceed with care.

Joel on Software

Lego Programming

by Joel Spolsky
Tuesday, December 05, 2006

Frequently, the mainstream media, reporting on computer programming tools, gets the story horribly wrong.

What happens is that some kind of vendor of programming technologies has come up with some product they are claiming makes programming easier. The journalists don't really understand. What they hear is “programming is going to be easier.” Usually there's some kind of Lego allusion.

Om Malik (November, 2006): “... these startups are building development environments that let the user cobble together software packages as easily as snapping together Lego bricks.”

He admits: “... the transition to this type of platform is going to be slow; I believe it could take about three years to realize its potential.”

Three years?

BusinessWeek ran a cover-story about object oriented programming way back in September, 1991, accompanied by a picture of a baby in diapers programming a computer. They also used the Lego metaphor: “Indeed, at the software startup they now head, Objective Technologies Inc., programming seems downright juvenile: Instead of mucking around in tangles of C code—writing arcane statements such as printf ("%s/n", curr str)—they mainly connect boxes on the screens of their NeXT Computer Inc. workstations and fill in blanks. In minutes, they have industrial-strength programs that run right the first time and that can be modified without brain surgery. Says Bergerson, 27: ‘I showed my mother, and she said, “You’re still playing with Lego blocks, like when you were a kid!”’”

“Eventually, a whole new way of selling software may emerge. In a market of interchangeable, plug-and-play objects, you might shop for pieces separately and compile your own custom software.”

None of them believed Frederick P. Brooks, in 1987: “Not only are there no silver bullets now in view, the very nature of software makes it unlikely that there will be any—no inventions that will do for software productivity, reliability, and simplicity what electronics, transistors, and large-scale integration did for computer hardware.... I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation.... If this is true, building software will always be hard. There is inherently no silver bullet.”

Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.

About the author.

I’m Joel Spolsky, co-founder of Trello and Fog Creek Software, and CEO of Stack Exchange. More about me.

© 2000-2015 Joel Spolsky