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
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
41
15k
最近のVS Codeで気になるニュース 2025/01
74th
1
250
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
270
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
670
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
490
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
Amazon Bedrock Multi Agentsを試してきた
tm2
1
280
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
知られざるDMMデータエンジニアの生態 〜かつてツチノコと呼ばれし者〜
takaha4k
4
1.3k
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
300
Open source software: how to live long and go far
gaelvaroquaux
0
620
Spring gRPC について / About Spring gRPC
mackey0225
0
220
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Statistics for Hackers
jakevdp
797
220k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Docker and Python
trallard
44
3.3k
Facilitating Awesome Meetings
lara
51
6.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
400
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
310
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
540
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!