On Mon, Jun 11, 2018, at 7:14 AM, 刘宇宝 wrote:
> this makes me wondering
> whether anybody still seriously uses(or used?) Plan 9 for serious work,
> what software they frequently use, what software is most lack of.
For many years I used it and especially Acme to try to organise my life,
including every area of interest I had. Plan 9 and Acme played their parts
quite well. I even had multiple Acme sessions running, each with its own
plumber. Some windows held sub-instances of Rio, again with their own plumber
instances, for projects requiring graphics or PDFs.
Another use I had for it was playing MUDs, MUSHes, MU* -- telnet-based
multi-player games. I particularly liked Rio's "noscroll" feature in this case,
as I could catch up with all the messages at my own pace. In fact, I very much
like noscroll in general. On the other hand, the lack of color meant I could
miss things sometimes, such as a clue in a room description or a private
message while travelling -- noscroll isn't really feasible when you're
following someone rapidly through a dozen rooms, each with their own
description. I never got around to filtering different kinds of messages into
different windows. I should have.
Overall, I asked Plan 9 to do quite a lot of things it wasn't really designed
for, without writing a bit of C code, and for the most part it proved
remarkably convenient. Frustration eventually built up over some things,
particularly all the string manipulation -- converting data between the
different programs' needs -- when, even after all these years of practice, I am
_still_ bad at regular expressions! I developed ideas about another operating
system with structured pipes, but around this time I learned to relax. I
dropped most of my projects, stopped trying to play so many games so hard, and
no longer needed Plan 9 to help me organize it all.
Ironically perhaps, relaxing has freed my creativity so that I'm now
programming more than at any time since before I started using Plan 9 full
time. Most of it is going into game scripting at the moment, but on the back
burner is a Forth-based project; a sort of operating system where the primary
interface to all tasks is a Forth interpreter. So far, I've written the basics
of a text editor. It's *very* little code! Plan 9 is a very expressive system
for how little code it has, but this seems to be a major step beyond that. It's
a bit too early to really tell.
It offers the full power of a systems programming language at the editor
prompt. If that sounds like a problem, it's not yet. If it ever becomes a
problem for common tasks, I can write safer, higher-level, and probably more
convenient words (=functions, =commands,) to handle those tasks. That's
arguably how the text editor's basics already work. For instance, change-dotlen
performs safety checks before calling the (dangerous, powerful,) move word to
adjust the contents of the buffer for inserted or deleted text. rdot ("replace
dot") is a user command which calls change-dotlen to do most of the work, then
calls move again to copy the string into the buffer. change-dotlen is well
tested, rdot is so simple there are obviously no faults. :) (That's not
something I really believe in, I tested it too.) None of the other user
commands call move, they adjust dot and then call rdot. Adjusting dot means a
call to dot! (dot-store), which also has safety checks.
When all the necessary tools are written, there's just no need to use the
unsafe features, but neither is there a need to partition those features off
into compiled program space. There's no need to learn five different languages
for one task, and if you want to point out that a Forth system may well include
lots of mini-languages, there's no need for the mini-languages to have -- or
LACK -- their own loops, conditionals, variables, or function definitions, not
to mention jammed-into-a-string terse syntaxes.
I'd better stop here because I'm getting enthusiastic. :) It is early days yet,
I may have to retract some of my beliefs in the future. I still have a Plan 9
system which is almost always on, but now I no longer have a desk of the right
proportions to make mouse use comfortable, and can no longer bend over a laptop
for hours on end, (a Thinkpad with 3 buttons,) text editing in Plan 9 has
become unpleasant. I could patch Samterm and Rio to make it more comfortable,
but it's not worth it.
--
The lyf so short, the craft so long to lerne. -- Chaucer