Hacker News new | past | comments | ask | show | jobs | submit login
Smalltalk runtime in the browser (amber-lang.net)
138 points by andreiursan on Aug 15, 2013 | hide | past | web | favorite | 33 comments

Holy heck that is cool.

I begin to wonder if this is the way a Smalltalk or Lisp-machine-like live environments can be resurrected for 2013?

I mean, Javascript and the Browser are somewhat similar, but this takes it to another level.

Using this, I found myself back in CSE 341 at UW using Smalltalk VisualWorks. Nothing has changed a bit, and the world has moved on.

Also, directness isn't liveness. But then they don't define live at all, so it could mean anything.

The world has changed in many ways, and there is plenty of that these exciting shiny things to play with, if you wish. Yet too many great ideas were abandoned because, among other reasons, they were too ahead of their times. I welcome efforts like this, because they let these ideas to be known to the current generation, not just as history, but as something that fits into today's environment, tooling and goals.

How many attempts to create the perfect ide for programming the web, in the web, and yet we keep the distinction of what is source "file" and what is the app being run, and how you debug it. Smalltalk and it's developing environment made blurred this boundary, and might be a great inspiration if not a practical solution.

It was a great idea in the 80s, or even in 1995 when I tried it out myself. A lot of those ideas were cherry picked by people like Dave Thomas (OTI) into what later became IBM Smalltalk/Java VisualAge and eventually...Eclipse. Ya, the real world is a bit messier and no one has brought images over BECAUSE we couldn't make them work in practice, but 95% of the ideas have been transferred.

I find what Bracha is doing in NewSpeak to be much more interesting and up to date with modern times. Just rehashing a 20 year old interface and putting it in the web is great from a retro perspective, but it doesn't move us forward at all.

It is high time to move out of Smalltalk's shadow.

smalltalk is so dead nowadays that I see no point wishing to move out of it's shadow. A lot of research has been done from it, many different languages have proven to be more interesting from many aspects etc etc no need to argue about that.

The good thing about bring it back to life is for educational purpose, as, unlike many other research, smalltalks tended to have more complete and mature development environment, and I believe it might be inspiring get a feel of how to do things that way, I doubt any kid today will be inspired by doing something on vxworks

I love how people is so fast to bash the work of others. And I love to see how people can be so arrogant that they can ignore the main principle of communication: give arguments when you state something. Smalltalk is not dead, but is true is not mainstream. Nevertheless, there are companies using it in very large and hard environments (JP Morgan, OCML, etc.) and there are many researchers using it and bringing new cool stuff every year (stuff that in time can or cannot be ported to other languages), for example the research team where I work.

Yes... is not popular as Java, or .NET, or even Python. But banishing a language for not being popular is the worst argument I ever hear.

sorry I didn't mean to bash other people's work, quite the opposite. Even if it's not mainstream and probably not the "next great thing", I welcome anyone who has passion to develop it and bring it to the masses.

I don't understand why you are offended because I said that smalltalk is dead. It's just a way to say that it's not mainstream and probably it will never be again. And the sad thing is that for most part the reason of its reduced popularity has nothing to do with its technical merits, but this deserves a whole thread and if I remember correctly it has been covered many times before.

And yet...so many have copied so much from it.

Also take a look at:

One noteable feature is save-via-webdav.

That should just be http://lively-kernel.org/

Whops, sorry about that.

This is the "lisp machine" equivalent:


That's nothing like Symbolics Genera. Genera is amazing in so many ways, even how it does command line completion.

Check out http://en.wikipedia.org/wiki/Genera_(operating_system) for some basic info on what a Lisp Machine was like...

I would not put every Lisp implementation into the context of a Lisp Machine with a Lisp operating system. A Lisp in a browser with some features like files and threads is something different from a computer, a piece of hardware, which actually boots into Lisp. Also Genera, the OS of the Symbolics Lisp Machine, is a complex piece of software, which was based on the work of many person-years. It was also developed over a decade and sold commercially in several releases for several generations of hardware.

As such a Lisp environment in a browser is a nice achievement and it looks like a fun project. Naturally it is far away from a really sophisticated system like Genera. Still, it is interesting to write something like this small project. Though I would prefer something which would be compatible with Common Lisp and would allow reuse in that direction.

If people would want to know more about Genera, the operating system, the Wikipedia article is a good source. If there is something missing, we should add it.

Kalman Reti (who worked for Symbolics for many years) gave a presentation: http://kvardek-du.kerno.org/2013/03/kalman-reti-on-lisp-mach...

Can you go into a little more detail, or point me to a more in-depth personal account of using Genera?

There's a lot of info around, especially documentation, but it isn't going to give a feel of actually using it. If you look around, you can find that you can run it yourself on a sufficiently old x86_64 Linux / in a VM, but it is a bit of a complex process.

I've asked someone else if they might respond to you with some further and more useful info. Hopefully they can!

Thanks, I've looked around and have the necessary parts, but not the necessary knowledge. Time is also a rather limited commodity. Looking forward to any responses!

I didn't mean equivalent to a lisp machine, just equivalent to the submission in the lisp machine direction.

finally, an easy way to learn smalltalk http://amber-lang.net/learn.html

Squeak is a easy way to learn Smalltalk.

I get an unexpected character on line 1 message when I push the doit button on an iPhone. Boooo. Oh well, iPhone normally isn't great for learning languages on anyway.

You have to select "ProfStef next." text on the page, in a manner browser's document.getSelection would find those (not sure whenever this is possible on iPhone).

I think, given this is a newbie-oriented tutorial, the alert should be more helpful, like "empty program, select some text first!" instead of unexpected null character.

I didn't check it from iPhone. From my desktop (iMac) I only place the cursor on the "ProfStef next." line and press Ctrl-d or press the DoIt or PrintI - I didn't need to select the text and everything worked.

It's not only iPhone

Parse error on line 1 column 44 : Unexpected character null

You have to select the text and hit the button.

I guess it pays to read the instructions. >.<

So many awesome things to try out and so little time...

I'm really excited to see such great ideas of the past being resurrected like that. Things like Lisp machines and Smalltalk environment are still revolutionary and have much to contribute to the technology of the present.

It's a shame really that they almost died out. I could only guess what were the reasons for that but it's great to see efforts trying to bring them back to the future where they belong.

The Mill CPU [1] that was discussed a while ago is quite close to being the perfect architecture for a Lisp though, so hopefully many of other parts of these ideas will also come back in even more impressive forms.

[1] http://www.youtube.com/watch?v=QGw-cy0ylCc

Why is the Mill CPU good for Lisp? The Mill requires the compiler to schedule for cache and memory latency, but I would expect this to be difficult to predict for Lisp programs.

You wouldn't predict it but if you assume decent code/data locality, which isn't an odd assumption in this case, the Mill's concept of scope and execution is close to a hardware implementation of Lisp's apply.

FYI; I'm at the limits of my understanding here, so if you're a compiler or CPU architect and you doubt what I'm saying here is true then you're probably right ;)

Curious considering my comment yesterday: https://news.ycombinator.com/item?id=6214917

If this is solid, would be cool to see firebase (or similar) integration.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact