looked at the development of Ajax, XMLHttpRequest, and the rise of Web
Prototype and Objects
I haven't been able to track down a concrete answer to the question "why
you might remember this quote from Brendan Eich:
And we were pushing it as a little brother to Java, as a complementary language like Visual Basic was to C++ in Microsoft's language families at the time.
than Java, and as most of us know Java's object model is extensive.
objects and closures.
I remember hearing about a talk by Dave
Thomas where he bemoaned the overuse of
classes in object oriented programming. Is object oriented programming
about objects or classes? The way most people are taught is class
This is something worth keeping in mind when we talk about
prototype-based programming. It's not always easy for those trained in
classical object oriented programming to see the distinction between the
The History of Prototype Programming
Prototypes came from a desire to further develop object-oriented
languages, with the language Self. The
language was first publicly released in 1990. In 1991 the developers
Self challenges the notion that classes and objects are distinct. In
instantiating objects from a template. Objects used to create copies are
known as prototypes.
You can learn about Self in the Language
prototype-based languages were developed. Lua was created in 1993, and
is now widely used in the games industry for scripting tasks. REBOL
appeared in 1997, using the
make function to construct and
One prototype-based language I've played with quite a bit is
io, which was created in 2002. It's succinct and easy to learn, and I think it should appeal to Lisp or
Trends in Prototype-based Languages
If you look through the popular prototype languages you'll notice a few
- Simple syntax
- Inspired by languages like Scheme
- Small, efficient VM
respective niches, and more developers than ever are versed in this
style. Given the amount of innovation in VM design and implementation,
these languages will continue to grow in popularity.