Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第二プログラミング言語のススメ
Search
515hikaru
August 24, 2022
Programming
0
170
第二プログラミング言語のススメ
コドモンわいわいLT大会#2 で発表したプログラミング学習のススメです。
株式会社 RevComm サーバーサイドエンジニア / 小島孝弘
515hikaru
August 24, 2022
Tweet
Share
More Decks by 515hikaru
See All by 515hikaru
実験するときのデータ管理
515hikaru
0
440
Other Decks in Programming
See All in Programming
dotfiles 式年遷宮 令和最新版
masawada
1
800
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
Microservices rules: What good looks like
cer
PRO
0
1.6k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
220
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
120
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
170
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
0
190
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.5k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
2
410
チームをチームにするEM
hitode909
0
350
AIエージェントの設計で注意するべきポイント6選
har1101
5
1.6k
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
170
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
120
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
130
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Docker and Python
trallard
47
3.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
18
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
1.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1k
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!