Promiseの歴史
The history of Promises
この人が十分すぎる充実度の解説を書いていた。下記は僕の要約と加筆。
Promiseのアイデアの源流は古い
Future パターン - Wikipedia
Futures and promises - Wikipedia
1997年のE言語がほぼ今のPromiseと同じ形のものを作っている
E (programming language) - Wikipedia
2001年にPythonで実装されたネットワークプログラミングフレームワークのTwistedがE言語を参考にして実装された
Deferredと呼ばれていた
Twisted - Wikipedia
2005年にJavaScriptの軽量ライブラリMochiKitがTwistedを参考にして実装された
当時XMLHttpRequest - Web APIs | MDNが使われていた、今のfetchに慣れた人からするとすごくめんどくさいnishio.icon
これを楽にしたいという意図があった
MochiKit - Wikipedia
Dojo、QなどいくつものJavaScriptライブラリが同様の概念を採用し始める、そして2010年にjQueryが採用する
Dojo Toolkit - Wikipedia
Q
jQueryは少なくとも一時期はとてもメジャーなJavaScriptライブラリだったnishio.icon
あまり詳しくない人がとりあえず入れて使う的な空気感
jQueryによって「こういうやり方」が広い範囲のJavaScriptプログラマに広がることになった
統一的なテストケースPromises/A+が生まれ、まちまちだった「こういうやり方」の実装が「同じ振る舞いをするPromiseの実装」となった
また、このことにより「Promise」という一つの概念が広い範囲で使われていることを客観的に示すことができるようになり、標準化の助けになった
そして2015年にES2015という形で標準化された。
コーディングを支える技術加筆案