[Haifux] My "Stop Using (and Teaching) C-Shell and Tcsh" Page

Eyal Rozenberg 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:


Hello Yechiel,

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 :-)


Shalom Eyal,

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 mailing list