Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プログラミングを体系的に学べる言語 Python を推したい
Search
biwakonbu
January 19, 2024
Technology
0
150
プログラミングを体系的に学べる言語 Python を推したい
プログラミングを色々勉強したい人向けに Python 推しの情報を発表します
biwakonbu
January 19, 2024
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
180
爆速なPythonフレームワーク
biwakonbu
0
180
HTMX触ってみた
biwakonbu
0
200
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
470
プログラミング言語F#を学びはじめました
biwakonbu
0
370
開発の生産性を高める事を考える
biwakonbu
0
180
「プログラミングを習得する」を考えてみた
biwakonbu
0
97
Python の型事情について
biwakonbu
0
120
ESLint使ってますか?
biwakonbu
0
130
Other Decks in Technology
See All in Technology
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
2.8k
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.4k
MCP・A2A概要 〜Google Cloudで構築するなら〜
shukob
0
160
Product Engineer
resilire
0
130
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
160
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
480
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
3
520
“決まらない”NSM設計への処方箋 〜ビットキーにおける現実的な指標デザイン事例〜 / A Prescription for "Stuck" NSM Design: Bitkey’s Practical Case Study
bitkey
PRO
1
350
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
150
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
300
Symfony AI in Action
el_stoffel
2
370
AI時代の開発フローとともに気を付けたいこと
kkamegawa
0
290
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Thoughts on Productivity
jonyablonski
73
5k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Documentation Writing (for coders)
carmenintech
76
5.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
A Tale of Four Properties
chriscoyier
162
23k
Automating Front-end Workflow
addyosmani
1371
200k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり