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
85
プログラミングを体系的に学べる言語 Python を推したい
プログラミングを色々勉強したい人向けに Python 推しの情報を発表します
biwakonbu
January 19, 2024
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
42
爆速なPythonフレームワーク
biwakonbu
0
67
HTMX触ってみた
biwakonbu
0
85
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
230
プログラミング言語F#を学びはじめました
biwakonbu
0
110
開発の生産性を高める事を考える
biwakonbu
0
93
「プログラミングを習得する」を考えてみた
biwakonbu
0
50
Python の型事情について
biwakonbu
0
54
ESLint使ってますか?
biwakonbu
0
74
Other Decks in Technology
See All in Technology
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
Azure AI ことはじめ
tsubakimoto_s
0
130
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
0
280
dxd2024-生成AIに振り回された3か月間の成功と失敗/dxd2024-link-and-motivation
lmi
2
260
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
150
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
Featured
See All Featured
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Speed Design
sergeychernyshev
9
270
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Agile that works and the tools we love
rasmusluckow
325
20k
Building Your Own Lightsaber
phodgson
101
5.9k
Fireside Chat
paigeccino
25
2.8k
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. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり