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 [EMAIL PROTECTED] 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 _______________________________________________ Haifux mailing list Haifux@haifux.org http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux