Facebookのエンジニアに、開発に使用する主なプログラミング言語を尋ねました。彼は特に「バックエンドのものにはC++を使用し、フロントエンドのものにはPHPを使用する」と述べました。これは私にはまったく意味がありません。私は最初、これを「サーバー側」のコードがC ++、「クライアント側」がPHPであることを意味するように翻訳しましたが、このリンクを調査した後:http: //tinsology.net/2009/06/client-side-vs-server-side -code / PHPは実際にはサーバー側のコードであり、HTML/CSSはクライアント側のようです。さらに、C ++は通常、ApacheまたはIISを実行しているWebサーバーでは使用されません。彼が何を意味したのか、何か考えはありますか?
3 に答える
C ++はCGIに使用できますが、誤解されていると思います。彼らはおそらくウェブサイトにPHPを使用し、バックオフィスアプリケーションやウェブサービスにC++を使用するでしょう。Webサイトはビジネスの「フロントエンド」であるため、PHPは、視点に応じてバックエンドまたはフロントエンドになります。PHPは確かにサーバー側のスクリプト言語であるため、Web開発者であり、Web開発者の観点から見ると、PHPは確かにバックエンドです。
Facebookは(ほぼ)すべてのコードをPHPで記述していますが、コンパイラーを使用してC++コードに変換しています。
これは、この世界にはC ++プログラマーよりもはるかに多くのPHPプログラマーがいるためですが、C++ははるかに高速で効率的です。
ユーザーログイン、投稿の追跡などにPHPを使用し、データベースやobvなどにC++を使用します。バックエンド。
C++は実際には使用されていません-その通りです。C ++の方が高速で、数百万行のコードを使用すると、あちこちで速度がわずかに向上します。実行速度が速いため、サーバーへの負荷も軽くなり、コストと電力を節約できます。
PHPをC++に変換する「HIpHOp」というプログラムをご覧になることをお勧めします。実際にはFacebookのエンジニアがFacebook自体のために書いたもので、一般に公開されていると思います。