>>3,6
I don't exactly get what the hype around scsh is, but I think the idea is the following:
Unix shells provide a single language for two purposes: 1) interactively executing commands, and 2) writing scripts. It is clear that they were designed for the first case, the second being only an afterthought. I think Eshell is only capable of the first one. Meanwhile, scsh was designed for scripting and programming, with proper lexical scoping, data-structures, everything a programmer could want (coming from Scheme), but with a convenient interface to the system that resembles the ease-of-use provided by the shell.
Meanwhile Gash is an implementation of the POSIX sh.