Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由
Search
b4h0-c4t
May 18, 2019
Programming
1
1.5k
わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由
b4h0-c4t
May 18, 2019
Tweet
Share
More Decks by b4h0-c4t
See All by b4h0-c4t
Deopt Explorer で Web アプリのパフォーマンスを改善しよう!
b4h0c4t
0
2.8k
Other Decks in Programming
See All in Programming
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
470
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
890
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
910
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
150
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
3.9k
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
400
PicoRuby on Rails
makicamel
2
120
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
260
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
150
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
440
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
Featured
See All Featured
Writing Fast Ruby
sferik
628
62k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Automating Front-end Workflow
addyosmani
1370
200k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
BBQ
matthewcrist
89
9.7k
Balancing Empowerment & Direction
lara
1
400
Designing for humans not robots
tammielis
253
25k
For a Future-Friendly Web
brad_frost
179
9.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Code Review Best Practice
trishagee
69
18k
Transcript
わざわざ学ばなくて良い言語第1位を わざわざ学ぶ理由 公立はこだて未来大学大学院 修士1年 Hodaka Hashiba
意識高めの自己紹介 • 名前 : 橋場 保鷹 (ハシバ ホダカ) • 所属
: 公立はこだて未来大学大学院 • システム情報科学研究科 • 分野 : • Webフロントエンド • 趣味 : • 写真撮影 • 水泳 • フットボール • GitHub ID : takachan-mirai
意識低めの自己紹介 #springLT_hakodate で誰かが晒してくれます。(Twitter)
わざわざ学ばなくて良い言語とは?
わざわざ学ばなくて良い言語 2019 • Codementorにより調査された • コミュニティのエンゲージ • 成長率 • 雇用市場
• これらの観点からどの言語が 優位なのかランク付けしたもの 左カラムが2018 右カラムが2019
わざわざ学ばなくて良い言語 2019 • Codementorにより調査された • コミュニティのエンゲージ • 成長率 • 雇用市場
• これらの観点からどの言語が 優位なのかランク付けしたもの 左カラムが2018 右カラムが2019
Elm Language “A delightful language for reliable webapps.” • 信頼性のあるWebアプリのための楽しい言語(直訳)
画像引用 https://ehsangazar.com/considering-elm-lang-for-future-6d8337f15d88
Elmは本当にわざわざ”学ぶ”必要がないのか
市場価値 ≠ 学ぶ価値
市場価値 ≠ 学ぶ価値 • 市場価値の高い言語を学ぶことだけが重要ではない • 自身が美しいコードを書くためには様々な知識が必要 • Ex. Javaを書くときにオブジェクト指向を知っていた方が良い
• 分かりやすさ重視なので叩かないでね • 複雑な言語機能と同時に事前知識を学ぶのは難しい • 成長した言語はこの傾向がある • 学習ノイズになる
そこで †Elm †
わざわざ学ぶ必要のない言語第1位を わざわざ学ぶ理由 学習者として学ぶElm 公立はこだて未来大学大学院 修士1年 Hodaka Hashiba
Elmの特徴 • 非常に薄い言語機能とナウい関連知識 • ランタイムエラーが発生しない • エラーメッセージがとっても親切 • JAPANコミュニティが活発
非常に薄い言語機能とナウい関連知識 • 学習コストが低い • 日本語の公式ドキュメント有 • Elmと関連するトレンドな体系をエッセンスとして学び易い • 関数型プログラミング •
テスタブル • フロントエンドアーキテクチャ(The Elm Architecture) • Etc. ※”ナウい”が流行った時期と関連技術の流行時期に関連性はありません
ランタイム(実行時)エラーが発生しない • コンパイルのタイミングでダメなところを教えてくれる • JavaScriptは実行するまで何も教えてくれない
JavaScriptの茶番 よし、準備できたな 学校行ってきまーす いってらっしゃーい おなか減った… 給食の時間 あら…あの子お弁当箱忘れてるわ エンジニア Elm Compiler
Elmの茶番 よし、準備できたな 学校行ってきまーす たかし、弁当箱忘れてるわよ ほんとだ!ありがとうカーチャン! エンジニア Elm Compiler
ママ...
エラーメッセージがとっても親切(1/2) • 殆どのコンパイラのエラーメッセージ • 行 • メソッド • エラーイベント •
Elm Compilerは上に加えて、 • 今のコードは正しいコードと比べてどうなっているか • 正しくするにはどう書き直せばよいのか • 上記2点を自然言語っぽく出力
エラーメッセージがとっても親切(2/2) コード エラー 画像引用: https://qiita.com/ababup1192/items/8dae437da47f25811658
続・茶番 学校行ってきまーす たかし、靴の紐ほどけてるわよ ほんとだ!ありがとうカーチャン! 蝶結びしたいなら - 両紐を絡ませる - 両紐を二つに折る -
片方のループをもう片方のループで囲む - 囲まれたループの根元をもう片方のループに通す でできるわよ エンジニア Elm Compiler
ママ---!!!!!!!!
JAPANコミュニティが活発 • Elm-jp (https://elm-lang.jp/) • Discordでオンラインもくもく会 • 優しいおじさん達によるBeginnerチャンネル 皆、同じママを持つ兄弟
まとめ : Elmを学ぶココがイイ! • 学び易い環境が揃っている • 薄く分かりやすい言語機能 • 高度なデバッグ能力 •
親切な日本コミュニティ • 今学びたい関連知識・技術を得られる • ソフトウェアアーキテクチャ • 関数型パラダイム • テスト
Elmやってみたくなった人✋
今すぐここへアクセス https://twitter.com/takachan_mirai
おわり