メインメニューを開く

「C言語」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

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

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: