[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: who needs es..?
I've been using es as my default login shell for ages. At first I suppose
I did a lot of experimenting, but most of that's slowed down now. Partly
because es is pretty stable now and I've not much time to play anymore
(too much work to do).
Some have argued that es is slow and big, but really it's not that bad. The
only experience of slowness for me is to do with the interactive features
(ie the issue that affects me on an everyday basis) not being builtin. For
instance, I have a es function that emulates things like history recall by
searching through $history--this uses sed and friends so obviously it's not
going to be too fast. I haven't compiled in the readline stuff partly
because I don't like it. I've other things which emulate other shell
features as well which don't have to call external utils--these are still
``slower'' than other shells too. But I am not disappointed by this as I'm
used to it now, so I don't miss things like job control, history etc.
The advantages though are many--over an above rc. It have much of the
cleanliness of rc but also exposing the internals and functional language
features are great. I tend to do a lot of spoofing of ``builtins'' and as I
said earlier I write lots of convenience shell functions mainly for
interactive use, so having the internal utils usable at the shell level, eg
%split saved me from using external progs.
The two most wonderful features are the first-class functions and ``let''
variable space. Instead of the all the hairy quoting problems, I just throw
around thunks, with rsh as well, with absolutely no problems. I know that
these aren't interactive features, but they do implement most of the things
that I use in a normal shell session.
In fact, I have to conclude with the fact that I do use many if not all of
the features, obviously some with a higher frequency than others, but having
them around are great. Most of them are orthogonal features, so I don't
think therefore es is too big either.
Coming from a csh -> bash -> rc -> es background, I haven't looked back.
Sorry for the length of the message, but I thought that I had to give to Paul
Haahr and Byron Rakitzis's effort the credit is definitely due.
Paul and Byron, thanks for giving me a totally different perspective of
shells,
Pete.
PS. I'll definitely be awaiting any further developments by either of them.