Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

市場価値 ≠ 学ぶ価値

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

そこで †Elm †

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

ママ...

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

ママ---!!!!!!!!

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

おわり