まぐまぐ!RECENTLYGo言語の動画講座が無事発売されました。Go言語のCGOは、C言語の資産を受け継...エスケープシーケンスのプログラミングの実...Udemyの初心者向けC言語リニューアル...Unixにリアルタイムキー処理をプログラ...Udemyの動画講座創りました。Go言語の動画講座が無事発売されました。同じことをC言語には言わないだろう。今なお、組み込みや、速度を必要とするシステム系の開発には必要とされているし、なにより、書店等のプログラミング書籍のコーナーに行けば、今なお現役であることが判る。書籍の取り揃えは、そのプログラミング言語の需要に比例しているから。それとGo言語となんの関係が?そうおもう若いエンジニアも多いかもしれない。Go言語を開発したのは、GoogleだからGoなのねと思っている人も多いかもしれないが、実は、Go言語の開発の要になっている人物で重要な人がもう一人いる。かれは、そうC言語の開発者の一人としてあまりにも有名だから、今のひとでも知っていると思う。それにアドバイザーにはリッチーも、名を連ねているから、Go言語は面白いことになってきた。このC言語の開発者たちがなぜGo言語にこれほど熱心なのかは、想像に優しい。長年のCの普及を目にしてきた彼らは、C言語の欠点を一から見直す新言語を作りたかったのだと思う。それがGoなのかもしれない。しれないというのは、直にそう聞いたわけではないので想像上の話の域をでないが、Go言語に隠された機能を知ればそう思わざるをえない。Go言語の文法仕様などは、C言語に比べるとかなり厳しく、そのかわりシンプル化されている。Goに至るまでのオブジェクト指向の欠点や利点も取り込んでいる。(※1)Go言語にはオブジェクト指向化よりも、高速性と、GNUーCであまり注目されなかった並列処理が盛り込まれている。これは強力かもしれないが、それだけではなく、GNUの特徴である、マルチプラットフォームで同じ仕様、またCPUの違いを乗り越える、クロスコンパイルも可能になっている。このクロスコンパイルの利点は、今後Googkeがアンドロイドなどの開発で、Go言語を中心に据え置く可能性もあるのではないかと想像させる。本当に凄いのはそれだけじゃない。素晴らしいのは、C言語の資産をそのまま利用できる可能性にある。これはCGOという隠し?機能だ。Cのソースも、Cのライブラリも、コンパイルして利用できる。Go言語は、生まれたてにして、膨大なC言語のアルゴリズム資産を利用できるようにすでになっている。オブジェクト指向言語の、ライブラリや、フレームワークのようなメンテナンス性の薄いものではなくソースや、アルゴリズムをそのままGO言語の中に取り込むことが可能になっている。これは実体験するのが一番速い。以下にテストソースを示す。