, 17 tweets, 22 min read Read on Twitter
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo I'm thinking like this: IF the point is to wind up with a "computer program", THEN (for now) we must bring into existence a particular kind of artifact, which, yes, is written in a language. A "programmer" in my phrasing is a person who can produce artifacts in that language. /1
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo I'd sat that the process isn't much like translation. It's more like producing a novel, not from an outline but from someone saying vaguely, I'd like to read some science fiction, except with teddy bears, and it would be nice if the paper were blue. /2
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo They go on, however, to have in mind particular plot points. The main character must at some point leap off a skyscraper and fall directly to the pavement, without harming themselves in anyway, and walk immediately into the grand ballroom dressed in the finest gown ... /3
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo You get the idea. Out of this mess, the author/programmer has to come up with a viable plot, absolutely detailed characters and venues, far beyond any detail provided them, for the story to hang together at all. /4
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo Meanwhile, the language in which this book is to be written has the most complex syntax and grammar you can imagine. Literally a single typo anywhere will cause the book not to exist at all. /5
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo And a mistake even in the hidden aspects of the people and places, can cause the book to seem OK, but there will be an immense plot hole in it, such that anyone who reads that part will throw the book down in disgust, but that plot hole is, at the same time, very hard to spot. /6
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo Now there are many other aspects to making this a "good" book. Its visible design is a good example. The "programmer" can use any paper, put in any diagrams, use any colors. They can do it all, but not necessarily do it well. /7
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo So to get a good book, it's good to have "designers" to advise the programmer on those matters. It's good to have "testers" to wisely and carefully review the book, spotting, not just typos, but subtle mistakes, plot holes, ways of reading that may confuse readers. /8
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo Sometimes "programmers" work alone, sometimes together. Sometimes they specialize in parts of the book, sometimes they can do it all. Some are quite good, and can produce a quite creditable book on their own. All will profit from help from people who know about books. /9
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo But, perhaps ironically, I am never sure about irony, all those other people cannot produce a book without one or more "programmers". Worse yet, no matter how good the others are, if the "programmer" isn't good enough, the book won't work or may not get done at all. /10
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo This bottleneck, this restriction, is usually absolute today. You can't get a program without a programmer. Oddly you can get a program, a product, with ONLY a programmer, and it might still be pretty good, even excellent, if the programmer is good enough and lucky enough. /11
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo This truth, that programmers are absolutely essential and really the ONLY necessary part of the process, can lead programmers to think of themselves as some kind of gods, as being better than testers, designers, customers, who with all their skills can't get a "hello world" /12
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo Now, I would say, and I think that "Agile" says, that the best way to produce a good program is with a village, made up of people with varied, diverse, and ideally high skills in all aspects of the making of the things. These are, I think, who @GeePawHill calls the "makers". /13
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo @GeePawHill And certainly in my life of programming, no program I've ever produced has been produced all alone, without the input of many makers, or at least a few, beyond myself. So I agree that it takes a village. It's more fun that way, and the programmer is more likely to get paid. /14
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo @GeePawHill And yet, for all this, "programming", though no particular "programmer" still remains the single necessary and sufficient activity of making a program. No particular programmer is necessary, but you must have one. Not as a god, but not as a ditch digger either. /15
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo @GeePawHill (And I cast no bad cess on ditch diggers, by the way. There's skill and power and honor in that work as well.) But just as if you need a ditch you need a digger, if you need a program you need a programmer. /16
@michaelbolton @tottinge @johncutlefish @GideonGiaco @briandeyo @GeePawHill Without other skills, your ditch may be in the wrong place, your program may not be very good.

But if what you want is a ditch, someone must dig it. If what you want is a program, someone must program it.

I think there's no way out of that ... at least for today. /end
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Ron Jeffries
Profile picture

Get real-time email alerts when new unrolls (>4 tweets) are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!