[FoRK] Should Exist: a new UNIX shell
<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
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