C言語ってどんなプログラミング言語なの?
こういった悩みにお答えします.
本記事の信頼性
- リアルタイムシステムの研究歴12年.
- 東大教員の時に,英語でOS(Linuxカーネル)の授業.
- 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校(UNC)コンピュータサイエンス学部で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
- プログラミング歴15年以上,習得している言語: C/C++,Python,Solidity/Vyper,Java,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
- 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」をGitHubにオープンソースとして公開.
- 2020年1月~現在はアメリカのノースカロライナ州チャペルヒルにあるGuarantee Happiness LLCのCTOとしてECサイト開発やWeb/SNSマーケティングの業務.2022年6月~現在はアメリカのノースカロライナ州チャペルヒルにあるJapanese Tar Heel, Inc.のCEO兼CTO.
- 最近は自然言語処理AIとイーサリアムに関する有益な情報発信に従事.
- (AI全般を含む)自然言語処理AIの論文の日本語訳や,AIチャットボット(ChatGPT,Auto-GPT,Gemini(旧Bard)など)の記事を50本以上執筆.アメリカのサンフランシスコ(広義のシリコンバレー)の会社でプロンプトエンジニア・マネージャー・Quality Assurance(QA)の業務委託の経験あり.
- (スマートコントラクトのプログラミングを含む)イーサリアムや仮想通貨全般の記事を200本以上執筆.イギリスのロンドンの会社で仮想通貨の英語の記事を日本語に翻訳する業務委託の経験あり.
こういった私から学べます.
C言語を独学で習得することは難しいです.
私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.
私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!
独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!
目次
C言語とは
C言語とは,1972年にアメリカのAT&Tのベル研究所でデニス・リッチーにより開発されたプログラミング言語です.
もともとUNIXというワークステーション向けOSを実装するためにC言語は開発されました.
現在では,C言語はAndroidに搭載されているOS「Linux」に使われているプログラミング言語として知られています.
Linuxを学びたいあなたはこちらからどうぞ.
C言語の特徴は以下になります.
- 関数型の手続き型言語
- 構造化プログラミングに必要な制御構造(Python,Rubyはdo-while文がない)
- 分割コンパイルが可能(大規模な開発に対応可能)
- 豊富な演算子とデータ型(typedefで独自データ型を定義可能)
- ビット操作等の低レベルプログラミングが可能(OS開発に必須)
- 言語仕様がコンパクト(C++言語等と比較して言語仕様全体の理解が容易)
- 高い移植性(他のOSで動作させるコードが簡単,OS依存のコードが多いと大変)
- 高い後方互換性(規格が新しくなっても古いコードがほぼそのまま動作可能,一部例外あり)
- ハードウェア固有の命令を発行可能(アプリケーション系の言語(Python,Ruby,JavaScript等)では不可)
C言語ができること
C言語の最大の特徴は,とても自由度が高く,基本的には何でもできることです.
その反面,良くも悪くも様々な書き方ができてしまうため,C言語はプログラミング初心者には習得が難しい言語です.
多くの人はポインタで苦戦します.
なので,アプリケーション系の言語(Python,Ruby,JavaScript等)を少なくとも1つは習得した後に,C言語を学ぶことをおすすめします.
C言語の人気
C言語の人気は「【2020年】プログラミング言語ランキング!日本と世界で人気な言語を紹介!」によると以下になります.
- プログラミング言語ランキング(日本)
- 普段使用しているプログラミング言語ランキンング:1位
- 年収別ランキング:3位
- プログラミング言語ランキング(世界)
- Googleで最も検索されているプログラミング言語ランキング:6位
このように,日本でも世界でも使えるプログラミング言語を習得したい場合は,C言語を学びましょう.
Hello World
プログラミング言語を学ぶ時に「Hello World」と表示するサンプルプログラムを最初に見たことがありませんか?
実はC言語を開発したブライアン・カーニハンとデニス・リッチー(K&R)が起源と言われています.
C言語で書かれたHello Worldを表示するプログラムは以下になります.是非,実行してみて下さい!
1 2 3 4 5 6 |
#include <stdio.h> main( ) { printf("hello, world\n"); } |
実行結果は以下になります.「hello, world」と表示されました.
1 2 3 |
$ gcc hello_world.c $ a.out hello, world |
まとめ
OSを開発するためによく利用されるプログラミング言語「C言語」を紹介しました.
C言語がわかるとコンピュータの本質がわかり,他のプログラミング言語を学ぶことが簡単になりますので,是非習得しましょう!
C言語を開発したブライアン・カーニハンとデニス・リッチーが書いた「プログラミング言語C 第2版 ANSI規格準拠(通称K&R)」を読みたいあなたはこちらからどうぞ.
C言語を独学で習得することは難しいです.
私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.
私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!
独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!