「C言語」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | '''C言語''' | + | '''C言語'''(読み:しーげんご、英語:C)とは、汎用の[[プログラミング言語]]である。 |
== 概要 == | == 概要 == | ||
− | C言語は[[ベル研究所]]の[[デニス・リッチー]]によって、同社の[[アセンブラ]]で書かれており[[移植性]]クソ食らえな[[UNIX]]を、現実的な移植性に引き上げるために開発された[[プログラミング言語]] | + | C言語は[[ベル研究所]]の[[デニス・リッチー]]によって、同社の[[アセンブラ]]で書かれており[[移植性]]クソ食らえな[[UNIX]]を、現実的な移植性に引き上げるために開発された[[プログラミング言語]]である。 |
+ | 現実派である。 | ||
− | + | 英語圏では「C」1文字で呼ばれているが、何の話をしているのか一般人にはまったく伝わらないので日本では末尾に「言語」を付けることが多い。 | |
== 難易度 == | == 難易度 == | ||
11行目: | 12行目: | ||
[[アセンブラ]]の[[ニーモニック]]を丸暗記するどころか[[アルファベット]]を覚えるより簡単である。 | [[アセンブラ]]の[[ニーモニック]]を丸暗記するどころか[[アルファベット]]を覚えるより簡単である。 | ||
− | 難しいと言われるゆえんはC言語が単純であるが故に、基本より先は様々な[[コンピューター]]や[[OS]]の[[低レベル]]な知識や、あらゆる[[アルゴリズム]] | + | 難しいと言われるゆえんはC言語が単純であるが故に、基本より先は様々な[[コンピューター]]や[[OS]]の[[低レベル]]な知識や、あらゆる[[アルゴリズム]]を熟知し、単純な物で複雑な物を作り上げなければならないという点によるものである。 |
+ | 例えるならば、レゴブロックは基本的に幼児でも簡単に扱えるが、レゴブロックで複雑な構造物を作るとなるとアホみたいに難しいのと同一の問題である。 | ||
− | また、文字列処理に特化した[[Perl]]や、[[Webアプリ]]に特化した[[PHP]] | + | また、文字列処理に特化した[[Perl]]や、[[Webアプリ]]に特化した[[PHP]]やのように、特的の目的に特化した[[プログラミング言語]]とは異なり、[[汎用性]]が高いがゆえに[[工数]]が増大するという点も難易度が高いと言われる原因であると思われる。 |
+ | レゴブロックでガンダムを再現するより、ガンプラでガンダムを再現する方が簡単(工数が少ない)なのは言うまでもない。 | ||
以上のことから導きだされる結論は「簡単」である。 | 以上のことから導きだされる結論は「簡単」である。 | ||
23行目: | 26行目: | ||
=== Windows === | === Windows === | ||
− | + | [[IDE]]である[[Dev-C++]]を[[インストール]]するのが簡単である。 | |
+ | 適切な種類を[[ダウンロード]]すれば、もちろん[[コンパイラ]]も付いてくる。 | ||
− | + | libpngなど、一般の[[ライブラリ]]を[[make]]したい場合、[[MSYS]]も入れておくとよい。 | |
=== Linux === | === Linux === | ||
− | + | [[インストール]]時に適切な設定をすれば、最初から[[gcc]]が使えるはずである。 | |
+ | gccが無い場合、[[tcc]]コマンドを試してみよう。 | ||
gccまたはtccが使えることを確認したら、あとは自分の好きな[[テキストエディタ]]を用意するだけである。 | gccまたはtccが使えることを確認したら、あとは自分の好きな[[テキストエディタ]]を用意するだけである。 | ||
=== Mac === | === Mac === | ||
− | + | {{stub}} | |
=== Android === | === Android === | ||
53行目: | 58行目: | ||
== 派生言語 == | == 派生言語 == | ||
* [[C++]] | * [[C++]] | ||
− | * [[Objective-C]] | + | * [[Objective-C]] |
* [[Java]] | * [[Java]] | ||
; 類似言語 | ; 類似言語 | ||
− | * [[C Sharp|C#]] | + | * [[C Sharp|C#]] |
− | * [[JavaScript]] | + | * [[JavaScript]] |
== 関連項目 == | == 関連項目 == | ||
66行目: | 71行目: | ||
{{reflist}} | {{reflist}} | ||
− | + | {{stub}} |