Go と Hello world 革命

Go言語

  • 2007 年、3 人の技術専門家が、インターネットとマルチコア時代の C 言語になることを目標とした新しい言語を設計したいと考えました。
  • 2008 年半ばに、言語の機能設計が完了し、コンパイラーとランタイムの実装作業が始まりました。
  • 2009 年に Go は徐々に安定し始め、同年 9 月に Go が正式にリリースされ、オープンソース化されました。

Goの遺伝子地図

433013337941345154image.png

  1. 同時実行機能

これは、1978 年にベル研究所のホア氏によって発表された CSP 理論から発展したものです。
CSP 同時実行モデルは、Squeak/Newsqueak や Alef などのプログラミング言語で徐々に改良され、実用化に向けて進んでいます。

Erlang は、CSP 理論のもう 1 つの実装です。

  1. オブジェクト指向、パッケージ、インターフェース

Niklaus Wirth によって設計された Pascal 言語、およびそこから派生した関連プログラミング言語。
パッケージの概念、パッケージのインポート、宣言構文などは主に Modula-2 プログラミング言語から来ており、
オブジェクト指向で提供されるメソッドの宣言構文は Oberon プログラミング言語から来ています。

GO は、アヒルのオブジェクト指向型やその他の多くの機能をサポートする独自の暗黙的インターフェイスを開発しました。

  1. 他の
  • iota は APL 言語から借用されたものです
  • Scheme 言語からの字句スコープ、入れ子関数
  1. 自分でデザインした
  • スライシング: 軽量の動的配列に効率的なランダム アクセスを提供します。
  • 延期する

こんにちは世界

B言語

Ken Thompson は若い頃、Unix システムの開発を支援するためにベル研究所で B 言語と呼ばれる一般的なプログラミング言語を設計しました。

//定义全局变量,设定要输出的内容
//每个变量的长度,必须对齐到4字节,和写汇编语言一样
a 'hell';
b 'o, w';
c 'orld';

//多次调用putchar函数输出字符
//!*n表示换行
main(){
   
    
    
    extrn a,b,c;
    putchar(a);putchar(b);putchar(c);
    putchar('!*n');
}

言語 B は単純で機能が限られており、柔軟なデータ型に欠けており、使いにくいです。

豊富な型を提供するために、Ken の同僚の Dennis Ritchie は B 言語に基づいて C 言語を開発し、UNIX を書き直しました。これまでのところ、C 言語は一般的に使用されるプログラミング言語の 1 つです。

C言語

初期

main(){
   
    
    
    printf("hello, world")
}

/*
说明
1. main函数没有明确的返回值类型,默认为int类型
2. printf函数默认不需要导入函数声明即可使用
3. main没有明确返回语句,但默认返回0
*/
  • 関数は戻り値を記述する必要がありません
  • 関数パラメータは無視できます
  • printf を使用する場合、ヘッダー ファイルをインクルードする必要はありません。

1978年、『Cプログラミング言語・第1版』

main(){
   
    
    
    printf("hello, world\n")
}

改行を追加し、より!*n簡潔にしました。

1988年、『Cプログラミング言語・第2版』

おすすめ

転載: blog.csdn.net/baidu_34418619/article/details/127811868