Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When looking at the ECMAScript 4th Edition specification here it mentions that

ES3 is a simple, highly dynamic, object-based language that takes its major ideas from the languages Self and Scheme.

I'm not familiar with these two languages and cannot seem to find any mention of what exactly is similar to these languages in ECMAScript.

Would someone be able to explain to me the features that ECMAScript has taken from these languages?

share|improve this question

I've never used Self myself, but I believe that JavaScript's extensive use of prototypes came from Self.

As for Scheme's influence, you need look no further than JS's first-class functions and lexical scoping (okay, so JS doesn't implement full lexical scoping in the way Scheme does, it implements function-level scoping, but still, it's close).

share|improve this answer
So am I correct in saying that JavaScript inherited the ideas of these languages rather than any specific functionality? – AverageMarcus Apr 6 '13 at 17:23
Sure, that sounds right to me. – Chris Jester-Young Apr 6 '13 at 17:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.