UNIX/scripting/programming courses?
Mark J. Dulcey
mark at buttery.org
Tue Oct 11 12:06:38 EDT 2005
>>Java might be a better first language today because it is both structured,
>>Object Oriented, and does not have some of the vagaries of C or the
>>complexity of C++.
>
> Most CS curricula seem to do this these days. I'm not sure it's
> a good idea, because people then try to do things in Java as
> well...
Oh, come now; Java isn't all that bad, especially not as used in a
typical classroom. The biggest problems with Java, to my mind, lie in
the complexity of the class libraries used for enterprise applications;
most classes taught in Java never touch those. Think of it as C++--;
that is, C++ with a few of the more difficult bits taken out. It's easy
to transition to C++ after learning Java; the syntax will already be
familiar, and you're used to the idea of classes and so forth. But you
will have to get used to the whole business of managing storage.
Besides, Java has one HUGE advantage as a classroom language, especially
in a commuter or continuing education school where most students will be
doing their assignments on their own computers, rather than on computers
provided by the school. No matter what sort of system the student has
(unless it's a real antique, in which case no other language will be any
better), you can count on Java being able to run on it. Also, the
programs that the student develops will be compatible with the
instructor's system, and thus possible to grade.
It's hard to think of another language for which this is equally true if
the students are writing programs with a GUI. C and C++ have annoying
cross-compiler and cross-platform incompatibilities, so classes in those
languages usually have to mandate a specific type of computer and a
specific development environment, which is tough on students who might
have to go out and buy a new computer to participate in a class.
If you remove the GUI requirement, scripting languages like Perl and
Python also come close. But most academics disdain scripting languages,
so they're not going to use them in a beginning programming class.
More information about the Discuss
mailing list