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

Eyal Rozenberg eyalroz at cs.technion.ac.il
Thu Oct 18 16:32:09 MSD 2007

It's not as though I agree with what Dr. Kimchi said. Actually, I don't 
think this list is the forum in which it is useful to debate this 
issue... probably initiating a discussion with the vide-deans in charge 
of teaching and undergrad studies is the better way to advocate moving 
away from C-Shell at the CS department.


Shlomi Fish wrote:
> On Wednesday 10 October 2007, Eyal Rozenberg wrote:
>> 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:
>> http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
>> http://www.grymoire.com/Unix/CshTop10.txt
>> 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
>> Eyal
>> 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?"  
> The same argument can be said in favour of Bash.
>> 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.
> This same argument can also be said in favour of Bash. Even more, because Bash 
> is more useful than C-Shell.
>> 3. AFAIK all Technion servers are csh or tcsh (I don't know whether
>> they provide bash) so it is the environment we have.
> So? Bash ships with Linux by default, so it's a no-brainer to install it 
> there, t2 carries it and one can install it everywhere a CS student may have 
> to use it.
> I'm pretty sure you can change that.
>> 4. Coming to think of it, the resemblance with C is an advantage
>> (despite the "defects" and defects of csh).
> C-shell hardly resembles "C", and there are many "faux-amis" ( 
> http://en.wikipedia.org/wiki/False_friend ). For instance, C-shell has no 
> curly braces ({ ... }), you cannot put arbitrary expressions inside the if 
> ( ... ), assignments are "set a=b" instead of "a = b", etc. I find the Bash 
> syntax much more suitable for a shell, and more consistent, and think it 
> would be less trouble to learn it.
> So it's not a C-shell advantage either.
> Regards,
> 	Shlomi Fish
> ---------------------------------------------------------------------
> Shlomi Fish      shlomif at iglu.org.il
> Homepage:        http://www.shlomifish.org/
> If it's not in my E-mail it doesn't happen. And if my E-mail is saying
> one thing, and everything else says something else - E-mail will conquer.
>     -- An Israeli Linuxer

More information about the Haifux mailing list