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