Donald Knuth Worried About the "Dumbing Down" of Computer Science History
An anonymous reader writes: Thomas Haigh, writing for Communications of the ACM, has an in-depth column about Donald Knuth and the history of computer science. It's centered on a video of Knuth giving a lecture at Stanford earlier this year, in which he sadly recounts how we're doing a poor job of capturing the development of computer science, which obscures vital experience in discovering new concepts and overcoming new obstacles. Haigh disagrees with Knuth, and explains why: "Distinguished computer scientists are prone to blur their own discipline, and in particular few dozen elite programs, with the much broader field of computing. The tools and ideas produced by computer scientists underpin all areas of IT and make possible the work carried out by network technicians, business analysts, help desk workers, and Excel programmers. That does not make those workers computer scientists. ... Computing is much bigger than computer science, and so the history of computing is much bigger than the history of computer science. Yet Knuth treated Campbell-Kelly's book on the business history of the software industry (accurately subtitled 'a history of the software industry') and all the rest of the history of computing as part of 'the history of computer science.'"
This doesn't seem like a tough call. I have four volumes of Knuth on my shelf (just found 4A existed, so its cover is still pretty fresh), and I refer to them frequently. Even the oldest ones (though I did buy a fresh copy of Vol 1 after it was updated). It's my first stop when I need to start researching an algorithm, and often I don't need to go further.
OK, now Thomas Haigh. Googled him. Checked his credentials. PhD dissertation in the sociology of computer science. Umm, OK. Think I'll go analyze this algorithm some more... after I check my Knuth to see whether he's already done it for me.
One of the problems this causes is the lack of appreciation for the mathematics that defines computer science, and computers.
The end result is politicians making stupid laws and judges making stupid rulings...
With stupid patents on software being the stupid result.
Umm, dunno how else to say it, but honestly? Ignorance of mathematics isn't the cause of stupid laws and policy around technology; lobbyist money, bullshit ideological agendas, and self-serving BS flowing from big tech corporations would be your most likely sources for that.
I'm perfectly willing and eager to be proven wrong on this, but I figure in the list of causes? Ignorance of CompSci-oriented mathematics is waaaaaaaaaaaaaay down on the list of causes for stupid governmental tech policy, somewhere around "Clippy".
Quo usque tandem abutere, Nimbus, patientia nostra?
It's even simpler than that.
Computers are a tool. That's what they were designed to be, that's what they are. You can use them, or not.
Computer science isn't about using a tool. It's about creating a tool that's useful, and enhancing existing tools.
Every idiot can pick up a hammer and bash a nail it. Not everyone could forge a hammer-head, wedge it strong enough into well-prepared wooden handles, etc.
That you can use the tools made by others to get rich - it's undeniable. It's also very rare and down to little more than chance. And gaming is the one that attracts young minds because they are ALL users of games and games devices.
But there were a bucket of clone games before the existence of and while things like Minecraft, Angry Birds, etc. were being developed.
The programmer who wrote the map editor for Half-Life probably couldn't put a level together. But a 3D artist can take that tool and slap it together even if he doesn't really understand what a shader is. It's two entirely separate areas that people STILL confuse.
Want to play games? Go ahead. You just need a computer. Want to write games? You have to become a coder, or use the tools other coders have written for you. Want to write the tools? You have to be a coder. Working in IT in schools, I get a lot of parents tell me their kids are "good with computers" and should be in the top IT classes, etc. and what university should they go to to write games? I advise all of them against it, when they come from that angle. Because immediately my first question is Have you ever written one? No. Then find another career path. Or go away, write one, come back in six months and ask me again.
The parents get miffed, but they are the ones that have come to me for the advice. And yet, the ones who COULD make it in computer science, they don't need to ask. They know where they're heading. They can knock up something in an afternoon or tell you how to go about it.
Using the tools can be a skill. I wouldn't want to be up on an oil rig handling some specialist device to build the platform, and it probably takes years of on-the-job and other training to do it properly and safely. But the guy who designed it? You'll probably never see him. If he turns up on the oil rig, it's in a hardhat and business suit to look at the job, and then he's gone.
Everyone can use a basic tool. Some can use a complex tool skilfully. Others can design and make the tools in the first place. It applies to all walks of life and all careers, though, not just IT.
You can no-doubt drive a car. But you'll never win a rally no matter how good you think you are. And though you might be able to cobble together parts to make something that moves, to build and design the car to similar specifications from nothing takes decades of experience and a high level of skill.
You can no-doubt browse the web on your computer. But you'll never run your own network effectively. And though you can cobble together parts to make something that works, to build and design the chips, the protocols, the electrical specifications, etc. takes decades of experience and a high level of skill.
You can no-doubt play some kind of instrument. But you'll never be a concert performed. And though you can cobble together parts to make something that makes a good sound, to build and design and PLAY the instruments properly takes decades of experience and a high level of skill.
You can no-doubt draw. But you'll never be an artist. And though you can cobble together parts to make something that looks good, to knock up a work of art takes decades of experience and a high level of skill.
We just need to separate the idea in people's heads. Using a computer is different to "being good" with a computer. which is different to "knowing" about the computer, which is different to programming the computer, which is different to designing the computer.
The deeper you go, the more skill and knowledge you need.
Wor