How to teach OS
Bill Hacker
wbh at conducive.org
Fri Mar 4 11:20:32 PST 2005
Aleksander Rozman - Andy wrote:
*SNIP*
If you would learn programing it would be better to learn Java. Most of
newer OO (Object Oriented)prog. languages follow Java's way of
programing and after you know you can easily start programming in C (or
at least with C++)... It's better to learn Java than C since Java is
much cleaner.
Clean syntax, strong typing, and safe coding do not make up for poor
performance,
or UNIX (the world) would long since have abandoned C.
If you are *teaching* the goal is to get those minds that *can* become
programmers
interested, fired-up, rising to the creativity and analytical and
debugging challenge.
Believe it or not - at that stage you *want* a language that allows
shooting off both feet,
but also rewards one for paying attention, and makes it bleeding obvious
what happens when you do not.
THEY will pursue many languages if you can get that spark started.
I learned Pascal in high school, and when we started doing C I, and all
my classmates were lost (Java didn't exist then). It's better to start
with something that will be needed later.
Disagree. First you walk, then you run. Bicycle before Honda, Bigger
Honda before Harley, and
for sure lots of miles before an 18-wheeler. The functionality has to
fit the situation.
'Ab initio' doesn't work well for programming. As with musical
composition, it requires
a certain talent - a different way of using the brain than painting or
flying a jet.
That's why a whole class of 'teaching' languages has been tried. It is
as much a
sorting process as a training process.
At least a 'taste' of machine-code and assembler would have folks better
understand
how the resources are utilized, and appreciate what compilers have to
attempt.
Saying 'we don't code in those anymore' is not a reason not to teach
them, anymore
than skipping the alphabet helps one become a novelist faster.
The process has to be fun, has to encourage good habits and reward
elegant coding,
(dare we even hope for document-as-you-go? ... Nah.... )
- else you get graduates who measure their worth in 'millions of lines...'
instead of stability, resource efficiency, and maintainability.
Them's accountants or bricklayers. Not programmers.
Bill
More information about the Users
mailing list