How CoffeeScript Got Forgotten
CoffeeScriptのリリースから10年以上経ちました。 そして、この革新的なアイデアは完全に忘れられてしまったようです
![](https://miro.medium.com/max/60/1*-fLC6fxlLlKsXkTdA3KecA.jpeg?q=20)
2015年のことです。 ES6の登場は、JavaScriptの世界において最大級の革命をもたらしました。 矢印関数、クラス、継承、let
を使った変数定義など、多くの新しい機能、つまり新しい可能性が提示されました。 しかし、それらは本当に JS のような言語にとって新しいソリューションだったのでしょうか。
さて、2009 年に Jeremy Ashkenas(現在は New York Times のライター)が、かなり興味深いアイデアを思いつきました。 彼のアイデアは、場合によっては非常に複雑な JavaScript コードを装飾し、読みやすくするものです。 Python と Ruby からインスピレーションを得て、Ashkenas は CoffeeScript と呼ばれる JavaScript にコンパイルするプログラミング言語を作成しました。
これは、余計なキーワード function を使わずに関数を作成するという概念を初めて示し、2015 年に関数矢印 (ES6 では =>
、CoffeeScript では ->
) となるものに置き換えたのです。 彼はまた、(Pythonのように)中括弧を取り除き、インデントで置き換えたのです。 CoffeeScriptでは、しばしば不必要にコードの可読性を低下させる(かつては必要だった)括弧を省略することができます。
![](https://miro.medium.com/max/60/1*m4S-aWYBnHlCBv4y8FionQ.png?q=20)
![](https://miro.medium.com/max/60/1*vC9oAfNF_OvWqrvJa2lNig.png?q=20)
当初、ほとんどの JavaScript などアイコン的言語に対する新しい改良と同様に、このような新しい言語が登場しました。 多くの人が、CoffeeScriptはJavaScriptに取って代わると楽観的に、あるいは極端な悲観論(CoffeeScriptもすぐにもっと優れたものに取って代わられる、構文の改善は不要で無意味だ)を持って、CoffeeScriptに臨みました。
しかし、2011 年の大きな批判の波にもかかわらず、CoffeeScript は GitHub で最もフォローされているプロジェクトの 1 つとなりました。 当時は、Ruby 開発者コミュニティで比較的高い人気を誇っていました。 CSの支持者の多くは、彼らのコードはJSのコードより速く、3倍も短いと言っていた。 JavaScriptの創始者であるBrendan Eich氏でさえ、CoffeeScriptがJavaScriptの将来についての彼の考えに大きな影響を与えたと、時を経て語っています。
![](https://miro.medium.com/max/60/1*LS4sFSs5kK1ZCmER9nnm5Q.png?q=20)
CoffeeScript が長い間一緒にいるという示唆はたくさんありましたが、その一方で、CoffeeScript は私たち自身にとって非常に重要な存在であることも事実です。 しかし、2015年にJavaScriptのES6が導入された後、その不利な状況に多くの変化がありました–実はこれは、物語の出発点となった言語へのCSソリューションの実装だったのです。 ES6では、JavaScriptは、CoffeeScriptチームのエンジニアが考えもしなかった多くの興味深い新機能も追加しました
。