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
