Cool, but... this is one of the "problems" with Smalltalk and Lisp, in terms of the mentality. Instead of focusing on what 99% of developers need, they work on doing turtles all the way down, and go into business competing with Linux, Windows, et al.
Now, from a pure tech point of view, what they're doing is cool, interesting, and worthy of praise. Just that they shouldn't complain if they wonder why they're not as popular as Ruby, Python and friends.
The idea of eliminating the OS isn't about "competing" with Linux or another OS. The idea is that in some cases you simply don't need a full traditional OS.
Ruby and Python have there place. They started as scripting languages and matured from there. If you haven't done serious work in Smalltalk you don't have the understanding to compare. Smalltalk did certainly provide 99% of what most developers needed. The reason Ruby has taken market share and Smalltalk's market share seems smaller has little to do with comparing choices between the two.
Smalltalk's ascent was throttled because of the promise of Java. Ruby has risen in large part due to the fact that Java has not lived up to its promise in certain aspects. Could Smalltalk have made a stronger comeback instead of Ruby coming on strong? Maybe...but that a complex discussion.
To those that were inside the Smalltalk community when Java came on the scene, they know that Smalltalk died essentially because Sun had no revenue model against Java and could give it away for free. All three Smalltalk vendors at the time sold per seat licenses for the technology. Their business models did not allow them to rapidly change and give it away for free. This is the core of the reason along with the fact that Sun had lots of money to throw around to convince people they knew what they were doing.
It's certainly a complex discussion without one answer, but my point is this:
> The idea is that in some cases you simply don't need a full traditional OS.
The number of those cases is quite limited compared to the number of cases where developers are perfectly content to develop on top of an OS. Therefore, investing effort in the limited case rather than in the common case is effort most likely not wisely spent.
Both points of view are valid, and both are represented in the Squeak community. There are projects to make 'businessy' frameworks to harness the power of Smalltalk for conventional applications. There are also lots of people who love Squeak precisely because it's so different from their day jobs. They do what they find fun, and care not a jot if there will be one other person who might find it useful. Sometimes this is frustrating, in that you feel the effort could be channeled elsewhere, but if it weren't like that it wouldn't be Squeak.
There will be real world applications for Squeak all the way down, but it clearly won't be another general ledger or another social bookmarking widget. It might be an iPhone that anyone can reprogram for themselves, or it might be a device that no-one has realised they need yet, or...
In some cases you do want a full traditional OS but one with a better security model than Linux/UNIX, or one with version-control built-in or..or..whatever else Windows/UNIX/Linux/etc. are lacking.
This sort of thing wouldn't be competing with Linux. It would be far closer to competing with Nessus (the Blackberry OS) or FIRST Robotic's PIC "OS" or some other small embedded systems, instead of being a destktop OS.
to horribly abuse Feynman's phrase -- There's plenty of room at the bottom. The embedded market is huge. There's also a whole lot less need to stick with legacy systems; things are throw-away and you don't need to transfer apps between them as much. If you want to create a totally new system, start in embedded.
You want me to use Smalltalk? OK I downloaded Squeak and plaed ayound with the cute MINI-OS-GUI-platform-thing.
Ok very different from what I had done before. Seemed to make easy stuff hard. Of course that could just be me not being used to that type of programming.
How long does it take to learn Squeak, I mean to really learn effectively?
Is there a way to use Smalltalk as an ordinary programming language?
Is there somewhere I can go to download and get going fast?
Squeak has a learning curve, that's for sure. The language itself it easy, but the environment is so different that it takes some getting used to. I would recommend Squeak By Example (http://squeakbyexample.org/).
Your whole environment is there. Your editor, and your API documents are the objects themselves. Open up a browser in the Squeak environment and start clicking around. Open up a workspace and a transcript and write some samples that use the classes you find in the browser.
The point is that it's supposed to be a Squeak VM running directly on hardware. (So converting the VM to a CM -- Concrete Machine; yes, I did just coin that term). Running C code would mostly defeat the purpose.
Also, in a way it is an OS, but it's an OS that does nothing more than run what used to be a single userspace VM, so.. unless a VM is a userspace OS, it feels kind of funny to say that this is an OS...
Essentially, this is an OS-free VM, or a single VM OS. Both are correct.
I just grabbed it and played around. I don't really know Smalltalk very well, but it's kind of neat, I guess. If it wasn't running in vmware I couldn't actually use it a real computer for how much you give up. Maybe as a deployment method along with VMWare ThinApp I could see it being practical?
I'm almost scared to ask, but is there projects that I don't know about to do SBCLNOS (EmacsNOS?), or PyNOS, or RubiNOS?
Whenever I think about a "next generation" OS, I tend to imagine something like Squeak. I'm glad the SqueakNOS guys have decided to go with an underlying Linux kernel instead of doing it entirely from scratch.
Now, from a pure tech point of view, what they're doing is cool, interesting, and worthy of praise. Just that they shouldn't complain if they wonder why they're not as popular as Ruby, Python and friends.