4 ms·
Plan 9 elicits in my head the same kind of thoughts as Lisp -- I find them both extremely appealing on an intellectual level, and can't help but wonder why ther
by gonzus 6y ago
Plan 9 elicits in my head the same kind of thoughts as Lisp -- I find them both extremely appealing on an intellectual level, and can't help but wonder why there isn't more of them around in the "real world".
As a software developer, my main use of my computer is writing / building / running code and surfing the web, mostly in read-only mode but also to interact with others via stuff like slack. I have always wondered how difficult it would be to make Plan 9 a viable platform for these requirements, and why this is not so today (or maybe it is and I just don't know where to look): does the difficulty lie in porting programs that already run on other operating systems? Are there other, deeper reasons? Is it possible today to run stuff like vim, gcc / g++, python, java, node, zig, rust, firefox on Plan 9? If not, is it possible to port these, or are there fundamental architectural reasons against it?
Note: I am willing and happy to try other paradigms, such as acme for editing, but also find it quite baffling that, if it is technically possible, you could not install vim / emacs / vscode alongside acme.
- drybjed 6y agoThere is a port of vim for Plan 9[1], I think it should be included in 9front as well. [1]: https://vmsplice.net/9vim.html https://vmsplice.net/9vim.html
- Lichtso 6y ago> Can't help but wonder why there isn't more of them around in the "real world". I think the biggest strength (and weakness) of the ideas both present in LISP and Plan9 is the consistency and internal integration. And, I see two big challenges with that. One is technical: It is not that easy to reinvent everything and do it in such a way that makes it more consistent than existing systems. If we believe Conway's law such an effort would require a team as small as possible, optimally just a single person. Note that Plan9 for example does not fully integrate, the programming language and standard library are not composed of the same building blocks as the underlying system, there is a divide there. The second is economical / political: While such a consistency and internal integration is desired by the users and developers, it is not very beneficial to business. Image if all components were actually integrated with one another. How would management divide that into projects? How would you make marketable products from it? How would you implement your branding and vendor lock-in? Where would SaaS and subscription models fit in?
- anthk 6y agoAcme >>>>>>>>>> vim. >Gcc/g++ Just get plan9's C. >Python They have mercurial, so yes. >Node, Firefox. Avoid that, seriously. You have a Go compiler, BTW.
- gonzus 6y agoI cannot tell if you are responding tongue in cheek (in what seems to be a Plan 9 tradition) or being serious. My points are not that any of these tools are better or worse than the others; I am trying to say that I would like to play with Plan 9 as a working environment, but cannot because it lacks most of the tools I want / need to use. I don't use Go. I use C, some C++, and Typescript (so, Node). Why would I have to avoid those? Most importantly, if I have to (seriously) avoid Firefox, what is the alternative that will allow me to surf the modern web, which (again) I NEED to do daily? If the answer is "nope, Plan 9 is not intended for this type of user" then I guess that's fine, although sad to me, because I cannot play around with something that is appealing to me. And, again, if this is the case, it would be interesting (to me) to understand WHY: why is there no Firefox (or any modern browser) for Plan 9. From another comment, I learned there IS vim ported to it, so I guess that means it is fundamentally possible to port medium-complexity software. Maybe nobody else cares about having these things in Plan 9, which again, is fine. Cheers.
- drybjed 6y agoLinux has almost 30 years of active development behind it, thousands of people wrote projects for it, which were then used by others. "Firefox" is not a simple application, it depends on multitude of other software and libraries to run. Let's see just the runtime dependencies from the Debian Stable `firefox-esr` package: libatk1.0-0 libc6 libcairo-gobject2 libcairo2 libdbus-1-3 libdbus-glib-1-2 libevent-2.1-6 libffi6 libfontconfig1 libfreetype6 libgcc1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libpango-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb-shm0 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxrender1 zlib1g fontconfig procps debianutils And that's just runtime dependencies, I'm not sure what you need to compile it in the first place. Don't forget that these may have their own dependencies and so on... And for comparison, runtime dependencies of the `nvi` package which is probably closer to that vim port than normal `vim` package in Debian: libc6 libdb5.3 libncursesw6 libtinfo6 Much less software overhead. If you want the Firefox experience from your typical Linux distribution on Plan 9, somebody needs to either port all these libraries, or provide functional equivalents. The problem is that for the longest time Plan 9 license was not favorable for anyone wanting to develop it further - that's why we have all these forks and re-implementations around, which increases fragmentation. Hopefully now, that Plan 9 has been opened fully, there's a Foundation behind the project, people will pick it up again and start porting stuff to it. Forks could be folded back into the main project if their developers would want to. But don't expect Firefox right away just yet. Also, don't forget that Linux had 20 years of development in its UI and UX department; Plan 9 didn't. You can see on the Plan 9 Foundation GSoC page[1] that there are plans to work on this part of the OS. When the work is done, hopefully more people will be attracted to the platform itself, which will mean more hands to work on porting or developing other software, and there's a chance that we can snowball an alternative ecosystem from there. [1]: http://p9f.org/wiki/gsoc-2021-ideas/index.html http://p9f.org/wiki/gsoc-2021-ideas/index.html