Some thoughts on programming languages
Mar. 15th, 2013 05:23 am(I've bolted this together from a few comments on a previous post, as it was buried some 125 comments down, and promoted it to a post in its own right. Commentary much appreciated, as ever!)
I used to program. I enjoyed it. I wasn't very good at it, but at a recreational level, I found it fun. When I first tried doing it for work purposes, it put me right off. I mentioned this on Twitter recently. (Not sure if that link will open the conversation in its entirety.)
My vague and not-at-all earth-shattering insight is something like this.
For a start, there are at least 4 or 5 levels of programmer. This is counting only those who know that they are programmers, not people, for instance, constructing huge elaborate models in Excel and not realising that what they are doing is in fact programming.
1. There are the very smart people, who have in many cases studied the discipline, read Knuth etc., know multiple languages including very arcane ones, and see and discuss the abstract patterns and behaviours. These people may well have some familiarity with Lisp, Scheme, etc. and concepts like metaprogramming.
( Read more... )
I used to program. I enjoyed it. I wasn't very good at it, but at a recreational level, I found it fun. When I first tried doing it for work purposes, it put me right off. I mentioned this on Twitter recently. (Not sure if that link will open the conversation in its entirety.)
My vague and not-at-all earth-shattering insight is something like this.
For a start, there are at least 4 or 5 levels of programmer. This is counting only those who know that they are programmers, not people, for instance, constructing huge elaborate models in Excel and not realising that what they are doing is in fact programming.
1. There are the very smart people, who have in many cases studied the discipline, read Knuth etc., know multiple languages including very arcane ones, and see and discuss the abstract patterns and behaviours. These people may well have some familiarity with Lisp, Scheme, etc. and concepts like metaprogramming.
( Read more... )