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
第二プログラミング言語のススメ
Search
515hikaru
August 24, 2022
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第二プログラミング言語のススメ
コドモンわいわいLT大会#2 で発表したプログラミング学習のススメです。
株式会社 RevComm サーバーサイドエンジニア / 小島孝弘
515hikaru
August 24, 2022
Transcript
13 slides
第二プログラミング言語のススメ コドモンわいわい 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!
More Decks by 515hikaru
See All by 515hikaru
実験するときのデータ管理
515hikaru
0
480
Other Decks in Programming
See All in Programming
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
340
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
750
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
180
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
SODA - FACT BOOK(EN)
sodainc
1
230
Growing PicoRuby's Ecosystem on ESP32
yuuu
2
120
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
170
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
290
AmebaブログはKMPから卒業します
kmars0605
0
350
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
380
A better future with KSS
kneath
240
18k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Building the Perfect Custom Keyboard
takai
2
950
Technical Leadership for Architectural Decision Making
baasie
4
640
It's Worth the Effort
3n
188
29k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Git: the NoSQL Database
bkeepers
PRO
433
67k