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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
b4h0-c4t
May 18, 2019
Programming
1.5k
1
Share
わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由
b4h0-c4t
May 18, 2019
More Decks by b4h0-c4t
See All by b4h0-c4t
Deopt Explorer で Web アプリのパフォーマンスを改善しよう!
b4h0c4t
0
3.1k
Other Decks in Programming
See All in Programming
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
1.1k
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
3Dシーンの圧縮
fadis
1
580
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
2
400
今さら聞けないCancellationToken
htkym
0
210
Claspは野良GASの夢をみるか
takter00
0
150
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
150
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
110
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
260
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Designing for Performance
lara
611
70k
Exploring anti-patterns in Rails
aemeredith
3
380
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
AI: The stuff that nobody shows you
jnunemaker
PRO
8
680
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
RailsConf 2023
tenderlove
30
1.5k
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
おわり