「C言語」の版間の差分
imported>Fallout New Tokyo |
imported>Fallout New Tokyo |
||
1行目: | 1行目: | ||
− | '''C言語''' | + | '''C言語'''(読み:しーげんご、[[英語]]:[[C]])とは、汎用の[[プログラミング言語]]である。 |
== 概要 == | == 概要 == | ||
− | C言語は[[ベル研究所]]の[[デニス・リッチー]]によって、同社の[[アセンブラ]]で書かれており[[移植性]]クソ食らえな[[UNIX]]を、現実的な移植性に引き上げるために開発された[[プログラミング言語]] | + | C言語は[[ベル研究所]]の[[デニス・リッチー]]によって、同社の[[アセンブラ]]で書かれており[[移植性]]クソ食らえな[[UNIX]]を、現実的な移植性に引き上げるために開発された[[プログラミング言語]]である。現実派である。 |
− | |||
− | + | 英語圏では「[[C]]」1文字で呼ばれているが、何の話をしているのか一般人にはまったく伝わらないので日本では末尾に「言語」を付けることが多い。 | |
== 難易度 == | == 難易度 == | ||
54行目: | 53行目: | ||
== 派生言語 == | == 派生言語 == | ||
* [[C++]] | * [[C++]] | ||
− | * [[Objective-C]] | + | * [[Objective-C]] - C言語のメモリ安全性と[[Smalltalk]]の速度を併せ持った言語である。 |
* [[Java]] | * [[Java]] | ||
; 類似言語 | ; 類似言語 | ||
− | * [[C Sharp|C#]] | + | * [[C Sharp|C#]] - 構文の見た目がC言語に似ている。だが実は[[Turbo Pascal]]の派生言語である。 |
− | * [[JavaScript]] | + | * [[JavaScript]] - 構文の見た目がC言語に似ている。 |
== 関連項目 == | == 関連項目 == |
2014年3月3日 (月) 02:37時点における版
C言語(読み:しーげんご、英語:C)とは、汎用のプログラミング言語である。
目次
概要
C言語はベル研究所のデニス・リッチーによって、同社のアセンブラで書かれており移植性クソ食らえなUNIXを、現実的な移植性に引き上げるために開発されたプログラミング言語である。現実派である。
英語圏では「C」1文字で呼ばれているが、何の話をしているのか一般人にはまったく伝わらないので日本では末尾に「言語」を付けることが多い。
難易度
一般的にC言語は難しいと言われているが、わずか37個の予約語(C89の場合)を覚えるだけで簡単に習得できる夢のようなプログラミング言語である。 しかもそのうち実際に使われるのは20個程度である。 アセンブラのニーモニックを丸暗記するどころかアルファベットを覚えるより簡単である。
難しいと言われるゆえんはC言語が単純であるが故に、基本より先は様々なコンピューターやOSの低レベルな知識や、あらゆるアルゴリズムを熟知し、単純な物で複雑な物を作り上げなければならないという点によるものである。例えるならば、レゴブロックは基本的に幼児でも簡単に扱えるが、レゴブロックで複雑な構造物を作るとなるとアホみたいに難しいのと同一の問題である。
また、文字列処理に特化したPerlや、Webアプリに特化したPHPやのように、特定の目的に特化したプログラミング言語とは異なり、汎用性が高いがゆえに工数が増大するという点も難易度が高いと言われる原因であると思われる。レゴブロックでガンダムを再現するより、ガンプラでガンダムを再現する方が簡単(工数が少ない)なのは言うまでもない。
以上のことから導きだされる結論は「簡単」である。 反論は認める。
実行環境の構築
OS共通(インターネット接続が必要)
とりあえず実行したければ、Ideone.comやcodepadなど、オンラインでプログラムを実行できるサイトを使うのが簡単である。
Windows
WindowsではIDEであるDev-C++をインストールするのが簡単である。適切な種類をダウンロードすれば、もちろんコンパイラも付いてくる。
libpngなど、一般のライブラリをmakeしたい場合はMSYSも入れておくとよい。
Linux
多くのLinuxディストリビューションではインストール時に適切な設定をすれば、最初からgccが使えるはずである。gccが無い場合、tccコマンドやccコマンドを試してみよう。
gccまたはtccが使えることを確認したら、あとは自分の好きなテキストエディタを用意するだけである。
Mac
Android
コンパイラアプリもあることはあるが、有料のものが多い。 諦めてIdeone.comなどのオンラインコンパイラを使おう。
iOS
歴史
規格
おすすめ書籍
派生言語
- C++
- Objective-C - C言語のメモリ安全性とSmalltalkの速度を併せ持った言語である。
- Java
- 類似言語
- C# - 構文の見た目がC言語に似ている。だが実はTurbo Pascalの派生言語である。
- JavaScript - 構文の見た目がC言語に似ている。