Letters to the Editor
-
A separate computer and a junker in the garage
I think just as important as having a simple language is having a computer that is 100% okay to rip apart, break, or otherwise have non-working at any given time. That's part of what makes buying the Commodore 64 such a nice solution.
These days the main computer of the house is needed as a communication and media device. It's hard to take too many risks when you might destroy data you need or not be able to check e-mail later in the evening. But with a cheap computer (even a modern one) reserved for hacking use, all is well. If you get stuck, you can go to your main "appliance" computer and google for answers.
The WW2 era kids "hacking" on their jalopies in the garage weren't taking apart the family car, after all. Having the junker free for experimentation is what makes it liberating.
-
...and why Susie doesn't understand structured analysis or databases
Since I came up through comp sci in the late '70s/early 80's, our computer science department required us to do all the math and the low-level programming. They wouldn't teach COBOL, for example; not applicable to comp sci in their opinion, though they taught FORTRAN, Pascal, C, assembly, etc. We had to learn how to bootstrap a PDP-11 from scratch.
We were also required to take many upper level courses that cross-listed with applied math. And as a woman (and often the only one in the class), it was also disappointing to see how comp sci and mathematics was out of balance between men and women - but that's another issue.
The one thing I now notice in my middle age is that newer programmer/analysts don't have a grasp of the fundamentals behind what they are coding - exactly what the article pinpoints. It's frustrating to me to have to explain to someone with a comp sci BS how underlying principles of design for databases and languages work. So it seems this is endemic even in some universities, which is frightening. Not to mention the interfaces with the OS and tuning issues - I work in a UNIX environment, but the developers normally code on Microsoft platforms.
I love the suggestion of an older machine as a tool for my daughter. I'll be surfing on e-Bay today! Thanks for a great article!
-
The heart of the article
The key line to this article appears near the end:
...they seem bent on providing information consumption devices, not tools that teach creative thinking and technological mastery.
For me, learning BASIC, FORTRAN, PASCAL, COBOL, etc., on punchcards in the early '80s was invaluable in my later computer career. The thing most people ignore about creativity and innovation is that it's based in logical possibilities. Learning the underlying logic of a thing, whether it be programming, biology, physics, pigments, whatever, gives you a window into more possibilities.
Understanding how things work on the basic level makes you more capable of seeing everything that can be done. It's the source of my own innovation in the workplace, and I'm sure of many others. It also gives you better powers of discretion and design in creating your own programs and "art" in whatever field you work. Today, when computer programming extends into nearly every field, it is essential to know what that programming is based upon when designing it to meet your needs. There's the flip side of this, too, in that deep understanding in any discipline is frequently applicable to another. Understanding systematics from biology opened up flexible ways of organizing information in databases, and taught me that how the data was organized and presented would determine the direction of future development and research.
To answer the question, Should artists grind their own pigment? Well, obviously not all artists need to do that in their daily work. But they should all know how to do it, if they want to be fully capable of instantiating their vision. Understanding pigment - and programming - means being aware of everything you can do, not just everything you've seen done.
-
OSS to the Rescue?
An interesting article, on a topic that has troubled me as I've become part of the gray-haired programming set.
I know the same line of argument was made by those who worked with machine code or assembler and didn't have the benefit of a "high-level" language such as BASIC, but Mr. Brin is correct -- BASIC at least revealed the underlying logic of the system in a fairly transparent way.
That knowledge is already missing in a wide swath of working developers. The modern languages give them the power to create without understanding, which is fine, until something doesn't work. Another gift of BASIC was that it taught programmers how to isolate problems and debug them. Depsite the much more advanced debugging tools available, many developers lack the logic skills to employ them properly.
Perhaps the answer is an open source software project to create an OS-independent BASIC command line programming environment. It will give us old guys a chance to revisit our GOTO roots and maybe help seed the next generation of alpha geeks.
-
for kids, BASIC is better than C-based languages
While I agree that Actionscript, Javascript, and Java are all great ways to program on a modern computer, these languages all present problems for people just entering programming. These all have syntax based on the C language, where control structures require a careful syntax that includes semicolons and curly brackets. These are difficult to even SEE on the screen when you're just getting started. BASIC is superior for beginners because control structures are all keywords. FOR ends with NEXT, GOSUB ends with RETURN (or maybe END), and so forth. It's much easier for a beginner to grasp what is going on in such a language.
My preferred languages now are all C-based, but I got a lot of good work done and earned a lot of money in the DOTCOM era with knowledge I gained on an old VIC-20. For those who don't know, the ASP web-server language is very similar to Commodore BASIC, which should come as no surprise because they were both written by the fine folks at Microsoft.
I agree that BASIC should still be available on modern computers and getting to it should be easy and intuitive. In the meantime, though, the skills are being lost and (for parents worried about being supported in a future devoid of Social Security) the salaries of future programmers can only increase.
