[FoRK] Should Exist: a new UNIX shell

Karl Anderson <kra at monkey.org> on Wed Jun 6 14:47:41 PDT 2007

Jeff Bone <jbone at place.org> writes:

> On Jun 5, 2007, at 11:35 PM, Lion Kimbro wrote:
>> On 6/5/07, Russell Turpin <deafbox at hotmail.com> wrote:
>>> But that really is "on the line." In the large, it's hard to imagine
>>> languages that encourage more side effects and subtle
>>> environmental dependencies than shells. Is that necessary?
>>> Or can it be cured?
>>  How do SmallTalk/Squeak communities deal with this?
> The same way Lisp guys used to, the same way MUD folks do, and the
> same way Emacs users currently do:  by drinking the Kool-Aid.  It's a
> pro / con sort of thing;  for all-inclusive all-encompassing
> environments, you pretty much have to commit to living in the
> environment exclusively in order to get the full benefit of the
> environment.  And those benefits are substantial.  But the downside
> is that you're largely locked into that environment;  dealing with
> "the outside world" is higher-impedance than dealing with in-
> environment tools;  and extracting your stuff / sharing it with
> others is somewhat more tedious, as the environment *is* the
> application.

This is how I felt about MS Visual Studio last I used it 7-odd years
ago.  Isn't this how desktop developers are expected to work now?  And
is the browser this generation's version of the Squeak prison?

By contrast, I spend most of my tube time in Emacs.  My shells are all
in buffers.  It's what an IDE should be - a set of buffers containing
files or interactive shells, globally searchable, and not wasting any
screen real estate on what I don't want to look at.

I trade the shell readline/tab completion for Emacs' readline, which
is good and bad, but I get grep-find in the buffer, vc-mode (version
control interface), and pdb-mode (debugger and interactive Python
shell with source visiting), and my co-workers and I don't have to all
work the same.

I don't miss the Visual Studio features because I work with Python,
which is very introspective, although I remember missing them when I
last did real C++ work.  And the pipe is still passing lines of text,
so it'll have to adapt or be left behind if someone actually makes use
of Monad-style object passing in the shell.

We're talking about IDEs now, which is usually different because you
tend to know the process flow that you're working with.

Also, I wonder how important all of this really is.  I'm very
productive in my environment, but I've worked with Visual Studio
people who've blown me away.  I don't know if they've adapted, or
would be more productive in a different environment, or are just good
enough that they don't need my puny tools.

Karl Anderson      kra at monkey.org      http://monkey.org/~kra/

More information about the FoRK mailing list