ホームページ  >  記事  >  バックエンド開発  >  Go言語は低レベル言語ですか?

Go言語は低レベル言語ですか?

青灯夜游
青灯夜游オリジナル
2022-11-30 20:01:556670ブラウズ

Go 言語は低レベル言語ではありません。基盤となる言語は低水準言語とも呼ばれ、実装効率が低く、実行効率が高く、ハードウェアの制御性が強く、ターゲットコードが小さく、保守性が悪く、移植性が低い言語を指します。 Go 言語は高級プログラミング言語です。大規模システムの開発プロセスにおける実際的な問題を解決するように設計されており、同時実行性、統一された仕様、シンプルさ、優雅さ、強力なパフォーマンスをサポートしています。

Go言語は低レベル言語ですか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

一番下の言語は、低水準言語とも呼ばれ、実装効率が低く、実行効率が高く、ハードウェアの制御性が強く、ターゲットコードが小さく、保守性が悪く、移植性が低い言語を指します。

Go 言語は低レベル言語ではありません。 Go 言語は、2009 年に Google によってオープンソース化された 高水準プログラミング言語 です。大規模システムの開発プロセスにおける実際的な問題を解決するように設計されており、同時実行性と統一標準をサポートしています。シンプルでエレガント、強力なパフォーマンスを備えたこの言語は、多くの Go 言語伝道者から「クラウド コンピューティング時代の C 言語」と称賛されています。

Go 言語は C に似た高級言語であり、C ポインター プログラミングの敷居を下げますが、プログラミングの落とし穴もいくつか追加する可能性があり、Go 言語を使いこなすベテランでも誤って踏んでしまうことがあります。ピット。したがって注意が必要です。

Go言語の開発の歴史とGo言語の特徴についてお話します。

Go の名前

Go言語は低レベル言語ですか?##これは、2007 年 9 月にロブ・パイクによって書かれた手紙です。 11 月 25 日午後 3 時 12 分、プログラミング言語の議論についてロバート グリーズマーとケン トンプソンに電子メールが送信されました。電子メールの本文は次のとおりです:

家に帰る途中でインスピレーションを得ました: * これをあげてくださいこのプログラミング言語は「go」という名前で、短くて書きやすいです。 * ツール クラスには、goc、gol、goa という名前を付けることができます。 ※対話型デバッグツールに直接「go」という名前を付けることもできます。 ※言語ファイルの拡張子は.goなどとなります。

ガレージから生まれた多くの偉大な企業と同様、Go 言語の名前も自動車に関連しています。以上がGo言語の名前の由来です。個人的に「Go」という名前がとても気に入っていて、思いつきのようですが、とても緻密です。 Google の純血を継承しており、シンプルでエレガントな言語の特徴を体現しています。 Go でコルーチンを開くためのキーワードは go です。

Google エンジニアの 20% の時間

それ以来、Robert、Rob、Ken は 2009 年まで Google 内で研究開発を行ってきましたが、そのとき Go は正式にオープンソースとなりました。 Go プロジェクト チームは、言語が正式にオープンソースになった日である 2009 年 11 月 10 日を公式の誕生日とみなしています。ソース コードは当初

http://

Go 言語の 3 人の創設者

Go 言語の最も重要な 3 人の創設者がメールで言及されています:

Go言語は低レベル言語ですか?この 3 人の偉人について紹介しましょう:
  • ロブ・パイク: 彼はベル研究所の Unix 開発チームのメンバーで、Plan9 オペレーティング システムの開発の主要リーダーであり、Inferno オペレーティング システムの開発の主要リーダーでした。
  • ken tomption: チューリング賞受賞者、C 言語の前身である B 言語の作者、Unix の発明者の 1 人、オペレーティング システム Plan 9 の主な作者。 UTF-8 を共同開発しました。
  • ロバート: Google の V8 JavaScript エンジンと Chubby 用のコードを開発しました。

Go 言語の系譜

プログラミング言語の発展は種の進化と似ています。各プログラミング言語は、それ以前の言語の優れた点を活用し、それを革新して改善しています。以下の図は、Go が前任者から受け継いだ利点を示しており、Go はこれらの巨人の肩の上に立ち、クラウド時代においてますます重要な役割を果たしています。

Go言語は低レベル言語ですか?

