I think everyone in this country should learn a computer language because it teaches you how to think. It’s like going to law school — I don’t think anyone should be a lawyer, but going to law school could be useful because it teaches you how to think in a certain way. So I view computer science as a liberal art.
At the time the Symbolic Assembly Program (SAP) first appeared I would guess about 1% of the older programmers were interested in it—using SAP was “sissy stuff,” and a real programmer would not stoop to wasting machine capacity to do the assembly.
Everyone who interacts with computers has in important ways always already been programming them.
Every time you make a folder or rename a file on your computer, the actions you take through moving your mouse and clicking on buttons, translate into text-based commands or scripts which eventually translate into binary.
Why are the common conceptions of what a programmer and user is so divorced from each other? The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.
What I’ve learnt through experience is that the number of languages I’ve learned or the specific frameworks I’ve gained experience with matters very little. What actually matters is my ability to up-skill quickly and effectively.
If you focus on:
learning how you best learn, and
practicing effectively communicating the things you've learned
you can't go wrong.
APL font based on Adrian Smith's APL385 font with a fun, whimsical look, inspired by Comic Sans Serif.
APL (named after the book A Programming Language) is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming, and computer math packages. It has also inspired several other programming languages.
I worked for several years as a leader of birding tours, and I have met a few sad individuals who were so focused on adding to their life lists that they would refuse to look at a bird species that they had seen before, no matter how spectacular the view or how fascinating its behavior of the moment might be. “I don’t need that bird” was their standard reply.
For a person just getting started in some area of natural history, and unabashed focus on list-chasing is a good thing, at least for a while. The trick is knowing when to stop.
Keith Brown described how he got the idea “that the maximization of daily species lists of butterflies, a seemingly unscientific goal (though much employed in a sister area, ornithology), could give a large scientific fallout."
For example, he described how six weeks’ effort in the Brazilian central plateau had turned up twenty-five species previously unknown for the area—but then he had adopted the “maximization” method, and in another six weeks, he had found nearly three hundred more species.