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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
515hikaru
August 24, 2022
Programming
0
180
第二プログラミング言語のススメ
コドモンわいわいLT大会#2 で発表したプログラミング学習のススメです。
株式会社 RevComm サーバーサイドエンジニア / 小島孝弘
515hikaru
August 24, 2022
Tweet
Share
More Decks by 515hikaru
See All by 515hikaru
実験するときのデータ管理
515hikaru
0
450
Other Decks in Programming
See All in Programming
Apache Iceberg V3 and migration to V3
tomtanaka
0
220
Claude Code、ちょっとした工夫で開発体験が変わる
tigertora7571
0
170
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
7
1.2k
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
300
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
200
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1.1k
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
150
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
190
ふん…おもしれぇ Parser。RubyKaigi 行ってやるぜ
aki_pin0
0
110
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
210
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
430
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
For a Future-Friendly Web
brad_frost
183
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Test your architecture with Archunit
thirion
1
2.2k
Marketing to machines
jonoalderson
1
5k
Darren the Foodie - Storyboard
khoart
PRO
3
2.6k
Into the Great Unknown - MozCon
thekraken
40
2.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
210
What does AI have to do with Human Rights?
axbom
PRO
0
2k
How to build a perfect <img>
jonoalderson
1
5.2k
Unsuck your backbone
ammeep
671
58k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
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!