I agree with Moody.

As for languages:
I'm not really interested in porting languages to enable dragging along
legacy software for the sake of running it on Plan 9.

An example I have is kicad. It's huge but useful and I've made a few PCBs
with it but I have no interest in ever seeing it run on Plan 9. There's no
benefit. If anything, I'll run it as a container on a Linux VM served to a
9 machine. If I want to design a PCB on 9 I'd rather a pure 9 CAD tool kit
that lets me do other things with it besides PCB design like
milling/turning, house blue prints, or making Doom maps. That's what I'm
after - new modular ways of doing things.

I'm not a programming wiz but it would be nice to have a well supported
language on Plan 9 besides c. I prefer that it be small and simple enough
to git/clone then mk install and jump right in. A great example of the
simplicity I'm after is the native port of Lua and the recently developed
Street Lisp. All I need to do is clone a repo and either run a script or mk
install and I'm ready to write and run code.

Things like Go and rust are huge to the point where building Go is used to
test thrash gefs. Its compilation time is larger than rebuilding all of
9front. That's a turn off for me. Binary packages only paper over that
problem so it's not only about compilation times - it's about complexity.
To be clear: I'm not against Go or other existing languages. I'm just
disappointed in how big and clunky they are.

Languages these days are built as ecosystems - a large mother ship that
lands on a platform and abstracts it away. The programmer then lives inside
of the mother ship. That makes sense if the platform doesn't offer clean
abstractions but that isn't Plan 9.  I prefer the OS to be the mother ship
and everything docks via the same 9P shaped docking port. That let's me
pick the right tool for the job instead of living in a monolithic ecosystem
that assumes I want to do everything using $language.

This is why I think of Plan 9 as a research OS that's ready to research the
future of software design. It's why I wrote my paper and continue to
sloooowly tinker and build software to communicate with industrial
controls. I want to explore new and better ways of doing things. I want
small things that when combined provide a huge amount of functionality -
9P, rc, and awk already give us so much of that to the point where I still
have trouble wrapping my head around it. There's so much more to explore
here, languages included.


On Wed, Jul 2, 2025, 8:31 PM Jacob Moody <[email protected]> wrote:

> On 7/2/25 07:46, Dan Cross wrote:
> > On Tue, Jul 1, 2025 at 6:37 PM Jacob Moody <[email protected]> wrote:
> >> One of the reasons why Plan 9 is nice is that we do not have to copy
> everyone else's mistakes and assume
> >> their baggage for supporting X, Y, and Z environments.
> >>
> >> [snip]
> >> If people feel like we need something other than C, I'd prefer to see
> us write something for ourselves, not import another language
> >> off the shelf. If you want Node or Rust you know where to find it, I
> don't think we need them in Plan 9. What is the benefit of Plan 9
> >> if all it does is run Unix software but (very likely) worse?
> >
> > I agree with much of what you said, particularly the last sentence,
> > but want to clarify a point and also sound a note of caution.
> >
> > I think what you meant, and please correct me if I'm wrong, is that if
> > one wants something other than C, one should write an implementation
> > for oneself, instead of trying to import the (large) upstream version.
> > But I caution against trying to, say, design a new language just for
> > Plan 9. Language design and language _implementation_ are independent
> > things, even if they are cousins rather than complete strangers. Do it
>
> I think you were a bit too charitable with my reading, I was implying
> designing our own language from scratch. You're correct in that it's
> a very large undertaking, but I'd like to think we have the chops for it.
>
> > for fun or as a research experiment? Sure; have at it. But as a
> > serious production endeavor specific to plan 9? Perhaps not.
>
> To me, 9front exists to have fun and as a research experiment.
> I want to keep the spirit of Plan 9 as a research operating system alive
> and well.
> I think the fact that what we have wound up with could be construed as
> "serious production"
> is a testament to just how many people have been drawn to the fruits of
> said research and
> experimentation. People come for the ideas, find and report bugs, and
> things get more stable.
>
> >
> > Also, the cautionary note is to not be too reactive against the rest
> > of the world (which is something I readily admit myself guilty of,
> > when it comes to Plan 9). I'm not saying that you specifically are
> > suggesting being so, just that it's something that does happen quite a
> > bit. Doing something just to be different, when a perfectly adequate
> > solution exists that would fit within the large system ethos, isn't
> > terribly useful, either.
>
> I agree with you, and as part of our design process we constantly ask
> ourselves about what the prior work is. I think the desire to not use
> something as-is comes more from a place of wanting to compound on to the
> existing work that exists, instead of replacing it wholesale for the
> sake of it.
>
> The work I did with chdev was shamelessly influenced by what openbsd did
> with pledge and unveil. That whole project started with me trying to
> implement
> more or less exactly the same interface, but we found that to make it work
> well
> we needed to think about things a bit differently and that drove a change
> in the
> interface.
>
> >
> > Different systems have different design philosophies and goals; plan
> > 9's is interesting, but it's just one of many interesting systems.
> >
> 
> Absolutely, and I hope that whoever else comes by and wants to learn
> from our research and experimentation can do so, maybe taking their
> own step forward and trying their own thing.
> 
> Thanks,
> Jacob Moody

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tf84d656c78bbda91-M449318ae4e9395fafd94f260
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to