views:

379

answers:

3

I have spent sometime trying to pick one, on net comparisons are for zsh vs bash and fish vs bash. But, I Could not find any comparison for zsh vs fish. I program in c/c++, apart from hello-world types, never done any major scripting. But now trying my hands at python and shell-scripts. Which shell keeps more juice in terms of productivity first and then development.
Or in the end, the power and usability of any shell comes to it _rc files. So am i good enough with bash.

A: 

if you can't find any comparison between zsh vs fish, then try them out yourself. That's the only way you can tell which one you prefer, nobody else can tell you that. Also, define the meaning of productivity. For me, its the abundance of modules and the language's internal capabilities. If you have started with Python, go for it. As for shells, you can learn less of it (not saying totally forget about it), with regards to maybe understanding your rc scripts and other system stuffs etc. Beyond that, Python can do what the shell does.

ghostdog74
A: 

You'll be most productive in an environment you already know. I used bash for years and its fine. It completes almost everything, can be used with git, mercurial ...

The MYYN
A: 

Historically there was been a flame ware of sores over the C shell (CSH and TCSH) VS. Bash. the complaints agains the CSH variants are that they're bad for scripting.

In the years I've been a CLI junkie, I've never done any stand-alone scripts wher the scripting language was picked bvecause that's what my shell was.

I've written a variety of scripts that can broadly be divided into two categories:

  1. Those that help my command line productivity
  2. Those that are not directly related to my command line productivity.

Scripts in category 1. are almost always written in my shell scripting language (often as functions as I'm using ZSH and was previously using BASH both of which support functions).

Scripts in category 2. are written in whatever seems like the most efficient (both development time and running time taken into consideration). I often find myself writting small scripts in Perl, C (compiled, obviously), BASH/ZSH/SH or what ever else I want. I've done a little python scripting (but not much), and even resort to java on occasion (compiled-ish, again).

So what am I babbling about? Don't base you choice of shell on it's stand along scripting capabilities. Choose your shell for it's utility to you as a shell. Script in whatever else you choose. You'll probably be good enough with bash as your shell (though I like zsh a bit more, */ globbing is nice and a few other small things, but most scripts I've written for zsh are early identical to their bash counterparts).

SuperMagic