Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CoffeeScriptおもひで展

7,860 views

Published on

CoffeeScriptがその役目を終えようとしている2015年末。
今だからこそCoffeeScriptに愛をこめて捧ぐ、おもひで展。

2015.12.23 CodeIQ大忘年会にて

Published in: Software
  • Be the first to comment

CoffeeScriptおもひで展

  1. 1. CoffeeScriptおもひで展 @shinout 今だからこそ 愛を込めて捧ぐ 2015.12.23 順路
  2. 2. CoffeeScriptは、JavaScriptに変換されて実行される、 「AltJS」に分類されるプログラミング言語だ。 AltJSのなかで存在感を放ち続けてきたCoffeeScriptだったが、 ES6 + Babelの台頭などでその役目を終えようとしている。 彼の果たしてきた役割はどんなものだったのか。 順路 展示を見る前に… class User constructor: (@id, @firstName, @lastName) -> getName: -> "#{@lastName} #{@firstName}"
  3. 3. 展示1 CoffeeScriptの原点 ∼first commitを訪ねて∼ 最初のコード。拡張子は .jaa だった。 文法も現在のものと異なる。 何人ものファンが来訪している。 reduxの作者のコメントも味わい深い。 当時の構文解析はrubyで書かれていた。 2009年12月。「mystery language」は誕生した。
  4. 4. 展示2 伝説のauthor @jashkenas 氏 言わずと知れた名ライブラリ作者。JS界で彼のコードを走らせたことのない人のほうが珍しい。 氏はunderscoreとCoffeeScriptの関係について、「同様な機能を別な方法で表現した」とする。 for, when 句 などにそれが表れているといえよう。
  5. 5. 展示3 2011年 Rails 3.1に採用するときの@dhh氏のツイート 「『男ならJS直書き』JSフレームワークが出始めたときも、こんな声があったよね。 」 と皮肉たっぷりにツイートする@dhh氏は、CoffeeScript隆盛期を見通していたかのようだ。
  6. 6. 展示4 2012年 github language ランキングでTOP10入り そのgithubは社内JSをCoffeeScriptに統一。 JSのCoding style guideは、 2015年12月現在もCoffeeScriptだ。 AtomエディタもCoffeeScriptで書かれて おり、ES6派との議論になったことも。
  7. 7. 展示5 2012年6月 CoffeeScript2プロジェクト発足 CoffeeScriptの堅牢性を高める目的で始まった CoffeeScriptReduxプロジェクトは、 1万ドル以上の寄付のもとcompleteした。 npm install -g coffee-script-redux
  8. 8. 展示7 大御所 The Good Parts の著者も CoffeeScriptを評価 「彼のJS講義のなかでは絶賛だったよ。」 (Quora にて。作者Jeremy談) 一方で、Don t use it in production とも言っていた。
  9. 9. 順路からいったん逸れて… 案内人 @shinout の紹介 順路 @shinout ゲノム解析の研究をする医師で 医療系スタートアップ CureAppのCTO。 に戻ろう。 ↑ 会社のRepository いくつかpublic
  10. 10. 展示8 2014年末 Babel (旧6to5) の登場 次世代のJavaScriptの仕様、ES6+のトランスパイラ。 React.jsのJSXサポートも加わり、相乗効果で求心力を高めていった。 babelの前身 6to5は、 オーストラリアの高校生の @sebmck氏によって書かれた。 「授業が退屈なので」と。 退屈な先生に感謝だ。 babelの前身 6to5のfirst commit。 この時点で多くの機能があり、 テストも書かれているようだ。 9/28の誕生日に大量のファンレター。 shimでなくトランスパイラで機能を先取りという着想は CoffeeScriptの影響があったのでは。
  11. 11. 展示9 2015年。ES6にトレンドで敗北する。
  12. 12. 展示10 CoffeeScriptとES6 TypeScript vs CoffeeScript vs ES6 のスライドより。 ES6サポートが「Jeremyの気まぐれ」にかかっている様が点線で示された。 ES6は、「広く利用できるようになったらサポート」とJeremyは明言。 reduxでのES6関連issueはopen だが、最近更新がない状態。
  13. 13. 展示11 「さよなら」ラッシュ 「さよならCoffeeScript」という熱いコミットログ。 愛憎入り混じった感情がかいま見える。 CoffeeScriptをES6に変換する 「カフェイン抜き」コマンドが登場 著名なブログでも、別れを告げられた。
  14. 14. 展示12 別れの全てに、愛があった。 「ES6は薄まったアメリカーノコーヒーのようで味に合わない」 CoffeeScript is Dead にて @GawainReif 氏 さよならCoffeeScript にて @mizchi 氏 「好きだった言語・技術が腐っていくのを見るのは、これが最後ではないだろう。」 「?演算子なしの人生なんて、考えられないよ!」 ES6 supportのissue にて @lolmaus 氏 「君の内包表記には一目惚れだった。」 farewell CoffeeScriptのcommit logにて @staltz 氏 「JavaScriptが進化しているのは、CoffeeScriptのおかげでもある。」 README.md at decaffeinate @eventualbuddha 氏 CoffeeScriptは、別れ際まで愛されていた!
  15. 15. アロー演算子 クラス定義 Template String Literal 可変長引数/配列の変換 変数のdestruction ES6に採択されたCoffeeScript類似の機能 (a, b) => class Dog extends Animal "hello, #{world}" Math.max(arr...) { sin, cos } = Math 最終展示 CoffeeScriptの爪あとは、JSに残り続ける。
  16. 16. 偉大な功績に、拍手! ありがとう、CoffeeScript。 @shinout

×