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
第二プログラミング言語のススメ
Search
515hikaru
August 24, 2022
Programming
0
120
第二プログラミング言語のススメ
コドモンわいわいLT大会#2 で発表したプログラミング学習のススメです。
株式会社 RevComm サーバーサイドエンジニア / 小島孝弘
515hikaru
August 24, 2022
Tweet
Share
More Decks by 515hikaru
See All by 515hikaru
実験するときのデータ管理
515hikaru
0
400
Other Decks in Programming
See All in Programming
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
840
SwiftUI Viewの責務分離
elmetal
PRO
1
230
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
1
240
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
Ruby on cygwin 2025-02
fd0
0
140
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
Open source software: how to live long and go far
gaelvaroquaux
0
630
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
36
14k
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
170
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Site-Speed That Sticks
csswizardry
4
380
Statistics for Hackers
jakevdp
797
220k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
GitHub's CSS Performance
jonrohan
1030
460k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
KATA
mclloyd
29
14k
Agile that works and the tools we love
rasmusluckow
328
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Transcript
第二プログラミング言語のススメ コドモンわいわい LT大会#2 株式会社 RevComm サーバーサイドエンジニア / 小島孝弘
簡単な自己紹介 • 名前 小島孝弘 • 1993 年生まれ、29 歳、愛知県出身、エンジニア歴 6 年くらい
• よく書くプログラミング言語 : Python, TypeScript(React), たまに Go • 株式会社 RevComm というところで MiiTel for Zoom を作っている • Twitter: tak428k
第二プログラミング言語のススメ
今日伝えたいこと 複数のプログラミング言語を使ってみるのは大いに学びがある ※ なにかひとつの言語で何かしらのプログラミングをしたことがある方向け
複数のプログラミング言語を学ぶメリット • パラダイム・言語仕様や構文・ランタイムの違いからの学び • 文化の違いからの学び
複数のプログラミング言語を学ぶメリット • パラダイム・言語仕様や構文・ランタイムの違いからの学び • 文化の違いからの学び
オブジェクト指向 関数型 手続き型 プログラミング言語の分類(独断と偏見)
引き出しを増やす • 違うパラダイムの言語では同じことでも表現方法が 全然違う ◦ e.g. 繰り返し処理をどう書くのか • ひとつのことを実現するのに多数の表現を学ぶ •
-> 自分の開発の幅、コードでの表現の幅が増える
そのほかの切り口 • メモリ管理(手動 / GC / そのほか) • 実行時の特徴 •
型(動的型付け / 静的型付け) • シンタックス(書いていて綺麗だなと思えるか) • -> いつもの言語との違いは何かを探ると学びのきっかけになるかも?
複数のプログラミング言語を学ぶメリット • パラダイム・言語仕様や構文・ランタイムの違いからの学び • 文化の違いからの学び
言語が違うと文化も違う • コーディングルール ◦ C/C++ や JavaScript - 言語統一のルールなし、各社で制定( Google
とか Microsoft とか) ◦ Go: gofmt というツールがオフィシャルに提供 • ライブラリ ◦ JavaScript / Ruby: 多数の package に依存 ◦ Go Python: むやみに依存を増やさない(標準ライブラリと有名 FW で済ませる) • パッケージマネージャーなど開発ツール ◦ Rust: Cargo というツールが超有能 ▪ 最近のパッケージマネージャーはだいたい Cargo をパクって参考にしている ◦ npm / composer / gem / pip それぞれ違いがいろいろ
まとめ • ひとつの言語だけじゃなく複数の言語をたまには使ってみましょう • 自分がよく知っている言語と違う言語を学ぶと結構面白い ◦ 最近の流行りのプログラミングパラダイムを知りたければ Rust とかおすすめ ◦
昔のプログラマの苦労が知りたい人は C とかおすすめ • いつもの開発文化とは違うものを体験すると、自分のプロジェクトに輸入できたりするかも
Thank you!