Tracy R Reed wrote:
This ties in with our study of SICP. I tend to agree with the author. I
don't have a CS degree either but I am educating myself and I am more or
less familiar with the concepts that are mentioned that a lot of CS
grads don't have these days. I have seen several articles like these
lately:
http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
I know they specifically point the finger at Java but I don't think they
are really saying Java is the problem. It is the decisions of school
administrators and their fear of losing all of their enrollment because
programming is just too hard that is the problem. It seems like industry
is starting to put some pressure back on the schools to stop the
dumbing-down process and start making real software engineers (and we
all know we use "engineer" in a rather loose sense here since
engineering is science and programming still too much art) again.
Some of you may be aware that MIT has recently dumped SICP and Scheme
(known as 6.001) as their intro to computer programming. I don't go to
MIT so maybe I shouldn't care but it seems a shame that such a well
received and respected program is being changed when none of the
fundamentals of programming or the concepts being in the class have
changed.
The Dewar piece is self-serving whining because they can't hire recent
graduates cheaply. When I see a phrase like "As founders of a company
that specializes in Ada programming tools for mission-critical systems,
we find it harder to recruit qualified applicants who have the right
foundational skills." what they mean is they are unwilling to pay what
it takes to get someone to use an essentially dead language. When I got
my Masters in Software Engineering, I had to take Ada as a prerequisite
course. Where is Ada now?
The programmers of the future won't be using languages that have
pointers. Look at Java, Python, Perl, TCL/TK (Hi Lan!), PHP, Javascript,
Erlang, Haskell, Ruby, and many of the other new and experimental
languages coming out. NONE of the new languages have pointers. There is
a reason for this. Pointers result in bad code and wasted programming
effort.
There will be niche programming efforts where something needs to be
written in C (portable assembler). Maybe the virtual machines need to be
written in C. But I would argue that if you want to educate the most
programmers to produce useful code for least expense, don't waste their
time teaching them C or C++ or even my favorite Pascal (actually,
FreePascal, which is Pascal with objects).
They whine about floating point computations. Huh? That's for the
hardware. If your hardware doesn't have a co-processor, then what are
you doing trying to do floating point to begin with? If you really,
truly need to do floating point in software, buy the damn library.
These professors have been around a few decades. The world has passed
them by and they don't know it's time to retire.
Gus
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg