News for hackers. Stuff that matters.
Re:Design Principles Behind Smalltalk (1981) by dgb23 on Friday May 20, 2022 @01:40PM (#31450463)
> Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one.

I like this one especially.

It rings true if you imagine a world where you have complete control over your machine, you don't worry about possibly external code breaking or extracting your stuff and so on.

But lets just pretend we don't need to worry about these things for some reason. It would be so powerful. And I don't mean you have 'root' privileges, I mean your programming environment owns, controls and _is_ everything that happens. No black boxes, no overhead, nothing. Just _one_ runtime that is integrated all the way down with the expressive power of a Lisp/Smalltalk/Self or similar. It's sad that this doesn't seem like a viable option.

Re:Design Principles Behind Smalltalk (1981) by mch82 on Friday May 20, 2022 @02:00PM (#31450638)
People just need to start chipping away at it. Eventually it’ll exist.

My favorite inspiration for “chipping away at it” is https://ephtracy.github.io/ who has been slowly building up the coolest 3D art tools one commit at a time.

Re:Design Principles Behind Smalltalk (1981) by dgb23 on Friday May 20, 2022 @02:55PM (#31451209)
That's amazing, and inspiring. Thanks for sharing.
Re:Design Principles Behind Smalltalk (1981) by jibbit on Friday May 20, 2022 @02:53PM (#31451180)
I’m not convinced by the logic of the “you didn’t read the article rule”. I wish we could talk about it.
Re:Design Principles Behind Smalltalk (1981) by timbit42 on Saturday May 21, 2022 @04:42PM (#31461596)
Like Oberon.
Re:Design Principles Behind Smalltalk (1981) by AnimalMuppet on Friday May 20, 2022 @02:28PM (#31450914)
The problem with environments like that is that they are never perfect. There's always something that at least some users need that they left out. But, since they're trying to be everything, they don't leave you any way to leave their world to go get something from the real OS, or the bare metal, or wherever "outside" is.

So, if you're trying to build an "everything" environment, sure, try to get everything in. But know that you will fail. And therefore, don't trap people. Leave them a way to get "outside".

Re:Design Principles Behind Smalltalk (1981) by musicale on Friday May 20, 2022 @05:20PM (#31452650)
> they don't leave you any way to leave their world to go get something from the real OS, or the bare metal, or wherever "outside" is.

Pretty sure the idea was and is to run Smalltalk on bare metal. Which you can absolutely do.

The more realistic problem is: what if you still need Firefox, or Office, or Photoshop? One solution is probably to run Windows and Smalltalk on a hypervisor. You still get low-level access from Smalltalk (hypervisor calls, hardware access, etc.) without giving up Windows (or Linux, etc.) apps and compatibility.

Running a web browser in a hypervisor is also probably a good idea for isolation reasons.

Another interesting idea is to run Smalltalk on the JVM (which itself was inspired by the Self and Smalltalk VMs.) You lose some low level access from Smalltalk but you gain interoperability with Java as well as portability.

Re:Design Principles Behind Smalltalk (1981) by dgb23 on Friday May 20, 2022 @02:46PM (#31451098)
In a sense that's a valid point, but what we have seems inferior in this regard. My machine is running a huge amount of individual, uncoordinated runtimes. Often there's layers and layers of uncoordinated bloat, communication overhead and everyone does his own garbage collection, scheduling format translation, gui rendering and so on. It's incredibly wasteful and the only thing that patches over it is that my computer is fast enough to handle all this crap.

/rant

I get that all of this has reasons, often historical. PC/Internet adoption just grew so fast during 80's and 90's that nobody even had the time to think it all through and design a coherent system. Even new OS's and runtimes have to carry over all this legacy stuff. I mean I get it and as a web developer I'm probably more part of the problem than the solution. But boy would computing be simpler, more powerful and expressive if we could just start over and lean on the ideas of (mostly) early, holistic visions and prototypes of personal computing.

Re:Design Principles Behind Smalltalk (1981) by jgerrish on Friday May 20, 2022 @07:30PM (#31453858)

  I mean I get it and as a web developer I'm probably more part of the problem than the solution.
Ironic Humblebrag? The developer tools and consoles built into browsers are in some ways a return to the Smalltalk and LISP Machine development ideals I've read about, if you consider the Internet the machine.
Re:Design Principles Behind Smalltalk (1981) by jdblair on Friday May 20, 2022 @03:39PM (#31451655)
Everyone who grew up with 8-bit micros understands what it feels like to know the whole machine.
Re:Design Principles Behind Smalltalk (1981) by timbit42 on Saturday May 21, 2022 @04:43PM (#31461602)
I wouldn't say everyone. Most people just played games on them. They would have gotten a game console if their parents hadn't wanted it to be educational.
Re:Design Principles Behind Smalltalk (1981) by pjmlp on Friday May 20, 2022 @04:13PM (#31451995)
It almost is though,

Type 1 hypervisor + language runtime on cloud deployments