SlideShare a Scribd company logo
1 of 42
Download to read offline
PHP: Dis Is It
Discover the language you never knew.




          2011.12.17
     Tokyo@PHP Apocalypse
PHP Sucks
 約 2,060 件 (0.09 秒)
•PHP Sucks
•PHP Must Die
•What are the horrors
of PHP?
new VB6 in a C dress

                 別々に書かれた興味深
                 いコメントを紹介しま
                 す
これはどの言語にも起こる事なんだ、
VBがいい例だ。
VBに根本的に悪いところがあった訳ではない。
単なるコンピュータ言語だ。


しかし、酷い exmaple code が使用例として
蔓延してしまった。


そしてそれがbad codeだと分からないレベルの
プログラマー達によって、いたるところで使われ
てしまった。
そうやって、VBはその酷いcodeでも問題にな
らない場所で使われて行くようになってしまっ
た。
フムフム、では...
そもそもPHPの問題とは?
一貫性の欠如
 inconsistency
一貫性の欠如   $needle, $haystack
                $haystack, $needle
理由の1つに混血言語?

     C, Perl, and Java
一貫性の欠如
PHPの他に広く普及した混血
    言語があります。




一貫性の欠如
PHPの他に広く普及した混血
    言語があります。


         English
一貫性の欠如
(k)nife kは読まない
    good better 語源が違う
    表記と発音が一致しない



一貫性の欠如
英語の発音と綴りの間の関係は、
   他のヨーロッパの言語と比べると
   一貫性に乏しい。以前は「name」
   はナーメと、「time」はティーメと
   綴り通り発音されていた

一貫性の欠如
PHP Dis記事
   これ自身にも一貫性の欠如が。



一貫性の欠如
なぜか?




一貫性の欠如
なぜか?

✴デザイン    Objective
✴スタイル
✴プリファレンス Subjective
✴Nothing Personal
✴Be Proffesional
PHP sucks
 約 2,060 件 (0.09 秒)
Ruby sucks
 約 2,810 件 (0.12 秒)
Python sucks
  約 979 件 (0.14 秒)
Java sucks
 約 12,400 件 (0.42 秒)
http://jimbojw.blogspot.com/2006/10/clearing-air-more-
                languages-that-suck.html
http://jimbojw.blogspot.com/2006/10/clearing-air-more-
                languages-that-suck.html
http://jimbojw.blogspot.com/2006/10/clearing-air-more-
                languages-that-suck.html
ソフトウエアバッシン
グというのは何のどの
分野でもありえます。
Mac sucks
 約 311,000 件 (0.09 秒)


                        OSももちろんありま
                        す。
Windows sucks
   約 525,000 件 (0.49 秒)
Unix sucks
 約 12,300 件 (0.10 秒)
「UNIXはただ死んだだけでなく、本当にひ
どい臭いを放ち始めている」
「私は悩みをリストアップし始めたが、
 そのあまりの長さにいやけがさし、
 何も考えないことにした。
我々は1970年代の賞味期限切れのオペレー
ティングシステムをよく使っている。


それで多くのことをしたし、楽しんだ。
しかし現実を直視しよう。
「この30年間にコンピューティングや
ネットワーキングに関する素晴らしいア
イデアが多数生み出された。よりエレガ
ントなOSに移ろう。」
しかし、普及しなかった。
Plan 9 が失敗したのは単に、Unix がそ
れ以前のシステムを凌駕したほど Plan 9
は注目に値する改良ではなかったからであ
る。

エリック・レイモンド - The Art of Unix Programming
•充分に機能するか?
•レイヤー可能か?

=進歩には漸進的な発展が必要
PHP


”機能している。その変化は漸進的”
      テキスト
      テキスト
      This Is It.
    Akihito Koriyama
         2011,12,17
       PHP Apocalypse

More Related Content

Similar to PHP: Dis Is It

Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutesYohei Sasaki
 
Rds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみようRds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみようguest468ec6
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキストYoshimasa Kawano
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravelMasaru Matsuo
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Kaz Aiso
 
RubyKaigi Lightning Talks TwYM episode2
RubyKaigi Lightning Talks TwYM episode2RubyKaigi Lightning Talks TwYM episode2
RubyKaigi Lightning Talks TwYM episode2Kuniaki Igarashi
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~infinite_loop
 
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史Sho Okada
 
Firebug×smart release20120904
Firebug×smart release20120904Firebug×smart release20120904
Firebug×smart release20120904Masayuki Abe
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジーMakoto Nishimura
 
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!TAKUYA OHTA
 
How to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebianHow to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebiankenhys
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020Rui Hirokawa
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012makoto tsuyuki
 

Similar to PHP: Dis Is It (20)

Couch DB in 15minutes
Couch DB in 15minutesCouch DB in 15minutes
Couch DB in 15minutes
 
Vert.x.tari.tari
Vert.x.tari.tariVert.x.tari.tari
Vert.x.tari.tari
 
