3 ms·
While risking the typesetter trap I would say that to program is to tame complexity and I don't think that's going anywhere. Programming is not only a skill but
by yason 18y ago
While risking the typesetter trap I would say that to program is to tame complexity and I don't think that's going anywhere. Programming is not only a skill but an ongoing research unfolding on the verge of what is hard and seemingly impossible.
Training to become an experienced typesetter requires skill, a good eye, and lots of knowledge but once you're at it then it's mostly just that field. You can become better in it but in the end you still do, well, typesetting.
Programming, however, changes over time as you abstract out the mundane, repetitive -- or "typesetter" -- stuff out to make more mental space for dealing with harder complexities. Programming has always been hard and by definition it always will be.
For example, modern languages with type-inference and automatic garbage collection have relieved many from the banal pain of designing explicit type declarations and arranging malloc()/free() calls manually. Languages such as Haskell now allow for solving more complex problems. That is because Haskell programmers don't have to waste their wits to arrange for and solve problems related to programming itself and can rather focus on the more novel, original problems.
I don't mean to say that programming doesn't involve automation; in fact, it uses a lot of automation to abstract away and obsolete old tasks. It's just that, unlike typesetters we haven't (usually) had, for example, memory management specialists who only write memory management systems for projects and who would become unemployed as garbage-collected languages gain popularity.
Any "typesetting" involved in programming is generally automated to free the same programmers to work on bigger problems. Programming doesn't end, it just changes and become harder and harder.
- anc2020 18y ago> Programming doesn't end, it just changes and become harder and harder. I'd say the programming becomes easier, but then there are always harder problems than the ones that are currently within reach (eg. AI is still out of reach), but I think this is what you meant. For me the best example of this was writing some PHP after learning Scheme and Haskell: This problem would be so much easier with a lambda keyword.