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

Reply via email to