最近、突然、自分がまたトレンドに逆行しているように見えることに気づきました。おそらく私の多くの友人とは考え方が違うと思いますが、プログラミング言語界の「ろくでなし」である PHP はかつてないほど人気があると思います。
もしかしたら、PHP はすでに完成しているのではないかと疑問に思うかもしれません。世の中にはすでに「より良い」プログラミング言語がたくさんありますよね。
答えは明らかにノーです。そうでなければ、PHP は人々の目から消え、一万フィートに踏みつけられていたでしょう。根本原因を見つけるには、おそらく、いわゆる「より良い」言語が実際には何を意味するのかをまず理解する必要があるでしょう。
PHP がまだ生き続けている理由がまだ理解できない場合は、プログラミング、プログラマー、市場、テクノロジーの普及などの問題から始めなければならないかもしれません。はい、本当の理由はここにあり、コード、関数、構文ではありません。
かつて、PHP を叱責するのがトレンドでした。
チームを選択して、今日のコーディング エンジニアリングの分野でしっかりと立ち回りたい場合は、まずその言語を削除する必要がありますリーダーが指定したすべての競合するプログラミング言語をまず叱りましょう。これは機能的な特徴とは関係なく、ビジネス文化を直接反映しています。言い換えれば、そのような場面はしばしば入社式を彷彿とさせます。
プログラマは、私も含めて頑固な人々の集まりです。私たちは皆傲慢で、使用しない言語や嫌いな言語をすべて批判したがります。 「Java は最悪、C# はゴミで何でもない」というエンジニアの言葉を聞いたことがあるでしょうが、みんなを笑わせるものであれば、ここでどの言語について話しているのかは関係ありません。
しかし、理不尽な非難の背後には、より深い軽蔑があり、それは特に最近の PHP 対 Python の論争で明らかです。多くの学者の目には、これは血なまぐさい王朝の交代のように映り、誰かが PHP を廃止して完全に Python に置き換えようとしているように見えます。
信じられない場合は、Wikipedia で確認してください。LAMP スタック エントリの「P」は Python を表します。興味深いことに、20 年前に私が初めて LAMP に触れたとき、「P」は間違いなく PHP を指しており、Python でも Perl でもありませんでした。物事が進化できないと言っているわけではありませんが、どのようにして Python が知らず知らずのうちに PHP の文化的地位を置き換えてしまったのでしょうか?これは確かに熟考する価値のある質問です。
ほとんどのプログラマーにとって、学校では Python や、現実世界のシナリオでは決して使用されない可能性のあるその他のニッチな言語を学習します。教授やその他の実践者が「PHP は最低だ」などと言っているのを多かれ少なかれ耳にしますが、さらに深く掘り下げてみると、彼らは PHP コードを 1 行も真剣に書いたことがない可能性があることがわかります。
実際、誰かがフルタイムで PHP コードを書いていることを考えるだけで、悪魔サタンが実際に忠実な追随者を持っているのを見るのと同じように、私たちは寒気がします。
PHP に対するこの軽蔑は実際には非常に論理的であり、プログラマー コミュニティの間で内生的なコンセンサスさえ形成しています。友達と座って、トランプ、ポップ ロック、PHP について話しながら、スターバックスで午後のひと時を楽しむのは素敵ではないでしょうか?
PHP が本当に最悪である理由を議論するために多くの貴重な時間を喜んで無駄にするプログラミング純粋主義者もいます。ほとんどの議論は、気に入らないデザインの傾向やニュアンスを中心に展開しており、この種のやり取りでは、やり取りが一般的な戦術です。言葉に関しては、どちらが優れているか、どちらが劣っているかを判断しなければなりませんが、結局のところ、紫と金の瓢箪は雄と雌に分かれています。
確かに不満の余地はたくさんあります。PHP は型付けが緩い言語なので、よくないコードが生成されます。 (でも、JavaScript や Node.js も同様です。なぜそれほど憤りを感じないのでしょうか?) PHP には機能が多すぎます。 (はい、これは便利すぎてプログラマのレベルを誇示しません。) 関数名が矛盾しています。 (はい、言語が本当に人気があり、コンピューター サイエンスの博士号が 1 人の手に完全に委ねられていない場合には、このような問題が発生します。)
本題に戻りましょう。PHP に対する批判は主に次のようなものから生じていることがわかります。個人的な好みや細かい部分の抜粋など。その気になれば、Python、C#、Java、Go、JavaScript などの他の言語でも同様の欠陥を見つけることができます。プログラマーとして、私たちはただ不平を言うのが大好きで、不平を言うことは私たちを幸せにします。
しかし、プログラマが PHP を叩きたがる本当の理由は、人間の生来の傲慢さと、拡大し続ける嫉妬のせいです。
PHP は確かに使いやすいです
PHP は 1990 年代半ばに誕生し、多くの優秀なプログラマーよりもさらに古いものです。私が PHP を使い始めたのは 2000 年代初頭で、当時はバージョン 4 からバージョン 5 に移行したばかりでした。その後、自分で作成した CodeIgniter ZendFramework フレームワークでアプリケーションを作成し始めました。
私の意見では、PHP が何年経っても常に最新の状態を保ち、劣化の兆候が見られない主な理由は、PHP が世界中の新旧のアプリケーションに組み込まれており、また、関係なく開発者の頭の中に埋め込まれているからです。年齢の。数年使っている人もいれば、何十年も使っている人もいて、PHP は彼らに深い印象を残しています。開発者が消えることはなく、開発者が作成するビジネス コードも消えることはないため、PHP は引き続き存在します。そして興味深いことに、Python は実際には PHP よりも早い 1991 年に誕生しました。そして、Python はライフサイクルが長いにもかかわらず、PHP の現在の高みに到達することはできませんでした。 #########どうしてこれなの?
個人的な観点から言えば、Python は PHP よりも使いにくいと思います。この問題は Python 3 で改善されましたが、15 年前まで遡ると、Python には PHP に最初から備わっているような「派手な機能」 (関数) がありませんでした。多くの機能は手動でインストールする必要があり、そうしないと役に立たなくなります。
そして、Python 言語に長い間浸透してきたもう 1 つの長年の問題は、間隔構文です。私は、コード間のスペースの数によって分離が決まるこの構文が大嫌いです。私はコードを好きなように分離したいのですが、プログラミング言語自体がここで何かをしなければならないという考えに耐えられません。私のこの習慣を批判するのは誰でも自由ですが、これは私自身のコードであり、私が書いたものです。自分のスタイルに従いたいと思うのは間違っていますか?この権利すら与えられないなら、毎日バグチェックをする独善的な荒らしどもを呪ってやる。 Python は、このスペースのある構文が「読みやすい」と常に自慢してきましたが、これは明らかにマーケティング上のでたらめです。それは置いておきますが、Python で使用される構文は、プログラミング言語の世界で最も独善的で最悪の構文と言えます。 プログラマを苦しめるのは、この理解できない独善性です。プログラミングの初期の頃、文法上の誤りを修正するのに役立つ IDE がなかったとき、Python を詳しく調べようとするプログラマは多くありませんでした。 。とにかく、したくないです。より正確に言えば、これは、Python 言語が誕生してから最初の 10 年間に大きな市場シェアを獲得できなかった主な理由でもあります。はい、このデザインはまったくユーザーフレンドリーではありません。 また、Python 言語の存在感はそれほど強くありません。これはスクリプト言語として Linux ディストリビューションに組み込まれており、これがその主な目的です。 「そうだ、Python が登場した。これを使って Web サイトを構築できる!」と歓声を上げる人はいないでしょう。もちろん、Python は Web サイトの構築にも使用できますが、優秀なエンジニアは、Python の特性が Web に適していないと感じる可能性があります。開発シナリオ。個人的な構文レベルの好みはさておき、Python が非常に強力な言語であることは認めます。データ サイエンスや高精度の数学的演算に重点を置いたその他のタスクを処理するのに特に適しています。誰もが PHP を始めることができます
過去 15 年間で、Python は確かに根本的なアップデートをもたらし、多くのレベルで PHP を上回りました。しかし、Python にはまだ捨てられていない 2 つの重い荷物があります。まず、ほとんどのアップデートが 10 年遅すぎるようです。
Python 3 は 2008 年にリリースされ、下位互換性が失われました。 Python 2 コードは、追加の変更を加えないと Python 3 では実行できません。しかし、エンタープライズ環境では、コードの古いバージョンが数十、数百万も存在することがよくあります。 公平を期すために、PHP 7 と 8 は PHP 5 の一部のコードも壊れます (PHP 6 バージョンはありません)。私は ZendFramework コミュニティの一員であり、古いコードの PHP 7 および 8 での実行をサポートするようにフレームワークを更新することに貢献してきました。良いニュースは、ZendFramework を PHP 7 および 8 にアップグレードするときに、従来のコードがほとんど影響を受けなかったことです。したがって、ほとんどの PHP 5.6 コードには良好な下位互換性があります。 おそらく、PHP を業界の常緑樹にした大きな転機は、2005 年に Automattic という小さな新興企業が静かに設立されたことでしょう。 もし WordPress が Python で書かれていたら、PHP が今日ほど誇りに思うことは決してなかったでしょう。しかし、私はまた、Python が WordPress が今日のように広く成功する可能性を妨げ、さらにはその可能性を潰すだろうとも敢えて言いたいと思います。 言語やアプリケーションがオープンソース市場で存続し続けるためには、コントリビューターの利用と拡大が不可欠です。そして、より簡単に始められる方が、業界の貢献者からより多くのサポートを集めることができるでしょう。 専門的な訓練を受けたソフトウェア エンジニアとして、私は PHP に向けられたあらゆる侮辱を理解しようと努めますが、皆さんに思い出していただきたいのは、PHP は正式な学位を取得したエンジニアだけでなく、一部のエンジニアによっても使用されているということです。タイムワーカー、主婦、グラフィックデザイナー、会社経営者、起業家、そして小学生まで。そうです、何千人もの小学生が初めてのコンピューターで PHP で Web ページを作成しています。 PHP は情報化時代の BASIC 言語であるとも言えます。 ソフトウェア エンジニアとして、多くの批評家はエンジニアの考え方に慣れていますが、時間が限られているため、中小企業の Web サイトを構築したいだけの PHP ユーザーが世界中に無数にいることを忘れています。そしてリソース。WordPress と PHP は彼らに手を広げました。はい、WordPress 自体は確かに使いやすいですが、十分に包括的ではありません。この欠点を補うのが WordPress プラグイン アーキテクチャ (ここでの「アーキテクチャ」という言葉は正確ではないかもしれませんが、誰でも理解できます) です。これにより、一般の人が PHP で小さなコードを記述して、対応する変更を実装できるようになります。クラス全体を書き直す必要はなく、ソフトウェア エンジニアの認定を受ける必要もなく、必要なのは小さなコードだけです。
このようにして、何百万ものアマチュア プログラマーが独自のプログラミングの道を歩み始め、その経験をインターネット上で他の人と共有し、最終的には巨大な PHP テクノロジ コミュニティを確立しました。
わかりやすい PHP を使用すると、一般の人でも効果的にコードを書くことができ、シンプルで、気まぐれで、型付けが緩く、コンパイルが不要で、扱いやすいと言えます。
PHP は World Wide Web 全体をサポート
15 年後、現在、PHP は Web システムの 78% をサポートしています。 WordPress だけですべての Web サイトのほぼ 40% を占め、すべての CMS のほぼ 3 分の 2 を所有しています。しかも、「名門」Python はパイの 10% しか占めていないのです。ライバルの Python 愛好家の間では PHP が嫌われていますが、Python が Web で利用しているのは 1.5% 未満です。 ######あなたは怒っていますか?怒ることは何もありません。
はい、そのはずです。
法人顧客の採用担当者から連絡を受け、すべての Python Web コードを削除して PHP に置き換える意向を表明しました。これは驚くべきことのように聞こえますが、実際には常に起こっています。なぜ? PythonはWebアプリケーションにはあまり向いていないと言われているからです。 Python に精通した開発者はデータ サイエンスやその他の分野の専門家であることが多く、経験豊富な人材が不足しています。彼らに Web 開発に従事させる必要はまったくありません。
企業は、Web 上でより柔軟になることを望んでいます。チームの規模を拡大または縮小する必要がある場合、Python に精通した人材を探すのに何週間も何か月も費やしたくありません。このタイプのエンジニアは非常に高価であり、企業はそれを買う余裕がありません。
ただし、さまざまなビジネス規模に適応できる PHP プログラマーは、労働市場において質と量が高く、必要に応じて迅速にトレーニングを受けることもできます。さらに重要なことは、数十年の経験を持つ経験豊富な上級 PHP アーキテクトを見つけたい場合でも、Python 分野で同じレベルの人材を見つけることよりもはるかに難しいことではありません。
そして、会社の経営陣も Python ファンにマナーを教えます。特別な理由もなく Python で Web またはミドルウェアを作成したいですか?予算がそれほど多くないこと、いつでも他のツールに簡単に置き換えることが必要であることは、Python が苦手とする点です。
資格のあるアプリケーション アーキテクトになるには、まず最も効果的なテクノロジを使用して、ビジネスまたは企業に「適切な規模」のサポートを提供する方法を学ぶことです。個人的な好みは重要ではなく、テクノロジは重要ではありません。重要です。最も重要なことは、より多く、より速く、より良く、より経済的であることです。
つまり、完全に Python で記述するのに適した SaaS アプリケーションは実際には非常に少ないことがわかりました。ウェブ上での Python の悲惨な市場シェアを考えると、ほとんどのアプリケーション アーキテクトが私の意見に同意しているようです。彼らは、最適な場合にのみ Python を使用し、さらに最適な場合には PHP を使用します。
概要エンジニアとして、私たちは皆、使い慣れたものを使用することを好みますが、理解できないものを軽視することにも慣れています。認めることを恐れないでください。私たちプログラマーはこの問題を抱えています。
大学は Python を汎用ビジネス言語として位置づけようとしていますが、そうではありません。 Python は、サーバーの実行、データ サイエンス、大規模で複雑なデータの処理、さらには暗号通貨マイニングの処理に特化したハイエンド言語として適しています。これらがその専門分野です。
PHP は人気のある言語であり、World Wide Web の客観的な標準となっています。
だから、必要に応じて、PHP の悪口を言い続けても構いません。しかし、結局のところ、Web 上で最も広く使用されている言語であり、WordPress が成長を続け、PHP 7 と 8 がアップグレードされ続けるにつれて、そのリーダーシップがすぐに揺るがれることはありません。
著者について:
Beau Beauchamp は、エンタープライズ レベルの UI/UX フルスタック Web アプリケーション アーキテクトであり、スケーラブルなアプリケーションの開発で 20 年以上の経験を持つ上級開発者です。
元のリンク:https://beau-beauchamp.medium.com/php-is-killing-python-2be459364284

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









