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
プログラミングを体系的に学べる言語 Python を推したい
Search
biwakonbu
January 19, 2024
Technology
0
130
プログラミングを体系的に学べる言語 Python を推したい
プログラミングを色々勉強したい人向けに Python 推しの情報を発表します
biwakonbu
January 19, 2024
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
170
爆速なPythonフレームワーク
biwakonbu
0
170
HTMX触ってみた
biwakonbu
0
190
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
420
プログラミング言語F#を学びはじめました
biwakonbu
0
330
開発の生産性を高める事を考える
biwakonbu
0
150
「プログラミングを習得する」を考えてみた
biwakonbu
0
88
Python の型事情について
biwakonbu
0
110
ESLint使ってますか?
biwakonbu
0
120
Other Decks in Technology
See All in Technology
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
110
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
9
2.8k
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
1
310
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
270
Postman MCP 関連機能アップデート / Postman MCP feature updates
yokawasa
1
160
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
190
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
670
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
3
310
Claude Code x Androidアプリ 開発
kgmyshin
1
590
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
人を動かすことについて考える
ichimichi
2
330
Featured
See All Featured
Side Projects
sachag
455
43k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Producing Creativity
orderedlist
PRO
347
40k
Being A Developer After 40
akosma
90
590k
Music & Morning Musume
bryan
46
6.7k
How GitHub (no longer) Works
holman
315
140k
Typedesign – Prime Four
hannesfritz
42
2.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
プログラミングを体系的に学べる言語 Python を推したい 株式会社coroutine 東川 諒央
自己紹介 1 Python の良さ / 悪さ 3 今からバックエンド Python やる人向けのおすすめ
4 プログラミングの入門に向いている言語 2 5 まとめ
自己紹介 1 株式会社 coroutine 東川 諒央 @biwakonbu 大学教員 ゲームバックエンド フリーランス
経歴 Go Python 実績言語 Ruby 技術顧問 エンジニア教育 業務 設計 プログラミング インフラ etc… Rust Haskell TypeScript 趣味言語 Lisp F#
> プログラミングの入門に 向いている言語
プログラミングの入門に向いている言語 2 ❏ ※ 個人の解釈です ❏ 2024年時点での東川は Python をオススメしています ❏
初心者向けプログラミング言語という誤解は色々あるものの ... ❏ 詳しくは ハッカーになろう (How To Become A Hacker) を読もう ❏ 昔はインデントの強制が初心者に良いとかあったんですが、 フォーマッタの普及によって割とどうでも良くなりました ❏ 今は単純に日本でも Python の仕事が増えてきた事や、 IoT 領域、AI、WEB と選択肢が多く、教材も多い事が重要と思っています ❏ 公式ドキュメントも充実していて Python 2.x 系とかで残念だったものも 3.6 以降で急激に解消されているのでかなり良いです ❏ Microsoft が公式で推していて、セットアップも楽になりました
> Python の良さ / 悪さ
Python の良さ / 悪さ 3 ❏ Python の良さ ❏ とにかく教材が多い
❏ 出版市場が完全に Python を推している ❏ ゲーム、AI、業務自動化、WEB サーバーなど ❏ 最近は Excel にも組み込まれたので更に増えてくると思われる ❏ ツールやライブラリが Rust 製になってきた ❏ Ruff, rye などのエコシステムが Rust 製で高速かつ便利になっている ❏ Robyn, Pydantic のような内部が Rust のライブラリ / FW が出てきた ❏ PyO3 / maturin がここに貢献している ❏ 内部が Rust に置き変わると勝手に高速化するという事に
Python の良さ / 悪さ 3 ❏ Pydantic V1 -> V2
で FastAPI の速度差 ❏ 検証している方がいたので資料をお借りしています 引用:FastAPI で Pydantic v2を使うと性能向上! - Safie Engineers' Blog!
Python の良さ / 悪さ 3 ❏ 悪さ ❏ id という名前が組み込み関数に盗られている
❏ id は変数で使いたい事がおおく、結構面倒 ❏ 実行速度が遅い -> ライブラリ内部が Rust になって高速化されつつある ❏ 静的解析が弱い ❏ 型ヒントはあるものの、解析ツールが最新をサポートできない ❏ 最新版のサポートは mypy が対応しているが、使い難い... ❏ 多分 pytype が Python らしい使い方ができるかと ❏ ただし最新 ver のサポートはされていないので要注意
> 今からバックエンド Python やる人向けのおすすめ
今からバックエンド Python やる人向けのおすすめ 4 ❏ エコシステムについて ❏ パッケージマネージャ ❏ pip
をそのまま使うか rye ❏ バージョン管理 ❏ pyenv か rye ❏ リント & フォーマッタ ❏ Ruff ❏ 仮想環境 ❏ venv か rye ❏ 型解析 ❏ pytype
今からバックエンド Python やる人向けのおすすめ - FW 4 ❏ とりあえず Django やりましょう
❏ 知見が多く、ドキュメントが豊富 ❏ + でDjango REST Framework (DRF) を履修すると良いです ❏ Laravel, Rails あたりの経験があれば多分すぐ理解できます ❏ ポイントはルーティングとマイグレーション、コンフィグあたり ❏ 一番モダンなのが良い人は FastAPI をやりましょう ❏ API だけ作るならこれか DRF のどっちかが選択肢 ❏ FastAPI は高速でモダン且つ便利ですが、色々個人差ができ易いです ❏ 拘りが強い人には向いているかも ❏ なんか良いのをオススメして欲しい人向け ❏ Robyn を見てください -> これからのプロダクトですが、めっちゃ良さげです
まとめ 5 ❏ Python は勉強しやすく、教材が豊富なので参入しやすい ❏ API の実装でいえば DRF がめちゃくちゃ楽
❏ 言語は劇的には高速化されないけどライブラリが高速化されているのでノーカン ❏ エコシステムがめちゃくちゃ進化してる ❏ 言語的には今は型周りが整備されていっている
P.S. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます 色々なご相談にも対応します ・就活・キャリアアップ相談 ・業務に関する相談 ・個人的な学習の相談 大阪でのエンジニアコミュニティを応援します ・勉強会場として無料で場所貸し
・むしろ開催応援のギフト券なども考えています ・長く続く開発者コミュニティ作りを実行します
P.S. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり