[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some Comments [was Re: Article for Slashdot]
>>>>> Shlomi Fish writes:
Shlomi> Regarding the Technion: I have studied EE there for one year
Shlomi> and so far the best description I can give it as an academic
Shlomi> institute is "stupid". I'm positive I can learn much more
Shlomi> by working.
Shlomi> For instance, the first two courses a CS-related student
Shlomi> takes teaches him about ANSI C, then more about the standard
Shlomi> C library, data-structures (in C), some C++, and finally:
Shlomi> C-shell programming.
Shlomi> As a general rule, Academe are more clueless than
Shlomi> industry-workers, in the field of computing or in general.
Pardon me for butting in here, but this is really getting ridiculous.
You've been at the Technion for only one year, and you're already sure
that academics are clueless and that you could have learned more by
working? I suggest that you get a little more experience in both to
realize that each has its advantages.
I agree that it's silly for the Technion to teach you C and C++. But
hey, I'm a Lisp bigot, and think that people should learn Logo,
Scheme, and Lisp as their first programming languages. Once you do
that, you wonder why people program in other languages -- but then
again, once you have Lisp under your belt, other languages are a piece
of cake.
Indeed, if you want to do your brain a favor, pick up a copy of
"Structure and Interpretation of Computer Programs," by Abelson and
Sussman, and published by MIT Press. You'll soon see that the
academics have quite a lot to teach you.
I have certainly learned more practical skills in my professional life
than I did when I was in school. (For the record, I went to MIT, but
spent a semester at the Technion.)
But you don't attend a university to get practical skills; you attend
to learn how to think. Once you learn how to think in the right way,
it shouldn't be any trouble for you to pick up any programming
language, be it Perl, Python, C, C++, or Java. And you'll understand
how to evaluate them in context, realizing that each set of design
decisions involves trade-offs.
I use Perl just about every day, and I'm writing a book on the
subject. But I'm also trying to work on my Java, Lisp, and Python
skills, since they are interesting languages and allow me to solve
problems in different ways, often better than could be done with Perl.
Perl is wonderful for most of what I do, but I wouldn't want to write
a relational database server in it. There would be too many
type-safety issues, and performance would be terrible. And besides,
if you're storing a billion records, you *do* want the speed gain of
treating numbers as numbers and characters as characters, rather than
the "everything is a string except when used as a number" that Perl
gives you.
Every language has its strengths and weaknesses. The fact that you
can write Perl programs quickly and easily is a big strength for most
of the work I do -- but I'd rather that the Oracle folks take their
time to produce a reliable, fast, and easily maintainable database
than be able to hack it out within one weekend.
Perhaps Oracle is jumping the gun a bit, but that's because they
realize that all software, even when written in Java, might contain
bugs. They'll need time to shake the bugs out. But the reliability
vs. performance that you'll get out of Java will undoubtedly surpass C
and C++ very soon (if it doesn't already), and then Oracle customers
will be able to benefit from fewer crashes and more features.
Shlomi> I'm not saying that Linux or Java aren't great, but they are
Shlomi> not breakthroughs from the computer-science sense.
This is certainly true. For breakthroughs, you need to turn to the
academics. Or do they not have anything to teach you?
Shlomi> Those are the facts, and let the Oracle Corp. management
Shlomi> deal with them.
They'll get back to you as soon as they're done counting their
billions of dollar bills.
Reuven