Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

takachan-mirai

May 18, 2019
Tweet

Other Decks in Programming

Transcript

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

    View Slide

  2. 意識高めの自己紹介
    • 名前 : 橋場 保鷹 (ハシバ ホダカ)
    • 所属 : 公立はこだて未来大学大学院
    • システム情報科学研究科
    • 分野 :
    • Webフロントエンド
    • 趣味 :
    • 写真撮影
    • 水泳
    • フットボール
    • GitHub ID : takachan-mirai

    View Slide

  3. 意識低めの自己紹介
    #springLT_hakodate で誰かが晒してくれます。(Twitter)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. Elm Language
    “A delightful language for reliable webapps.”
    • 信頼性のあるWebアプリのための楽しい言語(直訳)
    画像引用 https://ehsangazar.com/considering-elm-lang-for-future-6d8337f15d88

    View Slide

  8. Elmは本当にわざわざ”学ぶ”必要がないのか

    View Slide

  9. 市場価値 ≠ 学ぶ価値

    View Slide

  10. 市場価値 ≠ 学ぶ価値
    • 市場価値の高い言語を学ぶことだけが重要ではない
    • 自身が美しいコードを書くためには様々な知識が必要
    • Ex. Javaを書くときにオブジェクト指向を知っていた方が良い
    • 分かりやすさ重視なので叩かないでね
    • 複雑な言語機能と同時に事前知識を学ぶのは難しい
    • 成長した言語はこの傾向がある
    • 学習ノイズになる

    View Slide

  11. そこで †Elm †

    View Slide

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

    View Slide

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

    View Slide

  14. 非常に薄い言語機能とナウい関連知識
    • 学習コストが低い
    • 日本語の公式ドキュメント有
    • Elmと関連するトレンドな体系をエッセンスとして学び易い
    • 関数型プログラミング
    • テスタブル
    • フロントエンドアーキテクチャ(The Elm Architecture)
    • Etc.
    ※”ナウい”が流行った時期と関連技術の流行時期に関連性はありません

    View Slide

  15. ランタイム(実行時)エラーが発生しない
    • コンパイルのタイミングでダメなところを教えてくれる
    • JavaScriptは実行するまで何も教えてくれない

    View Slide

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

    View Slide

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

    View Slide

  18. ママ...

    View Slide

  19. エラーメッセージがとっても親切(1/2)
    • 殆どのコンパイラのエラーメッセージ
    • 行
    • メソッド
    • エラーイベント
    • Elm Compilerは上に加えて、
    • 今のコードは正しいコードと比べてどうなっているか
    • 正しくするにはどう書き直せばよいのか
    • 上記2点を自然言語っぽく出力

    View Slide

  20. エラーメッセージがとっても親切(2/2)
    コード
    エラー
    画像引用: https://qiita.com/ababup1192/items/8dae437da47f25811658

    View Slide

  21. 続・茶番
    学校行ってきまーす
    たかし、靴の紐ほどけてるわよ
    ほんとだ!ありがとうカーチャン!
    蝶結びしたいなら
    - 両紐を絡ませる
    - 両紐を二つに折る
    - 片方のループをもう片方のループで囲む
    - 囲まれたループの根元をもう片方のループに通す
    でできるわよ
    エンジニア Elm Compiler

    View Slide

  22. ママ---!!!!!!!!

    View Slide

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

    View Slide

  24. まとめ : Elmを学ぶココがイイ!
    • 学び易い環境が揃っている
    • 薄く分かりやすい言語機能
    • 高度なデバッグ能力
    • 親切な日本コミュニティ
    • 今学びたい関連知識・技術を得られる
    • ソフトウェアアーキテクチャ
    • 関数型パラダイム
    • テスト

    View Slide

  25. Elmやってみたくなった人✋

    View Slide

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

    View Slide

  27. おわり

    View Slide