プラグマティズム・ファースト:「PHPの父」ラスムス・レルドルフ氏へのインタビュー
「PHP の父」ラスムス・レルドルフは、直接的で寛大な人柄、簡潔で鋭い言葉、そして行間に「実用主義第一」の精神を持っています。 「PHP Global Developers Conference」への出席の前夜、この「実行者」は「プログラマー」とのインタビューに応じ、プログラミングに関する洞察を共有しました。
仕事の焦点
私が参加するプロジェクトは常にユーザーに直接関係しています。私は何年も Yahoo のエンジニアとして、数億のエンド ユーザーを接続するインフラストラクチャを担当していましたが、そのインフラストラクチャは今も稼働しています。現在、私は Etsy で、何百万ものユーザーを接続するバックエンド インフラストラクチャの責任も負っています。テクノロジーは実際には問題を解決するための単なるツールであり、何百万もの人々の生活の質を向上させるためにテクノロジーを使用することは特別なことではありません。
「問題」がガイドです
「コンピュータ科学者」と比べて、私は「エンジニア」という肩書きの方が好きです。両者の違いについては、後者の方が目の前の問題を解決することに重点を置いていると思います。私が PHP を開発したのは、プログラミングや言語設計が好きだからではなく、好きではないからです。 1993 年に私が持っていたプログラミング スキルでは、Web の問題を簡単かつ迅速に解決することができませんでした。私の場合、困難に遭遇したときだけ、自分を豊かにするために本を読んだり、情報を調べたりします。すべての意思決定は、改善のために行われるのではありません。
経験と教訓
私は多くの間違いを犯してきましたが、その中には後から気づいたものもありましたが、予想よりも良い結果を達成することもできました。最も重要な教訓は、Web の問題を解決するには、最初からエコシステム全体に焦点を当てるべきであるということです。過去 20 年間、Web の問題に対する解決策は次々と登場しましたが、その品質にはばらつきがあり、完全なエコシステムを構築して一般の人が使用できるものはほとんどありません。
PHP 7 について考えるべき点は何ですか?
PHP 7 開発の最後の 10% は最も時間がかかり、退屈です。しかし、強力な新機能と急速なパフォーマンスの向上により、前向きな姿勢が浸透し、チーム全体にインスピレーションを与え、迅速にこの問題を乗り越えることができました。ただし、すべてのアップデートには終わりのないテストがあり、解決すべきプラットフォームの問題は無限にあり、調査すべき奇妙なエッジケースは無限にあり、脆弱性のレポートには終わりがありません。
新しい人を吸収する
少し前に Emacs のバージョン管理システムが BZR から Git に変更されたことは知っていますが、新しい貢献者を引きつけるという点では、実際には平等に分かれていると思います。最近では Git の人気が高まっており、レンガやタイルをすぐに追加することが簡単になりました。しかし、長年の忠実な貢献者にとって、バージョン管理システムは重要ではありません。適切な文書化と新しい貢献を促進するプロセスが重要です。
PHP を再設計できたら
もし過去に戻ることができたら、キーワードの大文字と小文字の区別など、改善したい領域が間違いなくあるでしょう。当初、PHP は単なる HTML テンプレート言語でした。 1990 年代初頭、HTML タグを大文字にするか、小文字にするか、または大文字と小文字を混合するかについて議論しました。私は議論したくなかったので、PHP のテンプレート タグで大文字と小文字を区別しないようにしました。このアプローチは現在でも使用されています。
JavaScript は他の言語を食べますか?
PHP と JavaScript はほぼ同時に進化しました。私は Brendan Eich (JavaScript デザイナー) とほぼ同じ時期に仕事を始めましたが、彼の焦点は明らかにクライアント側にあり、私の焦点はサーバー側にありました。クライアント側のアプリケーションを作成している場合は、JavaScript を使用する以外に選択肢はありません。ブラウザがサポートする言語であれば何でも使用する必要がありますが、サーバーに焦点を当てている場合は、まったく異なります。
クライアントサイドのコードを書く人が多いのでJavaScriptを知っている人も多く、今ではサーバーサイドでもJavaScriptが花開いています。しかし、JavaScript は PHP と同様、解決策の 1 つにすぎず、唯一の解決策ではありません。それは良いことです。先ほども言いましたが、言語は問題を解決するための単なるツールであり、崇拝されるべき宗教ではありません。当面の問題があり、JavaScript を使用したい場合は、JavaScript を使用することをお勧めします。
プログラミング原則
効果的で、安全で、十分に高速である限り、公開してから次の問題を解決してください。 3 つすべてが不可欠です。そうでない場合は、次の問題を解決する時間を確保するために、戻ってコードをチェックする必要があります。
今後の展望
プログラミング言語に関しては、これらのツールが将来どうなるかについてはまったく考えていませんが、それらが現在の問題を解決できるかどうかの方が心配です。 Etsy を例に挙げると、手作り工芸品の Web サイトとして、裕福なバイヤーと貧しいアーティストを結びつけ、彼らを貧困から脱出させることができるでしょうか。私たちのインフラは、他の企業が同様に大きな問題に取り組むのに役立つでしょうか?私たちのソリューションは、顧客の問題が瞬く間に解消されるほど強力なのでしょうか?これらは私が気にかけていることです。
昔もプログラミングは好きではありませんでしたし、今も好きではありません。私はただ問題を解決することが好きで、それは決して変わりません。
記者: Lu Yuxiang、Zhang Xinhui
この記事は「Programmer」によるオリジナル記事であり、許可なく転載することはできません。さらに興味深い記事については、2016 Programmer を購読してください: http://dingyue.programmer。 com.cn /

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
