

Prototype Based Programming Languages - fogus
http://www.bluishcoder.co.nz/2009/07/prototype-based-programming-languages.html

======
ajross
Prototypes are a huge win not just for language expressiveness, but for
interpreter implementation too. My language, Nasal
(<http://plausible.org/nasal>) uses the same tricks to implement "objects",
"classes" and "modules" in script code using precisely the same internal
mechanics.

------
mahmud
How can I take this seriously when it forgets to mention Omega? the pretties
little thing with prototypes.

[http://www.pervasive.jku.at/About_Us/Staff/Blaschek/Omega/_R...](http://www.pervasive.jku.at/About_Us/Staff/Blaschek/Omega/_Report/Introduction.html)

Blaschek's book (one of the hard-cover light blue books from the Monographs of
Theoretical Computer Science series) was an absolute delightful win.

~~~
silentbicycle
I'd never heard of Omega - it looks like it combines prototypes with optional
static typing. I ordered the book, looks very interesting. Thanks!

It doesn't mention Lua, either, and Lua is used a lot in e.g. the game
industry. It does mention Javascript, albeit as an afterthought.

Also, Slate: (<http://slatelanguage.org/>) (Never used it, though.)

I'm glad to see mainstream interest in prototype-based OO building.

~~~
doublec
I planned to go into more detail in JavaScript since it's probably the most
widely used prototype based language. But the article was getting long so I
left the brief mention and maybe revisit it later to compare how the
limitations of only one immutable prototype slot affect usage. It's one of the
reasons I left doing the examples 'as an exercise for the reader' to see how
other people approach the examples given before I gave my approach.

~~~
IsaacSchlueter
_probably the most widely used prototype based language_

Not probably. It's arguably the most used programming language, period.

That being said, I'm kind of glad that you didn't go into much detail about
it. There's a lot of Javascript info online, and I'm more curious about the
other languages you tackled. It'll be interesting to see if there are any
responses that focus on applying some of the benefits of other prototype
languages to Javascript development.

------
protomyth
NewtonScript was another great prototype-based OO language with a good
persistent storage mechanism (soups). The UI was quite interesting.

------
wlievens
I did my master's thesis on symbiosis between prototype OO and class-based OO
models in an interpreter scenario. The objects would be exposed in both
directions so that you could use objects from the host language (Smalltalk) in
the hosted language (a toy language developed at the university), and the
other way around.

Pretty interesting stuff.

