go言語は並列処理が非常に優れていると言われていますが? Java PHPと競合できるでしょうか?
返信内容:
心配しすぎです。競争がありません...
Go は世界で最も同時実行可能な言語になりましたが、
しかし、
これは、php が世界で最高の言語になることを妨げるものではありません。
Java が世界で最もパターン化された言語になることは妨げられません。
C++ が 21 日間で学習できる言語になることは妨げられません...
言語は本当に重要ですか?ほとんどの Web バックエンド アプリケーションはデータベースに基づいており、アルゴリズムが適切である限り、PHP も非常に安定しています。それに、最近のサーバーはどれも安価です。パフォーマンスが本当に制限されている場合は、サーバーを購入してポーリングを行うだけです。現在、3 年以上生き残ることができるインターネット企業はほとんどありません。再びテクノロジーにさらわれたら、ゲームオーバーになります。
将来的には、多くの
主流の Web 開発言語が登場するでしょう。 go もその一つかもしれません。
ご招待いただきありがとうございます。普段、クライアントを作成するときに C++ を使用することが多く、サーバーを作成するときはあまり使用しない私にとって、これは再び golang に関する質問に答えるよう招待されるとは思っていませんでした。
私の答えは次のとおりです。
言語 golang を使用する過程で、ある言語がこのような「xxx はいくつかの点で優れているが、aa、bb と競合できるか」、「できるかどうか」を実現できるかどうかについて、 「xxx は x の主流になるのか」、あるいは「xxx は特定の分野を支配する言語になることができるのか」などの質問に答える必要があると思います。まず自分で Web 上の多くの言語を調べ、主流の言語をすべて使用する必要があります。主流の Web 言語のサポート者についてある程度深く理解することによってのみ、より客観的な答えを得ることができます。 。幸いなことに、私は以前にこれをやったことがあります。実際のプロジェクトにも適用されています。私は、C# の WCF と ajax を組み合わせて WebOS を作成し、PHP を使用して Web サイトとシステム バックエンドを作成し、Flash を使用して Web サイトを作成し、Java を使用して B/S を作成し、初期の ASP VBScript を使用して Web サイトを作成しました。その後、ゲーム分野で開発したC++とgolangに転向しました。
これまでの私の要約は次のとおりです: ある言語が特定の分野で他の言語より強いかどうかは、その言語を支える支援者、その言語自体の長所と短所、ドキュメントが詳細であるかどうかに依存し、遅かれ早かれ言語が生まれると、直接的な関係があります。いくつかの主流のものを比較してください。Java の背後には、Oracle が買収した Sun があります。Facebook は、もともと Google によって作成された PHP を人々に非難させません。内部の詳細な関係は自分で見つけることができます)が、現在では独自のシステムでもあります。先ほどの正比例の関係に従って、順番に座ります。最終的に言語に影響を与える主な要因は 2 つだけであることがわかりました。それは、言語自体の長所と短所、そして言語が誕生した時期です。それ以外はすべて統一レベルとして扱い、無視できます。
言語自体の長所と短所を例に挙げると、Web 開発言語の主流の 1 つとなり得る限り、それぞれの長所と短所があり、それがユーザーの偏りにつながります。本番環境の観点から見ると、それらはすべて適格です。これらは違いに関係なくすべて使用できます。 Web サイトを作成するには、golang または Java を使用できます。では、このとき、会社の雰囲気の観点から、より強力で先進的なものを選択するにはどうすればよいでしょうか?より素晴らしく先進的であることをどのように定義しますか?言語の違いにより、長所と短所が共存します。どちらがより素晴らしく、より高度であるかを誰が判断できるでしょうか。この二つは普通の人には考えられない問題だと思います。私は人間です。しかし、それでどうなるのでしょうか? (だから何ですか?) 会社は、そのような素晴らしい先進的なことについて、誰が知っているのでしょうか?誰も?理解できる人は少ないのではないでしょうか?これは必要ですか?不確かな。他に何も機能しませんか?他の人も大丈夫です。では、なぜこれを使うのでしょうか?だって、このxxxはとてもxxxxだから。 xxx 言語の xxx 機能も非常に xxxx ではありませんか?はい、xxx 言語の xxx 機能も非常に xxx です。では、なぜこれを使うのでしょうか? 。 。 。 。ほぼ無限ループ。
はい、最後の重要な要素は言語の古さです。いくつかの奇妙な状況(Apple のことなど)はさておき、消去法により、言語が早く誕生した、つまり言語システムが本番環境に適していることを意味します(選択肢はありません、ずっとそれを使用してください)、Evolveより包括的にリスクを軽減し、より多くのユーザー層を開拓し、自社システムの推進と開発を継続して好循環を形成し、より初期のインフラストラクチャプロジェクトの構築を容易にし、システム内のアプリケーションソリューションの蓄積を形成し、システムとのより深いつながりにより、放棄することが困難になり、同じ分野でのその後の言語開発の潜在的なスペースが容易に圧縮され、停滞が増大します。 。 。 。等たくさんのもの。ここまで言っておきたいのは、多くの企業がいくつかの主流の既製品を使用しており、採用する人材もいくつかの主流の製品を行き来しているということです。企業もさまざまなコストとプロジェクトを考慮する必要があります。リスク。生ではなく加熱調理したものを使いましょう。それで、今言っておきますが、たとえ golang が本当に素晴らしくて無敵の Web 開発ツールだったとしても、他の言語も非常に素晴らしく、非常に多くの言語があるため、主流の Web 開発テクノロジーにはならないでしょう。ハンドの数は言うまでもなく、1 つの拳で 4 つを倒すのは困難です。特別な点は、Go の利点がすべて Web にあるわけではないということです。 ! ! (詳しくは書きません。長くなってしまいます。)
答えた後、子供用の靴を見つけたら、指を伸ばして親指を立てて励ましてください。 Zhihu で質問に答える雰囲気を促進するために、私に質問します。(^_^)
モデルの選択にも同様のリスク/コスト評価プロセスがあります。これはテクノロジーですが、主にテクノロジーではなく、コストです。
- ライブラリは成熟していますか? PostgreSQL と Redis、およびいくつかのサードパーティ サービスと複数の支払いゲートウェイを使用しています。これらのライブラリは実際にテストされていますか?
- コミュニティは大きいですか?業界に実際のアプリケーションはありますか? また、一部の人々が支持し、声高に主張するだけでなく、実際に使用している人は多くないのではなく、その背後で継続的に貢献している多数の技術者がいますか? 。
- 情報は見つけやすいですか?たった 1 回の Google 検索で問題の 80% が解決できるでしょうか?
- 学ぶことに熱心ですか?ジュニアは比較的早くスキルを習得して制作を始めることができますか?入門からベスト プラクティスを理解する開発者になるまでに必要な時間は、他の Web 言語と同等ですか?
- 急速な開発に適していますか? Go 開発は要件の変化にどれくらい早く対応できますか?変更があるたびに新しいソリューションを調査する必要があるのでしょうか?
- 致命的なボトルネックはありますか?たとえば、既存のシステムのコア機能は、Go にはない、基盤となる LAMP または LNMP の実装に大きく依存しています。
- 重要な利点はありますか?私の REST API は PHP を使用し、Python には 200 台のサーバーが必要ですが、Go には 20 台のサーバーのみが必要です。
- 使用できる条件はありますか? Goの導入により既存システムを大幅に変更する必要はなく、予算と時間の範囲内で済みます。
私は Go を使用して 2 つの小さな Web プロジェクトを作成しました。Go は Web 開発に適しており、Go のパフォーマンスは一般的なプロジェクトではあまり意味がないので、言語設計においていくつかの利点があるのは素晴らしいことです。 WEB バックエンド開発には必須ではありません。また、PHP のような厳密に型指定された言語はありません。つまり、ほとんどの Web アプリケーションやデータにとって、強力な型指定は意味がありません。ビジネスロジックに必要なものは特に厄介です。
Web バックグラウンドのパフォーマンスは、単一プロセスの同時実装には依存せず、サービスの安定性を確保するという前提の下で、複数のプロセスのフロー バランスに依存します。パフォーマンスの問題は主にアーキテクチャによって解決されます。ある言語そのもの。
Go が Web 開発の分野で主流になることは
ありません 。
Go 言語で Web サイトを作成し、数か月間運営してきた者として。私の意見を言わせてください。
実際、Web サイトを構築する必要がある多くの人は、テクノロジーに少しの驚きを示した後、すぐにコストの問題に戻ります。
PHP には多くの問題があります。たとえベテランであっても、ほとんどの Web サイトが依然として PHP を使用しているのはなぜでしょうか。スタートアップ企業でない限り、企業が主言語を変更することはほとんどありません。彼らは元の言語に慣れすぎており、あまりにも多くのリソースを投資してきたため、リスクが不明な場合には魅力的なセールスポイントを理由に新しい言語に切り替えるインセンティブがありません。
Google が主要な Android 開発言語として Java を選んだ理由と同じです。言語の選択には環境問題も関係します。教育における才能の影響、市場の受け入れの影響、既存のソリューションの影響を受けます。 Google には非常に多くの優れた C/C++ 専門家がいますが、依然として Objective-C よりもパフォーマンス上の利点がない言語を選択しています。
Go 言語自体の話に戻りますが、Go 言語は Web サーバーとしては使用されません。広告や検索などの分散システムや、同時実行性の高いサーバーに重点を置いています。さらに、私は Node.js があまり好きではありませんが、Web サイト サーバーの作成にも Node.js を使用しました。サーバー コードをクライアントと共有することは単なる美しい夢ですが、Web サイト サーバーには Node.js の方が適していると認めざるを得ません。 、数千の既製モジュールを除き、Node.js でモジュールをロードし、他の Web サイトのコンテンツを取得し、カスタマー サービス側と同じように jQuery を使用して分析および処理します。さらに、現在の js 圧縮、scss、less、およびフロントエンド開発ワークフローでは、Node.js を取り除くことがますます困難になっています。
しかし、Go 言語は Web サイト開発において十分とは言えません。一般的に使用される機能モジュールが次々に登場していますが、蓄積する時間がなく、関連する豊富な情報がありません。学習、研究、デバッグには依然として同じ時間曲線が必要です。
既存の上司を倒す言語の場合、それが現実的に莫大な経済的利益を生み出すことができると各企業の CEO を納得させる必要があります。それ以外の場合、開発者には実際にはほとんど発言権がありません。
Webアプリケーション開発のピークを逃しているので、基本的には難しいです。 2000年頃に登場していればまだチャンスはあっただろう
Erlang はまだ話せていないのに、なぜ他の言語も参加するのでしょうか?
いいえ、必ずしもそうとは限りません、不可能ではありません
Zhen Xian
外国の出会い系サイトである Plenty of Fish は 2003 年に開発されました。当時は http://asp.net と SQL Server が使用されていました。 Google の月間広告収入は 50 万米ドル以上です。少し前まで、この Web サイトは 5 億米ドル以上で販売されていました。
好きな言語を使ってください。アイデアを急いで実行してください。
サービスの作成にどの言語を使用するかは実際には問題ではありません。重要なのは、利益を上げたいということです。