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
100
プログラミングを体系的に学べる言語 Python を推したい
プログラミングを色々勉強したい人向けに Python 推しの情報を発表します
biwakonbu
January 19, 2024
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
96
爆速なPythonフレームワーク
biwakonbu
0
110
HTMX触ってみた
biwakonbu
0
120
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
310
プログラミング言語F#を学びはじめました
biwakonbu
0
220
開発の生産性を高める事を考える
biwakonbu
0
120
「プログラミングを習得する」を考えてみた
biwakonbu
0
65
Python の型事情について
biwakonbu
0
71
ESLint使ってますか?
biwakonbu
0
90
Other Decks in Technology
See All in Technology
10年もののバグを退治した話
n_seki
0
110
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
1
270
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
190
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
290
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
730
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
3
360
英語が苦手でも学びが得られるWorkshopについて / About the workshop of re:Invent 2024
taquakisatwo
0
500
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.5k
Qiita埋め込み用スライド
naoki_0531
0
5.4k
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.5k
組み込みアプリパフォーマンス格闘記 検索画面編
wataruhigasi
1
180
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
410
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Designing for humans not robots
tammielis
250
25k
Fireside Chat
paigeccino
34
3.1k
For a Future-Friendly Web
brad_frost
175
9.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
180
Git: the NoSQL Database
bkeepers
PRO
427
64k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
820
We Have a Design System, Now What?
morganepeng
51
7.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
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. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり