dポイントプレゼントキャンペーン実施中!

どなたか、現在最もポピュラーなC言語はなにか、教えていただけませんか.

しばらくプログラミングから離れていましたが、このごろまた復帰しました.
昔のC言語で書いたソースを近代化するつもりで、C#に取り組みました.

ところが、これでよかったのかどうか疑問になってきました.
C#よりも、C++にすべきではなかったのでしょうか.
あるいは、なにもC++とか、C#にしなくても、昔のC言語でもWindows上で働くようにできないかと言う疑問です.

そこで、伺います. 
現在、プロの世界で実際に実用されているC言語はいったいどれでしょうか?
ボーランドも含めて、教えてください.

よろしくお願いします.

A 回答 (11件中1~10件)

C言語はあくまで「C言語」であって、「C++」や「C#」、「C++/CLI」等は全て別の言語です。


最もポピュラーな「C言語」はあくまでISO/IEC9899:1990でしょう。
# 現行の最新規格はISO/IEC9899:1999ですが対応コンパイラは少ないです。
# C++なら「ISO/IEC 14882:2003」
# C#なら「ISO/IEC 23270:2003」
# C++/CLIなら「ECMA-372」

そして、Windows上でC言語の開発は可能です。
というかWin32API自体がもともとC互換のインターフェイスです。

現実的にはC言語で全部書くのはつらいことなどもあり、
製品アプリならC++、簡単な業務アプリなら旧来のVBなどの方が多いと思いますが、
Webアプリを中心にC#が増えてきたり等、いろいろな言語が、
時に組み合わせて使われていると思います。

コンパイラの話をされているなら、C/C++/C#にしろ、Windows用はMicrosoft社製の天下です。
    • good
    • 0
この回答へのお礼

MrBanさん
どうも早速のご教示、有難うございました.

私の質問の書き方が舌足らずの点もあったようです.
1.私の邪推かもしれませんが、なぜかC#は影が薄いような気がしないでもありません.
例えば、このサイトの項目にも、C++はあっても、C#はありません.
新聞の求人欄を見ても、C, VB, C++の担当者は求められていても、C#は求められていません.
そこで、プロのベテランの方たちは、どれに比重をかけていらっしゃるだろうかを知りたいと言うのが質問の趣旨でした.

2.Windows(XP or Vista)上で動くC言語コンパイラは入手可能でしょうか?

再度、お手数をかけて恐縮ですが、よろしくお願いします.

お礼日時:2007/05/07 16:18

>なぜかC#は影が薄い


MS限定だから。ひいてはwindows限定だから。
マルチプラットフォーム環境(主にweb)が浸透しつつあるこのご時世に環境強依存開発言語。

>Windows(XP or Vista)上で動くC言語コンパイラ
http://www.google.co.jp/search?q=windows%20c%E3% …
    • good
    • 0
この回答へのお礼

有難うございました.
お蔭様で、C#が伸びない理由がわかりました.

ただ、.NETが世に出てきたころ、「OSの種類に関わらず動作可能なプラットフォーム」とよく聞きました.
ただのプロパガンダに過ぎなかったのですね. それとも、このC#を企画、設計した人たちの、実現できなかった夢に過ぎなかったかもしれませんね.

重ねて、お礼を申し上げます.

お礼日時:2007/05/08 11:49

> プロのベテランの方たちは、どれに比重をかけていらっしゃるだろうか



ほんまもんのプログラマならどれであろうが
処理系とマニュアルさえあれば
もののひと月もあればそこそこ使えるようになるだろから
将来どっちに転んでも怖くはないんじゃないかしら。

# それがプロってもんでしょ。
    • good
    • 0
この回答へのお礼

恐れ入りました. たった一ヶ月で慣熟できるとは、さすが、プロの面目が躍如と言うところです.
たった一つのテーマを解決するのに、数年もかっかったようなボンクラ頭の持ち主としては、「敬服」の一語あるのみです.
ちなみに、そのテーマとは、電子工学の回路網の解析でした.

ただ、私の意図したところは、それを理解できるか否かではなく、現在において、もっともポピュラーな言語はどれかということでした.

お礼日時:2007/05/08 11:57

>プロの世界で実際に実用されているC言語


プロといっても色々あると思いますが
Windowsやコンソール(PS等)のゲームに関してはC/C++です。
理由は開発環境としてC/C++以外に現実的な選択肢がないからです。
(私自身ゲームメーカーの人間なのでそれ以外はわかりません。)

コンパイラとしてはC++ですが
CかC++かはスタイルの問題です。
ちなみにコンソールの場合はいまだにCが使われているところが多いです。
他にも有名なライブラリ、例えばzlibやlibpngもCですね。

>2.Windows(XP or Vista)上で動くC言語コンパイラは入手可能でしょうか?
無料のものならVisual C++ 2005 Express Editionがあります。
http://www.microsoft.com/japan/msdn/vstudio

>ボーランドも含めて、教えてください.
私の知る限りWindowsのゲームでVisualC++以外を使う事はありません。
(最新のDirectXを使う上でVisualC++の親和性が高い為)
あとゲーム開発では統合環境として「コードウォーリアー」が有名です。
http://www.metrowerks.com
    • good
    • 0
この回答へのお礼

sha-girlさん
ご親切なご教示、お礼を申し上げます.

お蔭様で、ゲーム・メーキングに関しては、CかC++が主力であり、C#は使われていないことがわかりました.

本当に有難うございました.

お礼日時:2007/05/08 12:04

C#の言語仕様自体は、ISO/IEC標準に一応なったのですけどね…。


現実的にはMSの.NET上以外では動かない現状があるので…>C#

とはいえ、.NET用言語としてMSが力を入れてるのはC#だと思うので、
MSと心中する前提なら悪くないのかも。

積極的に覚えたいかどうかは別にして、JavaとかC++とか知ってるプロなら
C#使うのはさして難しくないと思うので、構えることもないというか。
(個人的には、言語としては嫌いではないがMS依存なので「使えない」)

現行の主要なC++コンパイラは、大抵C言語のコンパイラとしても動きますよ。
# C専用でC++未対応なら知ってますが、逆にC未対応のC++専用コンパイラってあるのだろうか。
    • good
    • 0
この回答へのお礼

ご説明、よくわかりました. お礼を申しあげます.

ご説明のうちで、
>現行の主要なC++コンパイラは、大抵C言語のコンパイラとしても動きますよ。

無知をさらけ出して恥ずかしいのですが、C++コンパイラが旧C言語のコンパイラとしても動くことを全く知りませんでした.

旧C言語時代に作りためたソースを、10年の空白を経て、もう一度生き返らせたいというのが私の願いでした. そこで、C++を飛び越して、C#のコンパイラを手に入れました.

C++コンパイラで、従来のソースを読んでくれることを知っていたら、こんな無駄な手間は要りませんでした. 早速、C++のコンパイラを入手します.
  
重ねて、お礼を申し上げます.

お礼日時:2007/05/08 12:19

一応 C# には mono ってプロジェクトがあるんだけど... どのくらい使えるんだろ?

    • good
    • 0
この回答へのお礼

有難うございました. 勉強してみます.

お礼日時:2007/05/08 13:05

GUI以外はそれなりに動くらしいですが…>mono


とはいえ、仕事じゃまだまだ怖くて使えない。
    • good
    • 0
この回答へのお礼

Mr.Banさん
重ねてのご教示、深くお礼を申し上げます.
有難うございました.

お礼日時:2007/05/08 13:08

参考までに、GNU Cコンパイラというのもあります。


Windows上でとのことですのでCygwinかMinGWをインストールすると利用できます。
GUIライブラリになりますがGTK1.x系はCでオブジェクト指向な感じになってます(この点はある意味近代化。)。GTKのプログラムソースはかなり参考になると思います。

参考URL:http://gcc.gnu.org/
    • good
    • 0
この回答へのお礼

有難うございました. さっそく GNU Compiler Collectionを参照してみました.
こんなサイトがあるとは、全く知りませんでした. 皆さんのお蔭様で、いろんなことがわかってきました. 感激です.

お礼日時:2007/05/08 13:18

C++の設計者自身が「C言語との互換性」を非常に重視しているので、


言語仕様としてもC言語との親和性が高く、コンパイラもC/C++コンパチブルなものが主流です。
# 設定ファイルやコンパイルオプション、拡張子(.c/.cpp)等で指定

また、新しい言語の派生が以前の言語を即駆逐するわけでもないので、
C言語も低レイヤの開発ではまだ現役だったりすることもあります。
とはいえ、Windowsに限定すれば、CよりはC++の方が多くなってると思いますが、
既に完成しているならばC言語のままでも十分に使えるはずです。
# 但し、ANSI/ISO/IEC系のCであることは必要。K&R時代のものは、
# 標準Cから外れていることもあるのでこの部分はコンパイラによっては修正が必要です。

そして、もしもC言語のソースを移植するならC++の方が格段に楽です。
きれいにIS準拠で書かれたCソースの大半はC++でも通ります。C#ではこうは行きません。

また、ほぼ全てのCの用途をC++で直接代用することは可能ですが(CでできることはC++でもできる)、
C#では必ずしも可能とは限りません(C#固有の利点と欠点がCとは違うので)

C#は、名前にCを含むもののどちらかというとCよりはJava等の仲間というか。
MS⇔Sunの裁判でMSがJavaから手を引いた後に出してきたのが.NET、
ひいてはC#なので、「MS色全開のJava」といった方が近い気がします。
    • good
    • 0
この回答へのお礼

MrBanさん

今度もご親切な説明を頂いて、有難うございました.

お蔭様で、なにも知らなかった私にも、C++から、C#の本質とか、その出現の経緯などがようやくわかってきました. 

ずっと昔のことですが、PDP-7のB言語から PDP-11のC言語へ発展したころは、私もまだ現役でしたので、折に触れてその間の消息なども聞くことが出来ました. しかし、「サンデー毎日」の現在では、今度いろいろ教えていただくまでは本当になにも知りませんでした. 心から、皆さんにお礼を言いたい気持ちです.

ところで、C#と言うのは、「MS色全開のJAVA」と言うご説明は、言い当てて妙と存じます. 全く同感です.

明日から、雑用でしばらく手がはずせません. そんなわけで、とりあえずお礼を申し上げておきます.



お礼日時:2007/05/09 20:22

既に回答が出ているように、CとC#は全く別物です。

確かに名前に「C」が含まれますが、それをいうなら「C」obolもbasi「C」も「C」を含みます。それぞれがCとどの程度類似しているかは、名前の類似性にほぼ比例します。

冗談はさておき、最もポピュラーなCコンパイラということであれば、おそらくGCCだと思います。(C++ではなく)Cがよく使われる分野として、組み込み分野とか数値計算分野などがありますが、大多数の分野にわたって使われるのがGCCです。ただし、GCCでもターゲットが異なれば別物と見なすのであれば、これといって有力なものは思い当たりません。
    • good
    • 0
この回答へのお礼

jactaさん

ご教示、有難うございました. この世界について何もわかっていない人間が、一番手近なコンパイラに手を出して、これでいいのか、悪いのかと、迷っていたと言うのが実情でした.

皆さんのおかげで、どうやら進む道が見えてきました.
深くお礼を申し上げます.

お礼日時:2007/05/09 19:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!