わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由

 わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由

D4aa0b8f06fc5b56f2c758f149348d36?s=128

takachan-mirai

May 18, 2019
Tweet

Transcript

  1. わざわざ学ばなくて良い言語第1位を わざわざ学ぶ理由 公立はこだて未来大学大学院 修士1年 Hodaka Hashiba

  2. 意識高めの自己紹介 • 名前 : 橋場 保鷹 (ハシバ ホダカ) • 所属

    : 公立はこだて未来大学大学院 • システム情報科学研究科 • 分野 : • Webフロントエンド • 趣味 : • 写真撮影 • 水泳 • フットボール • GitHub ID : takachan-mirai
  3. 意識低めの自己紹介 #springLT_hakodate で誰かが晒してくれます。(Twitter)

  4. わざわざ学ばなくて良い言語とは?

  5. わざわざ学ばなくて良い言語 2019 • Codementorにより調査された • コミュニティのエンゲージ • 成長率 • 雇用市場

    • これらの観点からどの言語が 優位なのかランク付けしたもの 左カラムが2018 右カラムが2019
  6. わざわざ学ばなくて良い言語 2019 • Codementorにより調査された • コミュニティのエンゲージ • 成長率 • 雇用市場

    • これらの観点からどの言語が 優位なのかランク付けしたもの 左カラムが2018 右カラムが2019
  7. Elm Language “A delightful language for reliable webapps.” • 信頼性のあるWebアプリのための楽しい言語(直訳)

    画像引用 https://ehsangazar.com/considering-elm-lang-for-future-6d8337f15d88
  8. Elmは本当にわざわざ”学ぶ”必要がないのか

  9. 市場価値 ≠ 学ぶ価値

  10. 市場価値 ≠ 学ぶ価値 • 市場価値の高い言語を学ぶことだけが重要ではない • 自身が美しいコードを書くためには様々な知識が必要 • Ex. Javaを書くときにオブジェクト指向を知っていた方が良い

    • 分かりやすさ重視なので叩かないでね • 複雑な言語機能と同時に事前知識を学ぶのは難しい • 成長した言語はこの傾向がある • 学習ノイズになる
  11. そこで †Elm †

  12. わざわざ学ぶ必要のない言語第1位を わざわざ学ぶ理由 学習者として学ぶElm 公立はこだて未来大学大学院 修士1年 Hodaka Hashiba

  13. Elmの特徴 • 非常に薄い言語機能とナウい関連知識 • ランタイムエラーが発生しない • エラーメッセージがとっても親切 • JAPANコミュニティが活発

  14. 非常に薄い言語機能とナウい関連知識 • 学習コストが低い • 日本語の公式ドキュメント有 • Elmと関連するトレンドな体系をエッセンスとして学び易い • 関数型プログラミング •

    テスタブル • フロントエンドアーキテクチャ(The Elm Architecture) • Etc. ※”ナウい”が流行った時期と関連技術の流行時期に関連性はありません
  15. ランタイム(実行時)エラーが発生しない • コンパイルのタイミングでダメなところを教えてくれる • JavaScriptは実行するまで何も教えてくれない

  16. JavaScriptの茶番 よし、準備できたな 学校行ってきまーす いってらっしゃーい おなか減った… 給食の時間 あら…あの子お弁当箱忘れてるわ エンジニア Elm Compiler

  17. Elmの茶番 よし、準備できたな 学校行ってきまーす たかし、弁当箱忘れてるわよ ほんとだ!ありがとうカーチャン! エンジニア Elm Compiler

  18. ママ...

  19. エラーメッセージがとっても親切(1/2) • 殆どのコンパイラのエラーメッセージ • 行 • メソッド • エラーイベント •

    Elm Compilerは上に加えて、 • 今のコードは正しいコードと比べてどうなっているか • 正しくするにはどう書き直せばよいのか • 上記2点を自然言語っぽく出力
  20. エラーメッセージがとっても親切(2/2) コード エラー 画像引用: https://qiita.com/ababup1192/items/8dae437da47f25811658

  21. 続・茶番 学校行ってきまーす たかし、靴の紐ほどけてるわよ ほんとだ!ありがとうカーチャン! 蝶結びしたいなら - 両紐を絡ませる - 両紐を二つに折る -

    片方のループをもう片方のループで囲む - 囲まれたループの根元をもう片方のループに通す でできるわよ エンジニア Elm Compiler
  22. ママ---!!!!!!!!

  23. JAPANコミュニティが活発 • Elm-jp (https://elm-lang.jp/) • Discordでオンラインもくもく会 • 優しいおじさん達によるBeginnerチャンネル 皆、同じママを持つ兄弟

  24. まとめ : Elmを学ぶココがイイ! • 学び易い環境が揃っている • 薄く分かりやすい言語機能 • 高度なデバッグ能力 •

    親切な日本コミュニティ • 今学びたい関連知識・技術を得られる • ソフトウェアアーキテクチャ • 関数型パラダイム • テスト
  25. Elmやってみたくなった人✋

  26. 今すぐここへアクセス https://twitter.com/takachan_mirai

  27. おわり