I personally think Scala made a good choice, because most of the time all we are concerned with is the future.  And we can talk about futures independently from invoking the promise analogy.  I think the promise analogy is great, but in my opinion it can be a little bit tricky for people to pick up.
<div><br></div><div>If I were teaching this stuff, I wouldn't start with promises.  I would start with futures and show how they are like callbacks++.  That's what most users are looking for to begin with anyway.  Only after we'd mastered futures would we talk about promises and their three states and remote objects and so-on.</div>

<div><br></div><div>Also, something like a DOMFuture can be spec'd independently from any particular (and more fully featured) promise spec.</div><div><br></div><div>- Kevin</div>