It was thus said that the Great "Fred Cisin (XenoSoft)" once stated:
On Fri, 17 Aug 2001, Chuck McManis wrote:
Sounds like Italy (the driving anyway!) I do
recall that when I learned to
program in Fortran the school had a you send a deck of cards in that they
would run and then you would get your results back. It did make you stop
and think. Still I have to agree that teachers have a lot more influence
than language environment.
Reminds me:
I had a student in the mid/late 80s, who "obviously didn't have the
prerequisites". She didn't know what a source file was, what an object,
nor executable file was, hadn't ever heard of a "compiler" nor a
"linker".
But, it turned out that she had a decent grasp of algorithms. It
turned out that she had had multiple programming language courses at Cal
State Hayward, where she had learned the words "deck" and "results".
In the early 90s I was in a Unix Systems Programming class, with
prerequisites of Data Structures, Compiler Writing (undergrad level) and a
working knowledge of C. In other words, it's an upper level course.
So the professor was talking about how a program is typically laid out in
memory when it's loaded and running---here's the text segment, here's the
data segment, stack and heap. A student then raises her hand and the
professor calls on her.
``Excuse me professor,'' she said. ``But where do the comments go?''
I've rarely seen the professor's expression on other people, and usually
only when hit upside the head with a 2x4 [1]. It took him a full two
minutes to finally recover and then he went onto a digression about the
compilation process, something that should have sunk in during Compiler
Writing.
I confronted one of the profs there, and asked him why
they didn't at
least teach their students about compilers. His response: "that's for
TECHNICIANS and OPERATORS. Computer scientists don't need to know that
petty stuff."
Heh. There were a few professors I had like that. One that taught
Software Engineering, hated programming, and his stuff would only work on a
machine that was infinitely fast and had an infinite amount of memory.
Keep in mind that students don't need to continue
to use the language
that they started with for the rest of their careers!
If they start with one language and then very early on, switch to another,
then they have the possibility of NOT developing baby duck syndrome, and
of haviong a better understanding of how languages work.
I fortunately learned early on (even before college) that there were
families of similar languages and there are only a few families: procedural
(Fortran, BASIC, C, Pascal, Lisp, Forth), functional (Haskel, ML, /bin/sh
(to a degree), Lisp, Forth), object oriented (which came out of procedural
mostly, Smalltalk, C++, Jaba, Lisp, Forth), assembly (pick your chip) and
Lisp (Lisp, Forth, Postscript). And once you know a few, picking up a new
one is no big deal (okay, what's the syntatic surgar for this one?)
-spc (And writing portable code is actually easy if you start out
trying to write portable code ... )