

Smalltalk runtime in the browser - andreiursan
http://amber-lang.net/

======
girvo
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.

~~~
seanmcdirmid
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.

~~~
ithkuil
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.

~~~
seanmcdirmid
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.

~~~
ithkuil
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

~~~
estebanlor
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.

~~~
ithkuil
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.

------
e12e
Also take a look at:

    
    
      http://http://lively-kernel.org/
    

One noteable feature is save-via-webdav.

~~~
zeckalpha
That should just be [http://lively-kernel.org/](http://lively-kernel.org/)

~~~
e12e
Whops, sorry about that.

------
gosub
This is the "lisp machine" equivalent:

[http://alex.nisnevich.com/ecmachine/](http://alex.nisnevich.com/ecmachine/)

~~~
BruceM
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)](http://en.wikipedia.org/wiki/Genera_\(operating_system\))
for some basic info on what a Lisp Machine was like...

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

~~~
BruceM
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!

~~~
mietek
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!

------
andreiursan
finally, an easy way to learn smalltalk [http://amber-
lang.net/learn.html](http://amber-lang.net/learn.html)

~~~
aidos
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.

~~~
drdaeman
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.

------
bionerd
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.

~~~
mtrimpe
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](http://www.youtube.com/watch?v=QGw-cy0ylCc)

~~~
cwzwarich
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.

~~~
mtrimpe
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 ;)

------
dysoco
Curious considering my comment yesterday:
[https://news.ycombinator.com/item?id=6214917](https://news.ycombinator.com/item?id=6214917)

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

