いわゆる WEB2.0 時代の到来により、プログラマーは今日ほど注目を集めたことはなく、多くのプログラマーの間で言語に関する議論が今日ほど激しくなったことはありません。 、PHP、ASPなど、最近ではRubyが出てきてPythonも追加されています。その真ん中、つまりインターネット上で無数のファンが議論しており、現実であればおそらく『天龍剣伝』に描かれているような、光明定と戦い勝敗を決めることになるだろう。 、または世界一を決定する宗派。今では、どの言語で誰が最も優れているかを判断するのに非常に便利です。現在最も人気のある統計手法は Google です。Google の検索結果を見れば、基本的に市場の Web サイトでの使用状況を判断できます。
php に一致するクエリ結果は約 5,760,000,000 件あります
クエリは約 3,070,000,000 件あります。 aspに準拠した結果
javaに準拠したクエリ結果約976,000,000件
perlに準拠したクエリ結果約327,000,000件
Pythonに準拠したクエリ結果約238,000,000件
約ありますc++に準拠したクエリ結果は2億2500万件
Web2.0時代のrubyに準拠したクエリ結果は約1億7600万件
PHP:今でも大人気
ゲ この時期にハゲ頭だな頻繁に露出することで常に 1 つの真実がわかります。それは、多くの人が使用しているカードは良いカードであるということです。このハゲ星の言葉を当てはめると、「私は人々を信じています」ということになります。上記のクエリの結果から、人々が PHP をとても愛していることがわかります。
しかし、インターネット上の上級開発者に PHP、ASP、Java のどれが優れているか尋ねると、一般的に、この人は、ASP や Microsoft のゴミについて考える必要はありません、PHP と Java は良いものだと言うでしょう。 Java は大規模なプロジェクトに適しており、PHP は短くて高速なプロジェクトに適しています。もしあなたが質問を続け、専門家が忍耐を失わなかったら、おそらく世界最大のインタラクティブ プラットフォームである eBay は JAVA で書かれており、中国最大のコミュニティである CHINAREN も Java で書かれていると言うでしょう。この Web サイトは当初 PHP に基づいていましたが、その後、さまざまな理由により JAVA に変更する必要がありました。この感覚は、「人を殺しに行ったり、世界で名を上げたりするために武道を学びたいなら、マーチングボクシングを練習する必要はない」と言っているようなものです。政府が体を強化するためのファイブ・タイガース・ブロークン・ドア・ナイフは、普通のギャングを相手にするのに十分ですが、トップマスターに遭遇すると諦めてしまいます。 Java は太極拳に少し似ています。今日最大の武術宗派の 1 つである SUN の最も人気のある武術は、マスターを倒すのに最適です。そのため、多くの人は PHP が低レベルの武術であると信じています。カジノで言えば、Java をマスターして初めて武道の指導者になれるのです。
私が多くの企業の技術マネージャーと話したとき、マネージャーは多くの人がこのような考え方を持っている、彼に PHP を書くように頼めば多くの人は侮辱されるだろう、いや、マネージャーはそうではないと感じたと言いました。彼はマネージャーを怒らせて PHP のような辺鄙な場所に送られたときのことを考えていたので、彼のことを真剣に受け止めることはできませんでした。会社が大きくなればなるほど、PHP プロジェクトの開発は難しくなります。このことが多くの技術責任者を非常に落ち込ませていますが、これは非常に奇妙でもあります。そこで以下では、人々には認識されているものの、多くの開発者には好まれていないこの言語、PHP の形成を分析してみましょう。
Web2.0 以前の PHP: 人気の理由
PHP は 1998 年か 1999 年に中国に参入しました。中国に入ったとき、典型的な初期のアプリケーションは中国連の同窓会リストであり、多くの対話型アプリケーションが簡単でした。優れた耐障害性を備えているため、すぐに多くの Web サイトに選ばれるようになりました。インターネット バブルの 2000 年から 2001 年までに、多くの Web サイトが PHP を使用して開発されました。その人気の理由は次のとおりです:
C 構文と互換性があり、習得が簡単
この点で、安定したソースが保証されています。基本的に、コンピュータ サイエンスを学ぶ人は全員 C 言語を学習しているため、この新しい言語を約 1 ~ 2 週間ですぐにマスターでき、その後、簡単な指導を受けて初期開発作業を開始できます。プログラムの開発自体に関しては、3 年以上書き続けているプログラマーと半年以上開発している PHP プログラマーとでは大きな違いはありません。
高速に動作します
インターネットでは、速度は非常に重要な問題です。この点では、PHP を軽蔑している人でも、PHP の動作速度は十分に満足できるものであると認めざるを得ません。非常に実際のデータであり、多くの人々の感情に過ぎず、これを証明する強力な証拠はありません。
非常に強力な耐障害性、非常に優れた堅牢なパフォーマンス
PHP を書く人の多くはこのように感じているはずです。たとえば、PHP で変数を適用すると、それは数値または配列として使用できます。あまりにも。こんなカジュアルなスタイルでどうやって効率を確保できるのかと思うことがありますが、この言語コンパイラを書いた人は本当にすごいとしか言いようがありません。
豊富な関数とシンプルな操作
それほど珍しい操作ではない場合、基本的にそれらを解決するための関数ライブラリを見つけることができます。典型的なものは、ファイルの内容を読み取って変数を読み取ることです。今のところ、私が知っている限りでは、この問題を解決するための特別な関数を提供しているのは PHP だけのようです。
Web 2.0 時代の PHP: 利点が問題になる
上記の 4 つの特性は、PHP でプログラムを開発する場合に非常に一般的ですが、プログラムとしては、これらの一見非常に優れた特性が、結果的に PHP のいくつかの問題も引き起こします。多くの上級プログラマはそれについて低い評価を持っています。
まず第一に、3 年以上 PHP プログラマーをしている多くの上級プログラマーにとって、初心者がヒントを求めると、PHP は非常に難しい言語であることがわかります。ヘルプを読むかチュートリアルを読むことで問題を解決できます。 Java とは異なり、開発歴が半年ほどの Java 開発者と、3 年以上開発した Java 開発者との間には根本的な違いがあり、後者は Java 開発アーキテクチャとディストリビューションの問題について多くのことを話すことができます。と語るルーキーは戸惑いに満ちている。 PHPCHINA.CN で講義をしていたとき、PHP 言語で非常に詳しいことを聞いていると、みんな眠くなってしまい、ほとんどが放席になっていることがわかりました。これは、PHP 言語が理解しやすく、難しい概念がないことが大きく関係していると思います。
2 番目のポイントはやはり効率に関するものです。市販されている WEB 言語の効率に関しては、PHP が他の言語よりもはるかに高速であることを証明する非常に強力なテストはありません。しかし、JAVA と ASP との間の非常に有名なテストがあります。
これら 3 つの言語についてループ パフォーマンス テストと Oracle データベース アクセス テストを行う実験を行った人もいます。ループ パフォーマンス テストでは、JSP は 20000*20000 のループを合計 4 秒間使用しました。 ASP と PHP のテストは 2000*2000 ループ (1 桁少ない) で、それぞれ 63 秒かかりました。 PHP テストは 84 秒間の 2000*2000 ループで、データベース テストでは、Oracle8 で 1000 回の挿入、更新、選択、削除を実行します。
JSP は 13 秒かかります
PHP は 69 秒かかります
。 ASP 73 秒かかります
興味深いテストは、多くの計算において、PHP があまり成功する言語ではないようであることを示しています。これは、多くの専門家が PHP についてあまり楽観的ではないという実際的な例でもあります。しかし、実際には、これはちょっとした BT テストです。インターネット上で 400 万回以上ループする単一のリクエスト アプリケーションを誰が作成するでしょうか。実際、このようなループや負荷の高い操作が WEB アプリケーションで発生することはほとんどありません。存在する場合、最初に考慮すべきことは、アルゴリズムの最適化とループの数の削減、そして言語自体の最適化です。それが必要になったとしても、現時点ではJavaやPHP、ASPでは解決できず、もっと使うならアセンブリが使えると思います。チップの設計が Java のような言語になることは決してないので、この方法を使用して PHP を評価することは非常に不適切です。
Web 2.0 時代の PHP: 未来はどこにあるのでしょうか?
PHP 開発の堅牢性については、どのように書いても実行でき、非常に安定しているため、プログラムの開発が非常にカジュアルになることにもつながります。中国のインターネット製品は緊急性が高いため、適切なドキュメントがほとんどなく、数え切れないほどのプロジェクト マネージャーにとって、後の PHP プログラムのメンテナンスは悪夢となっています。これは、多くの専門家や上級プログラマーが PHP について低い評価を持っている理由でもあります。多くのプロジェクト マネージャーが開発を標準化する必要がある場合、Java には Struts や MVC があるが、PHP にはシステムが欠けていることに気づきます。開発アーキテクチャにより、PHP がエンタープライズ アプリケーション システムの選択肢となるのは困難です。
豊富な関数の操作に関しては、おそらくこれが唯一批判されていませんが、Java、ASP、Perl はいずれも非常に豊富な関数を備えており、この点では PHP に大きな利点があるわけではないため、これはそのうちの 1 つにすぎません。人々が選択する選択肢はそれほど重要な理由ではありません。