Page 1
俺のPHPが合戦で 負けるわけがない
There's No Way My PHP Could Lose in a Battle
pixiv Inc.
USAMI Kenta
2024-11-30
紅白ぺぱ合戦
公開日:
by USAMI Kenta@tadsan
俺のPHPが合戦で 負けるわけがない
There's No Way My PHP Could Lose in a Battle
pixiv Inc.
USAMI Kenta
2024-11-30
紅白ぺぱ合戦
お前誰よ
ぺとぱで戦えと言われた……
Perlは魂の故郷
tadsanは
動的言語が大好き
なぜtadsanは
PHPを書いているのか
YAPCで就職したから
(本当)
こないだもこういう話をした
僕がPHP界隈で偉そうに 話してるネタはYAPCとか
ビルコンの二番煎じだ!
(本当)
大切なことはYAPCで教わった
tadsanとPHPは
ビジネスの関係
プロフィールにも書いてる
PHPについてのパブリックイメージ
脆弱性 ゆるふわ 弱い型 動的
クソザコ 型なし 意味不明 弱い 自動変換 貧弱 Perlっぽい 適当
PHPについての認識は概ね間違い
脆弱性 ゆるふわ 弱い型 動的
クソザコ 型なし 意味不明 弱い 自動変換 貧弱 Perlっぽい 適当
そんなわけで
お前をPHPerに
してやろうか
PHPとPerlの関係
変数に$があって
Perlっぽくて
C言語っぽい
関数と
-> があって
雰囲気Javaっぽい オブジェクト指向で
PHPは見る人の心を映す
Perlが捨てた
CGIの末裔
PHPは過去と未来を繋ぐ言語
そういうことは
結構どうでもいい
PHPはどこでも65点がとれる言語
Perl以上に雑に使える
初心者向けWeb言語
それでいいのか?
俺のPHPがこんなに
静的なわけがない
There's No Way My PHP is so static
pixiv Inc.
USAMI Kenta
2024-11-30
紅白ぺぱ合戦
PHPは静的型付き言語
Statically typed?
int n = 1;
int m = n + 2; printf("%d n");
\
こんな当たり前の型をちんたら
書いてられないと思った人たちが
作った言語がPerl(という認識)
int n = 1;
int m = n + 2; printf("%d n");
\
時代は型推論
型なんて人間が書かなくても
コードを解析すれば
一意に定まるじゃん、ワロス
PHPでも型宣言? とかできますけど…
/**
* @param int $a * @param int $b
* @return int|fioat
*/
function add($a, $b) {
return $a + $b;
}
DocCommentとかいう
/**
机上の空論
* @param int $a * @param int $b
* @return int|fioat
*/
function add($a, $b) {
return $a + $b;
}
DocCommentとかいう
/**
机上の空論
* @param int $a * @param int $b
* @return int|fioat
*/
function add($a, $b) {
コーディング時の
ヒントとして役に立つ…
return $a + $b;
かもしれない
}
function add(int $a, int $b): int|fioat
{
return $a + $b;
}
intしか渡されないことは
実行時に保証される
function add(int $a, int $b): int|fioat
{
return $a + $b;
}
intしか渡されないことは
実行時に保証される
function add(int $a, int $b): int|fioat
{
return $a + $b;
}
型宣言に反する値が
返されたら実行時エラー
そうだけど
それだけじゃないんだ
可能な限り定数型が保存される!
(TSでは1, number)
可能な限り定数型が保存される!
(TSではstring)
分岐などのフローも解析して
型を絞り込んでくれる!!
その辺の静的言語とは
別の方向に尖りつつある PHPにご期待ください
