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>