3 ms·
While these "first programming language" articles seem to be perennial favorites, we've reason to be skeptical on many grounds. First, the authors never seem t
by mkn 18y ago
While these "first programming language" articles seem to be perennial favorites, we've reason to be skeptical on many grounds.
First, the authors never seem to be someone qualified to design a curriculum. No doubt they are all qualified coders with a reasonable amount of work behind them and a good understanding of machine fundamentals. However, curriculum design is a specialty, with it's own pitfalls and peculiarities. We may as well ask these authors what a good technique is for thoracic surgery is. They're equally qualified.
Second, while the authors are not qualified to design a pedagogy, they certainly seem to feel that they are, based on their own idiosyncratic experiences. This borders on egomania. "I learned C/C++/Java/QBasic/Lisp first and look how awesome I am. Therefore, everyone should take my obviously optimum path to learning the One True Way of coding." Is there no room for others to learn differently? To take a path different from one's own and still come to the same fundamental understanding and skill level?
Third, and finally, the various authors' lack of imagination considering curriculum design is staggering. Can they not imagine a gentle introduction to algorithmic science via any of the Turing-complete languages out there other than their first language of choice? Is there no room for variety? For example, can any of them answer definitively whether it is better, for any describable subset of students, for them to (1) "learn the hard way" by having to interrupt their focus on the problem at hand to compile c code into object files, hand them to the linker, and then run the executable or (2) forgo the 'obviously essential' details of x86 architecture so that they can hit Run in their lisp/sheme/python environment and see the immediate results? Clearly, in the first case, those that get through the trial by fire will have an easier time learning other languages. However, couldn't that be an indictment against compiles languages as a first language; that the learning curve is too steep?
In the face of the infinite variety of students, learning styles, teaching styles, learning environments, available hardware, and (most of all) pedagogical goals, I'm reminded in this case of a wonderful proverb taught to me by my high school English teacher: It is better to shut up and be thought a fool than to open one's mouth and remove all doubt.