Nishimotz pycon2011jan
Nishimotz pycon2011janNishimotz pycon2011jan
Nishimotz pycon2011jan
 
Rds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみようRds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみよう
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト「寝ながら作るXojo」ハンズオンテキスト
「寝ながら作るXojo」ハンズオンテキスト
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravel
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
 
RubyKaigi Lightning Talks TwYM episode2
RubyKaigi Lightning Talks TwYM episode2RubyKaigi Lightning Talks TwYM episode2
RubyKaigi Lightning Talks TwYM episode2
 
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
 
Firebug×smart release20120904
Firebug×smart release20120904Firebug×smart release20120904
Firebug×smart release20120904
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジー
 
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
 
How to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebianHow to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebian
 
rpi_handson_2
rpi_handson_2rpi_handson_2
rpi_handson_2
 
POSIX Threads
POSIX ThreadsPOSIX Threads
POSIX Threads
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
 

More from Akihito Koriyama

PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」Akihito Koriyama
 
A resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangleA resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangleAkihito Koriyama
 
An object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_oAn object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_oAkihito Koriyama
 
The new era of PHP web development.
The new era of PHP web development.The new era of PHP web development.
The new era of PHP web development.Akihito Koriyama
 

More from Akihito Koriyama (15)

PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」PHPカンファレンス関西2014 「全てを結ぶ力」
PHPカンファレンス関西2014 「全てを結ぶ力」
 
A resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangleA resource oriented framework using the DI/AOP/REST triangle
A resource oriented framework using the DI/AOP/REST triangle
 
PHP Coding in BEAR.Sunday
PHP Coding in BEAR.SundayPHP Coding in BEAR.Sunday
PHP Coding in BEAR.Sunday
 
BEAR.Sunday 1.X
BEAR.Sunday 1.XBEAR.Sunday 1.X
BEAR.Sunday 1.X
 
BEAR.Sunday $app
BEAR.Sunday $appBEAR.Sunday $app
BEAR.Sunday $app
 
BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012BEAR.Sunday@phpcon2012
BEAR.Sunday@phpcon2012
 
An object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_oAn object graph visualizer for PHP - print_o
An object graph visualizer for PHP - print_o
 
BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0BEAR.Sunday.meetup #0
BEAR.Sunday.meetup #0
 
BEAR.Sunday Offline Talk
BEAR.Sunday Offline TalkBEAR.Sunday Offline Talk
BEAR.Sunday Offline Talk
 
BEAR.Sunday Note
BEAR.Sunday NoteBEAR.Sunday Note
BEAR.Sunday Note
 
The new era of PHP web development.
The new era of PHP web development.The new era of PHP web development.
The new era of PHP web development.
 
BEAR (Suday) design
BEAR (Suday) designBEAR (Suday) design
BEAR (Suday) design
 
BEAR DI
BEAR DIBEAR DI
BEAR DI
 
BEAR Architecture
BEAR ArchitectureBEAR Architecture
BEAR Architecture
 
BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)BEAR v0.9 (Saturday)
BEAR v0.9 (Saturday)
 

Recently uploaded

OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」
OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」
OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」Tetsuya Nihonmatsu
 
EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識sugiuralab
 
[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方
[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方
[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方Hiroki Ichikura
 
review.pdffweafgwahouigfhwafoufhohfaohfaohfao
review.pdffweafgwahouigfhwafoufhohfaohfaohfaoreview.pdffweafgwahouigfhwafoufhohfaohfaohfao
review.pdffweafgwahouigfhwafoufhohfaohfaohfaossuser81c525
 
若者がネットワーク業界に興味を持つには?
若者がネットワーク業界に興味を持つには?若者がネットワーク業界に興味を持つには?
若者がネットワーク業界に興味を持つには?orumo
 

Recently uploaded (6)

OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」
OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」
OWASP Hardning Privacy セッション 「セキュリティの守るべきものとは情報とプライバシーへ」
 
EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
EarHover:ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
 
[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方
[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方
[NETSUGENプログラミングカンファレンス2024 登壇した資料]UnityとSwift UIを用いた3Dモデルを使ったMR, AR体験の作り方
 
review.pdffweafgwahouigfhwafoufhohfaohfaohfao
review.pdffweafgwahouigfhwafoufhohfaohfaohfaoreview.pdffweafgwahouigfhwafoufhohfaohfaohfao
review.pdffweafgwahouigfhwafoufhohfaohfaohfao
 
若者がネットワーク業界に興味を持つには?
若者がネットワーク業界に興味を持つには?若者がネットワーク業界に興味を持つには?
若者がネットワーク業界に興味を持つには?
 
U-22プログラミング・コンテスト2024 作品説明動画を制作するポイントを紹介
U-22プログラミング・コンテスト2024 作品説明動画を制作するポイントを紹介U-22プログラミング・コンテスト2024 作品説明動画を制作するポイントを紹介
U-22プログラミング・コンテスト2024 作品説明動画を制作するポイントを紹介
 

PHP: Dis Is It