Nadav Har'El
Mon, 17 Sep 2001 00:40:30 -0700
On Mon, Sep 17, 2001, mulix wrote about "Re: using unix page: early draft":
> On Mon, 17 Sep 2001, Shlomi Fish wrote:
> if csh is to c as english is to french, bash to c is as english to
> arabic. nothing alike, syntax-wise. csh at least LOOKS familiar, which
> sure seems like a lot to a frightened freshman.
This is completely silly. When I was a freshmen, I studied infi and algebra
(for example) in the same semester. Two completely different things. Who
says you can't learn two different things?? If C and shell were the same
thing, there would have been no reason to learn them both anyway!
Do you know what? I learnt sh (bourne shell) and C when I was 10, reading a
book in English when I barely knew English, and knew nothing about computers.
If I managed to do it, so can the students in the Technion at the age of 20.
Give them a little credit - they are not total idiots :)
As someone already mentioned, learning two different syntaxes is actually
a good preperation for a world filled with dozens of languages with different
syntaxes.
> i think the technion should not be teaching c as a first language, but
> rather c++ or even java.
This is a seperate debate, and I personally don't agree: I think C++ is a
much more complex language than C, and it's much harder to write *good*
programs with it (i.e., a program which an expert can look at it and say:
yeah, that's a good way to code what you wanted to do!). I've seen too many
examples of people writing bad code in C++, which is even harder to fix or
understand than bad code in C.
If C++ is used as some sort of C + "overloading tricks" + "a small class
instead of a small struct", I'd rather them teaching C first.
> in contrast, i dont mind the technion teaching csh. it's a useful tool.
No it isn't. It's as a useful tool as a worn-out screwdriver: when you go
out to the outside world, once in a while you'll need to use a screwdriver
that has been worn-out, and you'll need to settle with it. But it's no reason
to learn only about worn-out screwdrivers. Usually you have the choice, and you
need to know how a good screwdriver looks like, where to get one, and how to
use it, and not go into a hardware store saying "I get confused with all
those brand-new screwdrivers - we didn't have those when I was studying. Do
you have some crappy worn-out one?".
> csh is useful. there are a lot of csh scripts out there (who knows how
> many of them were written by technion graduates? ;))
I've never seen a csh script written by someone who actually knew what he
or she was doing. Sorry... It's useful to read csh (and I do), but never to
write it.
> > specifically asked for a C-shell script, two students over-blown their
> > script just so they can handle directory names with whitespace. Needless
> > to say, in the bourne shell this is a non-issue which can be easily
> > solved.
>
> there's always a better tool. so what's your point?
"betterness" of tools is not a linear ordering. You can't say
csh < bash < perl < C++ < lisp
Because usually when you take a pair of tools (e.g., bash and perl) each one
is better in different things. Perl is not a convenient replacement to sh
when it comes to writing short scripts with mostly pipelines of existing
utilities, while bash is not a convenient replacement to perl when it comes
to complicated text and number handling.
However, in this case clearly csh < bash, in every case (can you show an
example where csh is better than bash?), which is why you can teach csh
as some archaic language (like Latin is taught), but it should not be taught
as the tool of choice.
Tools which are always inferior to others should go the way of the dodo. This
is why no-one uses 'ed' anymore for interactive editing, and nobody lights
their house with candles, to use just two silly examples. csh is just as silly,
in my opinion.
--
Nadav Har'El | Monday, Sep 17 2001, 29 Elul 5761
[EMAIL PROTECTED] |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |"Never be afraid to tell the world who
http://nadav.harel.org.il |you are." -- Anonymous
--------------------------------------------------------------------------
Haifa Linux Club Mailing List (http://linuxclub.il.eu.org)
To unsub send an empty message to [EMAIL PROTECTED]