Go 言語がその前任者から継承している機能:

  • #C 言語: Go 言語は、場合によっては「C 風の言語」または「21 世紀の C 言語」と呼ばれます。 Go は、同様の式構文、制御フロー構造、基本データ型、呼び出しパラメーター値の転送、ポインター、その他多くのアイデアを C 言語 から継承しています。また、C 言語が常に関心を寄せてきた コンパイル済みバージョンも継承しています。マシンコードの実行効率と既存のオペレーティング システムへのシームレスな適応
  • パスカル: しかし、Go 言語の家系図には他の祖先もいます。影響力のある分岐の 1 つは、Niklaus Wirth によって設計された Pascal 言語から来ています。その後、Modula-2 言語が パッケージ の概念にインスピレーションを与えました。その後、Oberon 言語はモジュール インターフェイス ファイルとモジュール実装ファイルの区別を放棄しました。第 2 世代の Oberon-2) 言語は、パッケージのインポートと宣言の構文、および Oberon 言語のオブジェクト指向機能によって提供されるメソッドの宣言構文に直接影響します。
  • CSP: Go 言語のもう 1 つの祖先であり、Go 言語の重要な機能をもたらします他の言語とは区別されます。これは、Tony Hoare によって出版されたあまり知られていない著作に触発されました。外の世界に知られている並行性研究に関する基本文献は、Communicating Sequential Process (CSP と略称) です。 CSP では、プログラムは状態を共有せずに並列実行される一連のプロセスであり、通信と制御の同期に パイプライン を使用します。ただし、Tony Hoare の CSP は、同時実行の基本概念を説明するために使用される記述言語にすぎず、実行可能プログラムを作成できる汎用プログラミング言語ではありません。 Go 言語はパイプを使用してコルーチンで通信します。

重いアプリケーション

Go 言語の重いアプリケーションのいくつかを次に示します:

Go言語は低レベル言語ですか?

Go の利点

プログラマーの声: 現実の世界で必要な場合は、数日で実稼働システムのプロトタイプを作成、テストし、プロトタイプを作成できます。 CPU とメモリのオーバーヘッドをほとんど抑えながら、オリジナルの 1 秒あたり 5 倍のリクエストを処理できます。それができるのはGo言語だけだと思います。
Go 言語には次の利点があります:

  • 個別のバイナリ リリース: Go プロジェクトのコンパイルにより、静的な実行可能ファイルが生成されます。このファイルは、他の依存関係なしで独立して実行できます。このアプローチは、クラウドネイティブのコンテナ環境に特に適しています。
  • クロスコンパイル: 他のプラットフォームで実行される任意のオペレーティング システムでバイナリをコンパイルします。たとえば、Mac システムでは、Linux および Windows で実行できるバイナリ ファイルをコンパイルできます。
  • ガベージ コレクション: Go 言語はガベージ コレクションをサポートしています。それに比べて、C や Rust などでは、開発者が自分自身を制御する必要があります。
  • 実行パフォーマンス: Go は非常に高速です。性能はCに近いです。 Java、Python、Node よりもはるかに高い。
  • 開発効率: Go 言語は、静的言語の実行パフォーマンスと動的言語の開発効率の両方を備えています。
  • シンプルさと効率性: Go 言語の設計哲学には、シンプルさと効率性が含まれます。典型的な反例は、複雑で肥大化した Java 言語です。
  • 同時実行: 言語レベルは同時実行をサポートし、コルーチンとチャネルを通じて同時開発を簡素化し、同時実行パフォーマンスを向上させます。
  • 豊富な標準ライブラリ: Go 標準ライブラリは、テキスト、IO、ネットワーク、暗号化、Web サービス、リモート RPC、テンプレート エンジン、その他の機能をカバーしています。
  • C 言語を呼び出すことができます: C 言語関数を呼び出して、パフォーマンスをさらに最適化し、C 言語の巨大なエコシステムを再利用できます。
  • コンパイル時間の短縮: Go は非常に速くコンパイルされます。 Hexo (Node によって開発) と Hugo (Go によって開発) という 2 つの静的ブログ生成システムを参照できます。
  • エンジニアリング タイプ: Go 言語設計の目的は、実際のエンジニアリングの問題を解決するためのエンジニアリング言語になることです。 Go 言語は開発仕様を定義し、豊富なツールを提供します。 Go 言語を使用すると、読みやすく理解しやすく、テスト、保守、拡張が簡単なプログラムを作成できます。

Go の欠点

  • 重量級のフレームワークが不足しています。 RubyのRails、PythonのDjango、JavaのSpringなど。
  • エラー処理: 例外システムはありません。 Go 関係者はこの問題を修正しています。
  • ソフトウェア パッケージ管理: 長い間、Go には正式にパッケージ管理システムがありませんでした。最近まで、Go バージョン 1.13 は公式の依存関係管理ツールとして Go Module を正式に導入していました。
  • は標準のオブジェクト指向プログラミング モデルではありません。これは Go 言語の革新でもあります。あなたがしっかりとした OOP 支持者であれば、少し不快に感じるかもしれません。

プログラミング関連の知識の詳細については、プログラミング ビデオ をご覧ください。 !

以上がGo言語は低レベル言語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。