C
https://gyazo.com/e23c40c681c19f956c60ca014f39f912
良く言えば古風、悪く言えば古臭い
性格に難あり。うっかりナイーブな部分を触るとすぐ怒ったり泣いたりする
でも丁寧に話を聞いて一つ一つ手取り足取り教えてあげると見える世界が光の速さと近くなるほど変わる
真面目な解説
1972 年に AT&Tベル研究所で生まれたプログラミング言語
高水準言語ながら低レイヤーな記述も可能
メモリをポインタ経由でプログラムから触ることができる
故にメモリ管理の手間が発生し、複雑なプログラムをこれで書くのはなかなか大変
メモリ関係のバグは発見が容易でなかったりするのでつらい
ポインタは初心者の鬼門とも呼ばれる
コンピュータへの理解を深めるには現状避けては通れないプログラミング言語
コンピュータ界のラテン語
高水準言語の中では最速といわれるとかないとか
これより速い物書きたかったらアセンブリいじるしかない
これらの特徴により組み込みや OS など広い分野で使われてきた
結構やっつけで作られた言語なので文法がわかりにくかったりする
特にポインタの型は読みにくい
またコンパイラ未定義の動作があったりしてコンパイラによって動作が変わる罠がある
FAQ
Cで書かれてるプロジェクトのコードリーディングしたいときはどうやって進めるのがいいの?miminashi.icon
地道にエントリポイントから読み進める
ライブラリの場合は使う関数の名前わかってるのでソースコードを全文検索
ヘッダファイルに注目する
include されているヘッダファイルがなにか把握しておく
ヘッダファイルの中を把握しておく
他のソースで使われている関数やグローバル変数に当たりをつけるため
#programming_language