7 ms·
Does anyone on HN use Plan 9 for day to day coding? I've been wanting to hear practical experience with Plan 9 - likes, dislikes, etc.
by matthewbauer 12y ago
Does anyone on HN use Plan 9 for day to day coding? I've been wanting to hear practical experience with Plan 9 - likes, dislikes, etc.
- RBerenguel 12y agoI've used Acme for long stretches for go programming. But native Plan9 (or VM P9) just lacks too many of the tools I use regularly, pity.
- pekk 12y agoIt should not be too hard for people to write utilities to fortify what Plan9 offers, if they know what to write. But it's a chicken-egg problem to write utilities if nobody uses the platform. Is it a dead cause?
- pmoriarty 12y agovim or emacs, gcc, and bash or zsh would be a good start. I'd love to use, learn more about, and improve Plan9, but the lack of the above make it pretty painful. This is why Hurd is probably far more likely to gain traction in the foreseeable future than Plan9.
- elementai 12y agoPlan9 can probably gain traction in something completely different than workstations or even servers, more like embedded or highly specialized devices. Just like a lot of people say, often one needs single killer app.
- rcarmo 12y agoI was able to find a vi-like editor for Inferno, fwiw. I think the issue is more a lack of updated language runtimes.
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- gchpaco 12y agoNone of which are likely to happen, I'd point out, because vim, emacs, bash and zsh are all tied into some sort of notion of a virtual terminal with software controlled cursors, etc etc etc. Plan 9's TTY is astoundingly primitive by those standards; essentially it emulates a line printer but doesn't even have the good grace to allow backspacing. Oddly, said terminal exposes the contents of the scrollback buffer—both read and write—to a file, which is how the native Plan 9 history mechanisms work. This is entirely deliberate, of course, and a substantial part of what makes the system so different and interesting, but step #1 to porting those would involve reinventing xterm, basically. In theory for vim and emacs you could work around that by using the graphical interface, much as say Acme does. I would estimate this to be at least as much work as porting from X11 to, say, Cocoa was, and possibly even worse. And this port would only get you a vim or an emacs that was materially identical to its Unix counterpart—no Acme style control FS and essentially no cooperation with the normal Plan 9 UI elements.
- deleted 12y ago[deleted]
- anth 12y agoThat's quite a load of legacy baggage. If your first reaction to a new system is "how do I get my old environment?", you may be missing the point. You need two shells, two editors, and a specific (gigantic!) compiler? There's a vi for Plan 9 (even skipping the old joke about the MIPS interpreter...). I think it's vim, but I haven't paid much attention. David Hogan did a gcc port, and mostly nobody cared so it languished.
- anth 12y agoAlso: HURD? You're funny.
- weland 12y agoConverting many of the tools used by the Unix hackerdom is made rather difficult by two aspects: * Plan 9's approach on terminal is entirely decoupled from the TTY idea. The terminal is basically a program that takes commands, has a shell run them, and pipes back the result, with none of the VT-whatever stuff. Even getting ncurses-based tools to run would require some effort. * There's no X11 There are some graphical tools for Plan 9 (including more or less barebones web browsers), but there is just enough difference from Linux and BSD environments that people aren't quite willing to cope with it.
- quintile 12y agoThis is an x11 port in the contrib directory equis - if you want it. I use it to communicate with remote linux machines. There is also an ncurses port and a vim port. I don't feel the need for either of those.
- weland 12y agoGood point. I sort of lost contact with the Plan 9 world a while ago -- I kept following the news, but no longer ran a system. Last time I used it, the X11 port was somewhere between experimental and broken, and vim is, uhm, not the editor whose port I'd be interested in :-). My comment is certainly not up-to-date. Edit: I share your point about the lack of need for either ncurses or vim (especially vim, hheheh). My first contact with Plan 9 was somewhat disappointing, mainly due to the fact that I approached it with the oh, Unix, I know this! frame of mind. I was very much a Linux fanboy back then (did I mention it was in highschool? And this is not the dumbest thing I did in highschool!). Only after I studied the source code a little, and learned rc more seriously, did I really begin to appreciate it.
- jacquesm 12y agoNot only does it lack them, there is a huge amount of resistance to porting them because they are 'against the spirit of plan 9' or something to that effect. Which increases the barrier to entry. I'm a huge fan of the principles behind Plan9 but I've never done much more with it than install it, play around with it for a bit, read documentation and newsgroups on what makes it tick. Other than that I've de-installed it... And I would probably use it, maybe even on a (light) production box to see how well it would fare in real life given a chance. But the amount of stuff that is missing compared to vanilla unix makes that a non-starter.
- zura 12y agoI'm always interested to hear opinions from Acme/Sam users. While these "editors" have some unique features, don't you find annoying the lack of basic code completion and syntax highlighting?
- deleted 12y ago[deleted]
- dexen 12y agoNot really. Don't you find annoying the lack of built-in file browser and powerful regex-based transformation language? Don't you find annoying the lack of quick access to search/navigate/execute/copy-paste mechanics via mouse click? In Acme, all text is hypertext. The difference between Acme and previous generation editors (Vim, EMACS etc.) is like between The Web and a library of paper books.
- fmoralesc 12y ago> Don't you find annoying the lack of quick access to search/navigate/execute/copy-paste mechanics via mouse click? Yes, which is why I've written some acme emulation for vim twice. (Incidentally, I was working on that yesterday before this link was posted: https://github.com/fmoralesc/plan9-for-vimspace https://github.com/fmoralesc/plan9-for-vimspace I have to improve the button 2 functionality, and chords are still not supported, but I'm on it. A plumbing system is planned, although I'm not sure if its best to reuse plan9port's plumber or reimplement it.) > In Acme, all text is hypertext. Exactly. Which is why, even though I am a serious vim junkie, I love acme so much.
- weland 12y agoI used Plan 9 continuously for one summer, a while ago, when I was in high school. It's a nice environment, but certainly not something that could be used for day-to-day computing. I still needed another computer for almost anything that did not involve coding. I don't remember if that was before or after they open sourced it, but I distinctly remember poking around the source code during another summer. It's a pleasure to read it. They ignored a lot of received wisdom and the result is an elegant, if unpolished and occasionally buggy, system. IMHO it would have made much more of an impact if it had not been kept on a leash by Bell Labs. I still use Acme occasionally and some of the bunch of scripts I use are in rc. Acme is a beautiful editor that doesn't get in my way much, but the mouse-only interface is fairly clunky and I don't have the time and energy to keep my own patches over it for sane (ahem, emacs) bindings. I use it, occasionally, as a distraction when working on a more boring project, or when I just have to write long streams of text that don't require much jumping around.
- deleted 12y ago[deleted]
- bulte-rs 12y agoI'm hestitant to give it a full try on my raspberry pi mainly due to the lack of a standards compliant web browser (yes, I do web work for a living). Anyone here in the know on the current state of browsers on plan9?
- rcarmo 12y agoIn a word, dismal. They recommend you VNC over to another machine for using a full web browser, since the current existing browsers are far from modern (think Mosaic-grade with some CSS support)
- bulte-rs 12y agoSad to hear. You - by any chance - don't have any dev experience for plan 9 apps itself do you? Would be interesting to find out how hard 'ui' apps are to build. Incorporating webkit in a 'custom browser' might not be easy; but not undoable.
- aap_ 12y agoYes, it's pretty much undoable. You'd have to compile webkit for Plan 9, which requires a C++ compiler, which Plan 9 doesn't have. There are some gcc ports, but I don't know how well they work. There are also probably a ton of dependencies. So a modern webbrowser is not really feasible.
- quintile 12y agocomea c++ is available though it costs $50
- yellowapple 12y agoAbaco (the browser shipped with Plan 9) has support form most of the HTML4 spec, but lacks support for things like CSS and Javascript (see: http://plan9.bell-labs.com/sources/contrib/fgb/abaco.pdf http://plan9.bell-labs.com/sources/contrib/fgb/abaco.pdf). It might be feasible to swap out Abaco's HTML parsers and such with a "modern" rendering engine like Gecko or Webkit while retaining its webfs-based approach to navigating the world wide web.
- SixSigma 12y agoYes, it is dreamy. Going back to other environments is like going back to stone tools.
- quintile 12y agoI have been using plan9 as my desktop since 2000. As people have said browser support is an issue, there is linuxemu + firefox but I prefer to remote desktop/vnc to a windows/linux VM that my work's IT dept look after. In this day and age throwing another VM at the problem is not a big deal, and is definitely easier than porting webkit. I write C code for embedded and server side code so I can write this in portable C and run it on windows, Linux, plan9 or embedded under threadx. Its an environment I am used to and I like it, I find I am productive with it. -Steve
- anth 12y agoI alternate between Plan 9 and Plan 9 from User Space. There's no getting around the browser issue, so when I'm on the go it's all the User Space version, sadly. When at my desk, it's easier to have a side-by-side setup, or VNC or whatever.