A colleague of mine used to have
emacs as it's default shell. :)
Other people like
screen as a login shell for remote systems.
You can even use plain
irb as a shell. (There is a module for adding the basic shell commands as ruby methods.)