Greetings To fish-users@lists.sourceforge.net: My apologies for top-posting. (Necessitated by the email client I'm using.)
And apologies for the wordiness. (Unavoidanble in this case.) * * * * * * Kurtis Rader's posting has prompted me to comment on his comparison of fish shell and zsh. I read the page at the url Kurt provided: http://www.skepticism.us/2015/10/its-time-to-replace-zsh-with-a-saner-shell-because-unsetopt-multifuncdef-breaks-tab-completion/. On that page, Kurt rightfully complains about a zsh release (zsh v5.0.8) that broke earlier scripts. And Kurt politely complains that "zsh simply has too many ad-hoc features that interact in surprising ways". * * * * * * Like Kurt, I too was attracted to fish shell. In my case I was looking for a modern shell to use with the DragonFlyBSD (dfly) operating system, as my "non emergency" shell to replace the older csh and tcsh. I have done a lot of work to integrate fish shell into my dfly system. Naturally, when I started working with fish shell, I subscribed to the fish shell forum email list. * * * * * * One posting to the fish shell forum in particular, caught my attention and forced me to doubt the wisdom of my choice of fish shell (see 15 September 2015 email from Andrew Gillham <gill...@roadsign.com> to fish-users@lists.sourceforge.net, subject "[Fish-users] 2.2.0 wildcard expansion.". In his posting, Andrew indicated he discovered that a new release of fish shell broke some scripts that worked correctly with earlier fish shell releases. Andrew's posting (and the short thread that ensued) really shook me badly. * * * * * * Like Kurt, I have a long resume as a software developer (in my case, now "retired"). One absolutely inviolable principle I learned the hard way (and I had a nervous breakdown learning it:) is that I priorize software reliability over any other considerations, such as features, innovation, ease of use, etc. I can't understand why the developers of fish shell (and other shells, e.g. zsh about which Kurt complains) are not totally and absolutely 100% committed to NEVER, EVER BREAKING ANY SHELL BEHAVIOR with new releases. Never breaking existing scripts, without at the very least LOUDLY WARNING users about the breakage, in release notes. A shell (whether used interactively or for scripting of recurring tasks) lies at the very heart of so much functionality on any system !! How is it possible for any shell developer not to be a total 100% fanatic about NOT BREAKING user shell scripts ??? * * * * * * I have already decided to abandon fish shell, because I cannot accept what seems to me, to be a casual attitude among fish shell developers, to this script "breakage" issue. My thinking is to use mksh instead of fish shell. I am much less interested in cool features (e.g. the powerful colorization abilities that attracted me to fish shell in the first place), than I am in reliability. Nothing cool or groovy in a shell can ever make me abandon a ruthless focus on reliability. I will always prefer to use the "clunky and reliable" over the "cool but untrustworthy" and I will never ever, bring into any live production software environment, any "cool but untrustworthy" software . How can any sane person (who wishes to stay sane) possibly use a tool like a shell, when the developers of that shell seem to think it's OK to disastrously break existing shell scripts (no matter how "minor" the breakage) -- break shell scripts that have been carefully and thoroughly tested and are being used in production operations, that are depended on and trusted by naive users? Kurt cites in his posting, the worthy principle of "solid design goals". My naive question: Isn't reliability always the most important of all solid design goals? Am I missing something here? Steve ----- Original Message ----- From: "Kurtis Rader" <kra...@skepticism.us> To: "Juan Simón" <deced...@gmail.com> Cc: "fish-users Mailing List" <fish-users@lists.sourceforge.net> Sent: Tuesday, December 29, 2015 7:16 PM Subject: Re: [Fish-users] Sane scripting? On Tue, Dec 29, 2015 at 1:44 AM, Juan Simón <deced...@gmail.com> wrote: > I've installed fish shell (git version) and I have found that it's a great > shell , it saves many keystrokes and comfortable to use, but a pain when > writing scripts.I get the impression that want to differentiate > themselves from other shells, and only for this, stuffs get complicated. > [examples omitted for brevity] > One of the highlights of fish shell is supposedly simplicity: "...its > syntax is simple, clean..." (http://fishshell.com/). I think the above > examples speak for themselves. > It's annoying to me because I like too much this shell but its "Sane" > Scripting no much. > I've been programming for a living since 1978 (almost four decades). In that time I've used numerous UNIX and non-UNIX shells. Before switching to fish a few months ago I had been using zsh for ~7 years and before that ksh (Korn shell) for over 15 years. I find the fish approach refreshing. Yes, it takes some getting used to but that's true for any new language. You can read about why I gave up on zsh here: http://www.skepticism.us/2015/10/its-time-to-replace-zsh-with-a-saner-shell-because-unsetopt-multifuncdef-breaks-tab-completion/. Zsh is the poster child for everything wrong with shells that don't have a solid design goals. -- Kurtis Rader Caretaker of the exceptional canines Junior and Hank -------------------------------------------------------------------------------- > ------------------------------------------------------------------------------ > -------------------------------------------------------------------------------- > _______________________________________________ > Fish-users mailing list > Fish-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/fish-users > ------------------------------------------------------------------------------ _______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users