[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] growing out of idle ide
The dissatisfaction expressed here with the various IDEs and text
editors might benefit from some thoughts I had recently about text editors.
I use a text editor more than any other tool on my computers. Many years
ago, before using MSWindows I used Vi, and it was very powerful, but
like emacs it precedes the common keyboard and mouse standards so is
difficult to relearn. When I moved to MSWindows I used a very cool
editor named TextPad, which is amazingly flexible, but closed and
proprietary (though it can be bought or used for free). However since
moving to Linux some years ago I've felt increasingly frustrated about
the lack of a suitable editor. For a while I used TextPad under Wine
(Windows simulated environment), but that fell far short of ideal.
Astonishingly, in my search for a good, flexible text editor I found a
gigantic list of *one and a half thousand* text editors at
http://texteditors.org
That made me realise the scale of the problem: I'm not the only one who
is dissatisfied with them. Many people are. And many of those are
sufficiently annoyed that they go out and make their own. Of course each
editor, no matter how well it works for any individual fails to suit
everybody else because there are thousands of ways to use a text editor.
I started to despair of ever getting the perfect text editor and I
figured I would end up having to make my own too.
So I started to think long and hard about what I needed in a text
editor. In a flash of inspiration I suddenly understood why everybody
had failed and would continue to fail and how I could make the *perfect*
text editor:
Use the philosophy that led to the great success of Unix (and Linux).
Don't try to build a single big program to solve all text editing
problems. That way leads to bloat and duplication of effort, as well as
freezing the program's capabilities. Make lots of little programs that
all work together, each one doing a single, small job, but to
perfection. As a group then they become much more flexible and more
capable. Linux already contains about 45 text-oriented commands. And you
can use the simple stream editor sed, along with the pattern-matching
language awk, and of course python to easily add any number of more
complex commands should anyone need some extra functionality -- they
don't have to wait for the next version of the editor. All that is
needed is an extremely simple GUI for mouse and keyboard and a way to
pass data off to those small commands and get data back from them from
within the GUI... well, Linux already has that -- the standard input and
standard output along with pipes. Some editors go a little way toward
that by using plugins, but they are always too complex, not
general-purpose, and sit inside an editor that is already far too
complex and bloated.
This would work marvelously for an IDE too. In fact it would be the same
editor, but with whatever IDE functions each user required, and no more.
I found out more recently that this is the technique used by nosql, a
database system, that instead of using a single monolithic database
program, uses all the tiny programs that already exist in Linux, plus
about 60 small programs (mostly shell scripts and awk scripts). I think
Google now uses a nosql approach to databases. It has become something
of great interest lately, though SQL devotees are weirdly hateful about it.
Anyway, that's my take on this problem. I haven't the time (and perhaps
not the talent) to make the simple GUI needed for the editor, just yet.
If I can't find one that I can bend to my uses I will try to make one
eventually. If someone wants to beat me to it then they have my
blessings. :)
Cheers,
- Miriam
--
If you don't have any failures then you're not trying hard enough.
- Dr. Charles Elachi, director of NASA's Jet Propulsion Laboratory
-----
Website: http://miriam-english.org
Blogs: http://miriam-e.dreamwidth.org
http://miriam-e.livejournal.com