4 ms·
That was a very thought-provoking post. In the case of Unix, I believe that its awakening came once it became available outside of academia and the enterprise
by linguae 8y ago
That was a very thought-provoking post. In the case of Unix, I believe that its awakening came once it became available outside of academia and the enterprise through FOSS *nix operating systems such as Linux and modern BSDs. This is anecdotal, but I remember when I first started using Linux when I was 15 years old (this was 14 years ago). The environment felt so powerful and so freeing compared to Windows. Later that year I learned about FreeBSD and started using it. I remember spending hours browsing the source code tree, reading documentation written by AT&T Unix guys and some of the original Berkeley CSRG staff. These experiences encouraged me to pursue a career in computer systems research, one that I am still pursuing today.
I didn't know about Lisp machines until the early part of this decade. But everything I've read about them generates the same excitement I had about Linux and BSD coming from Windows. In some ways Lisp machines are even more powerful than the Unix environment is. Unfortunately, there is no Linux/BSD analogue of the Genera operating system. Genera was never open-sourced, and I have not heard of any Linux or BSD analogues to Genera. The source code to some earlier Lisp machine operating systems have been released, but these operating systems lack the complete feature set of Genera.
Also, it would be difficult to develop a clone of Genera and have it gain traction in the broader community today. Linux not only benefitted from the already-existing work on the GNU toolkit, but it also emerged at a time when PC users were mainly using MS-DOS and Windows 3.0. The GNU toolkit and X11 is a dramatic upgrade from MS-DOS and Windows 3.0 unless you need access to proprietary software packages that could only run on DOS or Windows. But what if Linux had come of age during the days of Windows 2000? The story regarding Linux's adoption among PC enthusiasts might have been very different. In the case of a Genera clone, all work would have to be done from scratch, and it would have to compete against full-featured, readily-available operating systems like Linux, the BSDs, and Windows 10. It would also take a lot of time to write: the period of time between the founding of the GNU Project (1984) and the release of the first Linux kernel (1991) was seven years.
The closest thing we have to anything like Genera is Pharo, a modern derivative of Smalltalk. But even with Pharo it will take a lot of work to develop a suite of utilities that could make Pharo an environment that can be used as a daily-driver operating system.
Even so, I'd love to use a FOSS clone of Genera that's updated for the needs of the next decade or two of computing.
- pnathan 8y agoI realized this evening I should have said Lisp/Smalltalk. I would also agree regarding market conditions. One other thing, since this textbox is here and you're contemplating similar thoughts: the Modula-2/Oberon OS system in the 90s deserves some serious re-analysis and recognition of what it did do. My memory of a paper - and I haven't found this source when I went looking for it - is that it had a full networked productivity suite suitable for all users of the CS department? University? hosting Oberon's development. And it was used heavily in that place. It was a hardware-software-language codesign project, if I remember right. Maybe the last of its kind in the wild outside of the Linux/DOS projects with C and Intel processors. I do agree that someone who dropped a reasonably decent starting point for the Next Lisp OS in a fashion that multiple people could contribute to could get some traction and power. A lot of water has passed under the bridge since Lisp machines went away, and the model users and environments are substantially different. My reckoning is that a genuinely next-gen system would wind up with a trusted-compute base, maybe even a trusted-compute kernel, using Rust or other forward-looking technology, with the lisp system sitting on top. Broadly: rust would provide syscalls & drivers, then boot sbcl for the init and then the main user. It would be a fascinating exercise in modern OS & userland redesign. I think there's probably a PhD in it; as far as I know, that world has lain fallow for a few decades now in academia.
- pjmlp 8y agoETHZ, Swiss Federal Institute of Technology Zurich. http://www.progtools.org/article.php?name=oberon§ion=compilers&type=tutorial http://www.progtools.org/article.php?name=oberon§ion=com...
- pnathan 8y agoThank you! I must have read that page years ago, and I lost the link.
- scroot 8y agoThere are a lot of lessons from the 70s/80s even 90s that are completely absent from today's personal computing environments, and they are ripe for a comeback. Oberon/Genera-like systems had one thing right: make your system reasonably transparent all the way down. Design hardware for the system — not the other way around. Smalltalk systems went a step further, showing not only what true OO could be like, but that you could layer relationships of complexity atop one another and allow regular users to peek under the hood, at varying degrees of detail and difficulty, as they needed. Apple had something close to this with Hypercard in the 80s and 90s. Unlike that previous era, we have big advantages today that make me think the world is ready for reconsider all of this. The first is that we have more universally adopted standards for exchanging data (we don't bitch as much about compatibility across systems). The second, and somewhat related point, is that we can assume high network connectivity most of the time (itself a kind of universal standard). As I've said before: all a new system needs in order to be "viable" to the existing world is a web browser. Everything else can be rethought. Today I will be doing yet again another project for a client who simply needs to have data pulled in from a bank as CSV and inserted into their existing Excel template. This is in theory a very simple programming task. But the ecosystem and our environments make it tremendously and unnecessarily difficult. If we had "real" personal computing, they wouldn't even need someone like me.