Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Perlの生きのこり - YAPC::Fukuoka 2025
Search
Kenta Kobayashi
November 15, 2025
Technology
0
1.6k
Perlの生きのこり - YAPC::Fukuoka 2025
Kenta Kobayashi
November 15, 2025
Tweet
Share
More Decks by Kenta Kobayashi
See All by Kenta Kobayashi
プロジェクトの空気を読んで開発してくれるPerlのAIツールがほしい
kfly8
2
530
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
4
2.8k
Tシャツに書かれたコードを読む
kfly8
0
1.4k
Introduce Sub::Meta
kfly8
0
83
研修はイベントでなくコミュニティ作り
kfly8
0
2.1k
明日からできる新人のオンボーディングガイド
kfly8
0
860
メンター成長のためのふりかえり会
kfly8
0
1.3k
Interfaces in Perl5 at The Perl Conference 2019 in Pittsburgh
kfly8
0
3.2k
経験から効率よく学習する
kfly8
0
450
Other Decks in Technology
See All in Technology
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
210
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
370
オープンソースKeycloakのMCP認可サーバの仕様の対応状況 / 20251219 OpenID BizDay #18 LT Keycloak
oidfj
0
180
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.3k
Microsoft Agent Frameworkの可観測性
tomokusaba
1
110
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
21
8.2k
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
250
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
770
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
270
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4.4k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
290
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
Side Projects
sachag
455
43k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Agile that works and the tools we love
rasmusluckow
331
21k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
66
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
280
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
760
Git: the NoSQL Database
bkeepers
PRO
432
66k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Context Engineering - Making Every Token Count
addyosmani
9
560
Transcript
Perlの⽣きのこり YAPC::Fukuoka 2025 1
本発表の楽しみ⽅ 「懐かしい〜」「そんなことがあったのか〜」とコメント。 各時代で変化した事よりも、そのキッカケや背景に注⽬ 2
キリ番Get お題は BBS 3
令和最新Perl製BBSはコチラ👇 https://yapc-fukuoka-bbs.kobaken.co 記念カキコ! 4
⾃⼰紹介 • わいとん - @ytnobody • 最近のようす ◦ YAPC::Hakodate 2024
実⾏委員⻑ ◦ YAYAPC::Hiroshima 2024 司会 ◦ NT函館にて某仮装⼤賞の審査員⽤ボタンや 某⽶国横断クイズ番組のオマージュ品を展⽰ • 普段のようす ◦ 合同会社Y.pmの代表。4期⽬、やってます。 ◦ バックエンドエンジニアもやってます。 5
⾃⼰紹介 • kobaken a.k.a @kfly8 • 経歴 ◦ YAPC::Hiroshima 2024
実⾏委員⻑ ◦ YAYAPC::Hiroshima スポンサー ◦ 元Japan Perl Association理事 ◦ 元エンジニア組織開発責任者 • 現在 ◦ 個⼈事業主 ◦ 9歳と1歳の娘の⽗ 6
1990年頃 CGI 7
1990年頃 ‒ CGI • リクエスト受け、プロセス起動 ◦ 必要な時だけリソースを利⽤ ◦ ある種、今どき ◦
AWS Lambda, Cloudflare Workers • デプロイ簡単 ◦ ftpでファイルを置く ◦ 実⾏権限つける • すごく⼿軽 8
書籍もたくさん。⼤流⾏。 9
2000年初期 mod_perl 10
CGI リクエスト時にプロセス起動 複雑な要件🙅 mod_perl プロセスを常駐化しリクエストを待つ 複雑な要件🙆 11
Webアプリケーションフレームワークが続々と 課題 • 複雑なルーティング • データベース処理 • テンプレート • 認証認可
• Catalyst • Jifty • Ruby on Rails (2005) 12
Webサーバーも続々と‧‧ • Apache • lighttpd • nginx • … 13
乱⽴するフレームワークとサーバー Catalyst CGI::Application フレームワーク Jifty Mojo Apache lighttpd nginx HTTP::Server::Simple
サーバー 14
2009年ころ PSGI/Plack 15
PSGI/Plack • PSGI=Perl Web Server Gateway Interface • Plack =
PSGIの実装 • WSGI (Python )/Rack (Ruby) の後発 • フレームワーク、サーバーが PSGIを満たせば、⼊れ替え可 • →秩序を保ち、多様性を持てる Catalyst CGI::Application フレームワーク Jifty Mojo Apache lighttpd nginx HTTP::Server::Simple サーバー PSGI 16
現代っぽくなった 17
時は遡り、2005年 18
プロダクトはより複雑に。⾔葉にならない問題。 「⾃分の環境だと再現しない…」 「デプロイしたら、壊れた…」 「この処理どうなってるの?」 「この機能使いにくいらしい…」 19
問題の発⾒。⾔語化。 • 環境構築 → 依存モジュール管理、コンテナ化 • 未然の問題検知 → ⾃動テスト、CI、静的解析 •
プロダクトの複雑化 →コードの責務分割、宣⾔的に ◦ ⇒SOLID原則、OOP、関数型ドメインモデリング • ユーザー体験、インタフェース設計、アクセシビリティ • ⇒プログラミング⾔語限らず今も私達が向き合ってる問題 20
「あの時に戻ったら何を開発するか?」 21
2011年初頭 Carton 22
Carton • 依存モジュールの管理 ◦ 同⼀環境作りやすく ◦ バージョンが不意に変わって壊れない • 多⾔語なら ◦
Bundler(Ruby), Go Modules(Go), Cargo (Rust) ◦ 今は⾔語標準でつく時代 • 今でこそ、当たり前 23
@miyagawa • ロックスター • 今の当たり前を作ってる • カッコイイ 24
感想‧質問どうぞ👇 https://yapc-fukuoka-bbs.kobaken.co キリ番Get 前半パートおしまい 25
複雑化するプロダクトに Perlはどう⽴ち向かってる? 26
• プログラミング⾔語⾃⾝も変化する ◦ 例:ES5の”use strict” ◦ 例:ES6のclass構⽂導⼊。プロトタイプが隠蔽 • プラクティスも変化する ◦
var → let, const ◦ 例:可変な変数より不変な変数 • 「変化のための痛みは⽌む得ないのか?」 27
複雑化するプロダクトにPerlはどう⽴ち向かってる? ⾼い後⽅互換性を保ちつつ、変化できる柔軟性 “Historically, we've held ourselves to a far higher
standard than backward-compatibility -- bugward-compatibility.” 28
Perlの変化例: オブジェクト指向プログラミング Perlは、OOPをあとづけ。 ⼤昔:リファレンスとパッケージを紐づける bless→素朴だが、多重継承, 中⾝を触れる 昔:MooseなどのMeta Object Programmingに対応したOOPライブラリを 活⽤
今:builtin class。単⼀継承, 中⾝を触れら れないなど現代のOOPに 29
令和最新Perlの変化の背景 • builtin class、try/catch、isaなど続々拡張。 • その背景は、keyword plugin ◦ コンパイルフェーズでキーワードにフック。OPツリーを書き換える術 ◦
PEVANS⽒らによる v5.12 (2010年)での仕込み ◦ Corinnaでデザイン ⇒ Object::Pad でPoC。⇒ builtin class • →互換性を保ちつつ現代的なプラクティスを検証、実装 30
杜甫々 “実はフレームワークに頼るのはあまり好きじゃなくて。なにか を使っていてもすぐに陳腐化したり、依存パッケージが多過ぎて サポートが切れるものが出てきたり。あとは、バージョンアップ の追従にコストがかかったりとか、なかなかちょっと⼤変なの で、シンプルなものだったら、あまり使わなくてもいいんじゃな いのかなというところもあります。 そもそもOSSのサポート期間が短いと思うんですよね。これは 「endoflife.date」というサイトで、いろいろなOSSのサポート 状況が⾒ることができるんですが、短いといっても若いみなさん
からの2、3年は⻑いんですが、私らから⾒た2、3年はメチャク チャ短いので。” YAPC::Hiroshima 2024 キーノートより 31
2007 iPhone 32
市場きっかけの変化 • 2007年 iPhone 販売開始(国内は2008年) • 2010年 国内4G開始 • →
UXUI要求が⼤きく変化 ◦ サーバープログラミングでは、インタラクション困難 ◦ モバイルクライアントが⼤規模化。クライアント、サーバの境界定義 33
2022年11⽉30⽇ ChatGPT 34
今後はどうなるだろうか? • 2022年11⽉ ChatGPT • ⽣成AIで、⽣活は様変わり • 今、⾔葉にできていない問題は? ◦ ⇒
話しましょう!技術コミュニティの価値のひとつ • Perlであれば ◦ 新旧様々な書き⽅をLLMsは学習 ⇒良し悪しは? 35
⾃分たちができることは? PEVANS “Perlをもっとよくしていくには、公開されている機能をギ リギリまで使い倒して、できる⼈たちに『そんな無茶なやり ⽅よりもっといい⽅法がある』と⾔わせるといい” London Perl Workshop 2016 /
Charsbar::Note より 36
まとめ‧感想 • Perlを軸としつつ、1990年代からの変化を辿りました ◦ CGI → すごく⼿軽 ◦ PSGI/Plack →
秩序を保ちつつ、多様性を持てる ◦ Perlの⽂法拡張 →互換性を保ったまま⾔語拡張する仕組み • 要求レベル、重⼼の変化はあれど、変更を容易に、スケー ル、UXUI、チーム開発など引き続きやっていき! 37
感想‧質問‧ベストトークの投票待ってます。 https://yapc-fukuoka-bbs.kobaken.co このスレッドは1000を超えました。 38