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
63
プログラミングを体系的に学べる言語 Python を推したい
プログラミングを色々勉強したい人向けに Python 推しの情報を発表します
biwakonbu
January 19, 2024
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
爆速なPythonフレームワーク
biwakonbu
0
51
HTMX触ってみた
biwakonbu
0
48
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
180
プログラミング言語F#を学びはじめました
biwakonbu
0
67
開発の生産性を高める事を考える
biwakonbu
0
73
「プログラミングを習得する」を考えてみた
biwakonbu
0
41
Python の型事情について
biwakonbu
0
47
ESLint使ってますか?
biwakonbu
0
63
TypeScript で型を扱う観点から React と Vue3 を比較
biwakonbu
0
440
Other Decks in Technology
See All in Technology
エムスリーQAチーム紹介資料 / Introduction of M3 QA Team
m3_engineering
1
260
#phpconkagawa レガシーコードにもオブザーバビリティを 〜少しずつ始めるサービス監視〜
yamato_sorariku
0
510
技術力の伸ばし方を考える
khirata
0
130
RailsConf 2024 Keynote "Startups on Rails in 2024"
irinanazarova
0
580
グイグイ系QAエンジニアでやっていくよ!
____rina____
0
630
Domain-driven Design: A Complete Example
ewolff
2
220
自らを知り外と繋がる、日経のエンジニア採用とDevRel活動/devreljp92
nishiuma
2
210
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 / Strike a balance between correctness and efficiency with fp-ts
kakehashi
5
3.2k
TiDBにおけるテーブル設計と最適化の事例
cygames
0
750
TDD - Test Driven Drupal
opdavies
0
3k
TypeScript の抽象構文木を用いた、数百を超える API の大規模リファクタリング戦略
yanaemon
6
1.2k
cgroup v2 で何が変わったのか / TechFeed Experts Night #28
tenforward
2
150
Featured
See All Featured
The Mythical Team-Month
searls
217
42k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
YesSQL, Process and Tooling at Scale
rocio
165
13k
A Modern Web Designer's Workflow
chriscoyier
689
190k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
Designing with Data
zakiwarfel
96
4.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
Writing Fast Ruby
sferik
622
60k
Gamification - CAS2011
davidbonilla
77
4.6k
Building Applications with DynamoDB
mza
88
5.7k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
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. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり