Goが必要なのはなぜですか?

画像

ズダロバ! 要するに、最近Goの周りには多くの詐欺がありました:良い悪い、必要な、不要な、Pythonに比べて、 rastに比べて、 divan0はGo vs Haskell vyserをそのように翻訳することさえ考えました。 Ivan Danilyukによる言語の誇大広告と積極的なマーケティングのおかげで、 Goを誰が、なぜ使うべきなのか、なぜそれを作るのか、なぜそれを教える価値があるのか​​を理解している人はほとんどいませんでした。 また、私はこれらの戦略に長い間参加し、言語の「ファン」の側と反対側の側を順番に取ったが、最終的に私はトリックが何であるかを得た。 今日、私はポストでソファを少しすすり、この小さなメモを書くことにしました。



投稿を見ていきましょう、男の子たち。



誰がGoを必要としますか?



私は今日、Goがなぜ必要なのかを理解している人はほとんどいないことに気付きました。 つまり、堅牢なソフトウェアを設計するにはGoが必要です。 この単語を正しくロシア語に翻訳する方法はわかりませんが、おそらく「信頼できる」ようなものです。 信頼できるコードを作成するためのツールがGoogleに必要だったため、Goはそれを実現しました。 実際、過去20年間、最低限のように、チャンネルとグリーンストリームでチャンネルを作るという考えに夢中になっているRob PikeほどGoogleではありません。 ロブ・パイクは、ベル・ラボ、最もクールなラス・コックス、フィッツパトリックなどから他のタッチで通常の会社に入ったことがたまたま起こりました。 これらの人々がGoogleに新しい言語が必要であると納得させることは難しくありませんでした。一般に、彼らはその言語でバボシキをノックアウトしました。



それで、それはわずかな余談でした。トピックに戻りましょう。 はい、なぜGoogleはまだ新しい言語を必要としたのですか? さて、ここではすべてが明確です。ロブパイク自身の言葉を聞いてみましょう。

秘Theは、プログラマーは科学者ではなくグーグルです。 これらは通常、若い、リリースされたばかりの少年であり、Java、おそらくC / C ++やPythonを学んだかもしれません。 彼らはプローブの言語を理解することはできませんが、それでも良いソフトウェアを作ってほしいと思っています。 したがって、私たちは彼らにすぐに慣れる簡単に理解できる言語を提供します。


それでは、彼の意味を理解してみましょう。 率直に言って、彼はGoogleで働いている優秀な人(「クールな言語を理解できない」)ではないため、理解できないことはまったく不可能な言語を思いついたと言いました。 これは実際には管理にとって非常にクールです。 裁判官:100人の平凡なプログラマーを雇って、Goを手に入れることができます。このサルの軍隊は、多くの「良い」非常にサポートされたコードを生成します。 Goは素晴らしい管理ツールです。考えない方がいいでしょう。すべてのプログラマを即座にgo-fmtフレームワークに追い込み(誰も独自のフォーマットスタイルをプッシュできません)、インターフェイスよりも複雑な抽象化を取り除き、開発者が単なる別のブリックであるようなコードのパイプラインを取得します壁に。 私の意見では、非常にクールです! まあ、プログラマはこのレイアウトをあまり好きではないでしょう-システムの歯車になりたい人はほとんどいません。



そのため、 企業にはGoが必要です。 あなたの会社で働いている人が多く、大きなプロジェクトなどがあれば、Goは完璧な選択肢です! ただし、Goが本当に必要かどうかを理解するには、なぜGoを使用する価値があるのか​​を理解する必要があります。 調べてみましょう。



なぜ行くの?



技術的な観点から見ると、Goのニッチはかなり控えめです。ネットワーク、ユーティリティ、バックエンドです。 複雑なネットワークや、何らかの方法で巧妙に調整する必要がある多くのノードがある場合、Goが適切な選択です(CloudFlareの経験から判断して)。 dockerやconsulなどのクールなコンソールユーティリティを作成する場合、Goも通常どおり動作します(これらの経験から判断すると)。 今では、興味深いユーティリティを作成し、Goで作成しています。 さて、最後に。 高速で、原則として、効果的なバックエンドが必要な場合は、Goも選択できます。 人々がGoでビジネスロジックをどのように書くか想像できませんが、どういうわけか彼らはそれを書きます! つまり、ここではすべてが非常に複雑です。 一方で、GoでCRUDを実行するのは非常に苦痛です;一方で、仕事をすばらしいものにする350の異なるルーターとフレームワークがあります。



他のニッチに関しては、自信を持ってあなたを保証できます:完全な冒fanです。 Goがどこかで真剣に使用されている場合、コンソールユーティリティ、ネットワーク、およびバックエンドで使用されます。 ジャスキーはもうありません。 そして、それらを発明しません。 GoはもともとGoogleで作成された言語であったため、学生はGoogleの洗練されたネットワークインフラストラクチャ用のコードを作成できます。 ここで、一種の経験則を形成できます。「 ネットワーク用のソフトウェア、コンソールユーティリティ、または高負荷バックエンドを作成しない場合、おそらくGoは必要ありません 。」 それでも、実際にGo自体のためにGoでソフトウェアを書いている人でいっぱいです。



学習に行くべきですか?



これは、簡潔かつ明確に答えられる質問です。 とにかくGoは学ぶ価値があります 。 まず、2本の指が放尿するようなものであるため、言語を考え出すのが簡単です。 Goには文法と抽象化がほとんどないので、週末にかけて最初のレベルで習得できます。 もちろん、この言語には多くの穴と「パッチの落とし穴」があり、これについては前回の記事で書いたが、すぐに解決される。



第二に、Goはどういうわけか私たちの生活に深く浸透しているからです。 過去1年間、多くのGoプロジェクトがgithubで作成され、ますます多くの企業がgithubに座っています。 このような人気のあるツールをクールではないとしても、在庫があることは常に良いことです。 突然あなたは仕事から追い出され、偶然にGoプログラマーの地位に対するクールなオファーが落ちるでしょう。 そして、ここであなたはイチジクに行きます、なぜなら彼は一年前に週末をオナニーしたからです。



直接自分自身を抑制できず、すでにward病者を救済している人のために、私はすぐに資料へのいくつかのリンクを投げます:





さあ、Goは絶対にあなたを傷つけません。 まあ、gofmtを見逃すかもしれませんが、それは本当に怖くないです。



おわりに



とにかくGoはすでにここにあります;それはすでに離陸しています。 既に使用されており、引用されており、すでに必要です。 あなたは非常に長い間お尻を回し、ジェネリック医薬品の欠如を誓うことができますが、その時間はすでに到着しています。 ただし、誰がGoを食べるべきか、なぜその理由を理解することが重要です。 あなたが企業でも、スマートネットワークメタカラディグpetaclustersを開発している新興企業でもない場合は、Go、特にあなたはおそらく必要ありません。 Noooo、これらのオフィスの1つにいれば、Goは間違いなく便利です。 囲boy少年たちに教え、それは価値がある。



ご清聴ありがとうございました

イリヤ。



All Articles