Little programs versus big programs

by John on February 3, 2010

From You Are Not a Gadget:

Little programs are delightful to write in isolation, but the process of maintaining large-scale software is always miserable. … Technologists wish every program behaved like a brand-new, playful little program, and will use any available psychological strategy to avoid thinking about computers realistically.

Related posts:

Writes large, correct programs
Why there will always be programmers

{ 1 trackback }

Style and understanding — The Endeavour
01.05.11 at 17:07

{ 7 comments… read them below or add one }

1

sean mcbeth 02.03.10 at 08:05

Ain’t that the truth.

Actually, I like embarking on large projects for personal projects, because I see it as an opportunity to learn more about available tools past just programming languages. The programming language you select is often inconsequential compared to having the right tool chain to go with it.

2

John 02.03.10 at 08:12

I admire people like Michael Feathers and John Robbins who enjoy digging into large legacy projects, but that’s not how I prefer to earn a living.

3

Omar Gómez 02.03.10 at 19:13

Big programs are interesting. Programmers learn to to think about programs in terms of small quantities (lines of code, classes, etc). This comes from Universities where too much emphasis is put in computer science (syntax and algorithmic view).
Big system are complex beasts, you can’t use the programmer view. You need to identity structures in terms of cohesion, coupling, contracts, components, etc. You need to see beyond code. Wish Universities understands this.

4

richard 02.09.11 at 10:58

Omar,

I took a second year course in SE last year that, amongst other things, covered cohesion, coupling, components etc.

It was quite interesting.

5

Brendan Ribera 02.09.11 at 11:26

“UNIX is lots of little programs connected by shell scripts, Java is big programs connected by XML” – Stuart Sierra

6

F. Andy Seidl 02.09.11 at 19:24

Big programs, poorly architected are a nightmare. But big programs, well architected are a pleasure. And when you find–or design–the latter, more often than not, you’ll find a big program that is really a federation of many small programs (or services), each of which does something very specific and very well.

7

Randy A MacDonald 07.27.11 at 09:33

In APL, even programs that do many things do not have to be big. APL programs are as big as the problem they are solving, i.e. they have a length of 1 problem.

TO paraphrase another Randy, “Big programs have no reason to live.”

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>