[Haifux] My "Stop Using (and Teaching) C-Shell and Tcsh" Page
eyalroz at cs.technion.ac.il
Wed Oct 10 16:49:25 MSD 2007
After reading Shlomi's post, I decided to ask Yechiel Kimchi about the
C-shell issue; here's the email exchange:
I hadn't really given the Matam course syllabus a look since I had taken
it (with you) in 2001, but I continue to hear the "what do they teach C
shell for" complaint, so today I visited last semester's course website
and C shell is still there; I checked the FAQ for an answer to the
question and I didn't find one.
So, if it's not too much trouble for you to answer - how come C shell is
still taught in the course, instead of less problematic and
actually-used scripting shells like bash or ksh? This, in light of:
Of course, there's also the question of whether shell scripting should
be at all taught as part of Matam, but that's a broader issue of what
kinds of training should students get to work with / administer /
program in UNIXish environments, so that's not what I'm asking
PS - The answer to my question might belong in the FAQ :-)
First, thanks for you interet and comments.
I'll make it short (it's 1:35am here :-) without looking at the references
(sorry, I'll look at them sometime later, but I doubt they will change
my reply). 1. C-Shell is taught as a "tool" for manipulating programs
(in MaTaM's view, especially for testing) - this answers also the Q
of "why scripting at all?" 2. Students are not expected to become
Csh experts (I may agree that some technical details that are taught
are not necessary) but they are expect to understand its usefulness.
In that respect - any scripting language will do, even Perl.
3. AFAIK all Technion servers are csh or tcsh (I don't know whether
they provide bash) so it is the environment we have.
4. Coming to think of it, the resemblance with C is an advantage
(despite the "defects" and defects of csh).
Ok, thanks for the explanation (although I think 3. is a very
unfortunate coincidence we should have tried to change and I don't agree
with 4. ).
The meaning of (4) was that students learning curve
has relatively high derivative - for beginners - that's all.
(again, all I expect is _introduction_ to scripting
- others' mileage may vary ;-)
More information about the Haifux