Apparently, csh programming is considered harmful.

Frank Shute frank at esperance-linux.co.uk
Mon Dec 17 11:26:28 PST 2007


On Mon, Dec 17, 2007 at 07:33:22PM +0100, Peter Schuller wrote:
>
> > other BSDs for that matter. It being GPL guarantees that quite apart
> > from it general suckiness.
> 
> Can someone please explain why bash sucks?
> 
> Everyone keep's saying this but I have never heard anyone explain why, other 
> than the GPL issue. I really want to know.
> 
> (This is not because I'm a bash fan. My personal favorite happens to be zsh.)
> 

Disclaimer: I haven't used bash for 5 years or so, so things might
have improved.

It used to suck then because it's vi-mode wasn't as good as other
shells e.g pdksh, as someone else in this thread mentioned.

It also had bugs in how it handled terminal escapes.

The tragic thing was that these went on for years without a fix.

It was also tremendously bloated at the time.

Basically though, I bash bash out of habit :) although I seriously
think that there are better shells out there and more people should
use them. People seem to use bash and never try anything else.

> > I tried replacing /bin/bash with /bin/ksh on a Linux system and it
> > almost completely broke it. Suggests the Linux folks can't write
> > boot scripts without bashisms.
> 
> If this is a poke at the use of #!/bin/sh when the script actually requires 
> bash, I 100% agree.

Yeah, it was :) The scripts are lies. They say they use /bin/sh but
actually use bash extensions. They only work because /bin/sh is a
symlink to /bin/bash on Linux.

> However, if your intent (and the intent of Chuck Robey in that earlier) post 
> is to imply that it's bad programming practice to write anything than POSIX 
> compatible scripts, then I have to ask again - why?

Every unix machine has sh, so if you write your scripts using that,
you can transport your scripts between machines with a good idea that
they will work without having your shell of choice installed with
it's oddities & extensions. This might be important where you've got
a machine that you can't install your shell of choice, for whatever
reason.

It might be a rare circumstance but it's for similar reasons I also
write all my letters & documents in LaTeX. (No lock-in too).

> 
> This is kind of a pet peeve of mine, so here goes somewhat of a rant. Please 
> enlighten me as to why I am wrong:
> 
> I don't understand why everyone insists on POSIX compliance for portability 
> with shell scripting. The POSIX common demoniator seems to suck. Seriously. 

[snip]

It's just for portability that I write to sh. If I'm doing anything
vaguely complicated then I use perl instead, which is also pretty
portable.

And of course Bash primarily sucks because it's GPL which also sucks ;)

My basic position: the license is too complicated and open to
(mis)interpretation and it's not as free as BSD.

Regards,

-- 

 Frank 

	
 Contact info: http://www.esperance-linux.co.uk/misc/contact.html 



More information about the freebsd-questions mailing list