Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由
Search
b4h0-c4t
May 18, 2019
Programming
1.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
わざわざ学ばなくて良い言語第1位をわざわざ学ぶ理由
b4h0-c4t
May 18, 2019
More Decks by b4h0-c4t
See All by b4h0-c4t
Deopt Explorer で Web アプリのパフォーマンスを改善しよう!
b4h0c4t
0
3.2k
Other Decks in Programming
See All in Programming
Java 27新機能 / Java 27 new features
kishida
2
200
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
ジョジョの世界をXRで再現する
mofurune
0
140
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.5k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
110
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
350
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
930
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.9k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
sira's awesome portfolio website redesign presentation
elsirapls
0
440
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
550
エンジニアに許された特別な時間の終わり
watany
109
250k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
Building the Perfect Custom Keyboard
takai
2
900
Visualization
eitanlees
153
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
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
おわり