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
Perlの生きのこり - YAPC::Fukuoka 2025
Search
Kenta Kobayashi
November 15, 2025
Technology
0
93
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
100
Perlの生きのこり - エンジニアがこの先生きのこるためのカンファレンス2025
kfly8
4
2.7k
Tシャツに書かれたコードを読む
kfly8
0
1.4k
Introduce Sub::Meta
kfly8
0
78
研修はイベントでなくコミュニティ作り
kfly8
0
2.1k
明日からできる新人のオンボーディングガイド
kfly8
0
850
メンター成長のためのふりかえり会
kfly8
0
1.3k
Interfaces in Perl5 at The Perl Conference 2019 in Pittsburgh
kfly8
0
3.1k
経験から効率よく学習する
kfly8
0
450
Other Decks in Technology
See All in Technology
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
2k
バフェットコード株式会社 開発チームカルチャーデック
shoe116
1
110
JAWS-UG SRE支部 #14 LT
okaru
0
110
2ヶ月で新規事業のシステムを0から立ち上げるスタートアップの舞台裏
shmokmt
0
190
Spring Boot利用を前提としたJavaライブラリ開発方法の提案
kokihoshihara
PRO
2
230
【Oracle Cloud ウェビナー】パスワードだけでは守れない時代~多要素認証で強化する企業セキュリティ~
oracle4engineer
PRO
2
100
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.3k
Perlブートキャンプ
hatena
0
230
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
280
第65回コンピュータビジョン勉強会
tsukamotokenji
0
150
Black Hat USA 2025 Recap ~ クラウドセキュリティ編 ~
kyohmizu
0
550
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
760
Featured
See All Featured
Scaling GitHub
holman
463
140k
A Tale of Four Properties
chriscoyier
162
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Making Projects Easy
brettharned
120
6.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Done Done
chrislema
186
16k
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