私はいつも何人かの人々(インドからの大多数)がターボCを使用しているのを見つけます。私はそのような古いコンパイラを使用する理由を見つけることができません...しかし私は彼らに現代のコンパイラを使用するように伝えようとするときにどのような理由を与えるべきかわかりません( gcc、msvc、...)。
7 に答える
TurboCはDOSのみの製品です。これは、64ビットバージョンのWindowsでは「ネイティブ」に実行されなくなり、XP互換性ペナルティボックス内で実行する必要があることを意味します。
Turbo Cを使用しない理由はたくさんありますが(古い、標準よりも古い、16ビットコードを生成するなど)、「Turbo CでXを実行するにはどうすればよいですか?」などの質問に答えることはできません。「GCCを使用するだけ」で。それは誰かが「1992年のトヨタでXをどうやってやるの?」と尋ねるようなものです。そしてあなたは「ただ新しい車を手に入れなさい」と言っています。
Turbo Cを使用している人は、それが要件であるために使用している可能性があります。それ以上のことを知らないためではありません。たぶん、それは彼らが提出する割り当てがそのコンパイラで機能しなければならないプログラミングクラスのためのものです。私がC++の課題を採点するとき、生徒がどのコンパイラを使用するかは問題ではありませんでしたが、生徒は私が使用しているコンパイラで正しくコンパイルして実行する必要がありました。
サポートと標準への準拠は、私にとって2つの大きな問題になると思います。
ボーランド/インプライズ/ボーランド/コードギア/エンバカデロ、または彼らが今日彼ら自身と呼んでいるものを見つけても幸運を祈ります。これらの製品が存在することを認めてもらうことができれば、さらに多くの称賛があります(ただし、ある時点で、BDNのボーランド博物館からそれらを入手しました)。
パフォーマンスは重要ですが、私が作成するアプリケーションの大部分は、ユーザーを待つ時間の90%を費やしています(ゲノムシーケンス、SETI分析、タンパク質フォールディングは行いません。市場はかなり小さいです)。
正直なところ、2つの無料製品(明らかにお金は問題ではない)のどちらかを選択できる場合は、常に最良のものを選択します(それは私にとってはGCCです)。
TurboCは16ビットのX86コードを生成します。Kiiindaは、16ビットx86プロセッサで開発しているときに便利です。
行ったことがある。それをしました。
変更の実用的な理由は次のとおりです。gccは開発中であり、バグ修正が行われています。最新のオペレーティングシステムと最新のチップにネイティブにデプロイされます。
これは私の最初のコンパイラ(4年前)でもありましたが、gccが最新の標準に準拠しておらず、非推奨または悪い習慣と見なされる機能に依存していることを知ったとき、すぐにgccに切り替えました。これらは私が切り替えをするのに十分な理由でした。
適切なCコンパイラを使用する必要がある最も重要な理由は、パフォーマンスです。GCCはコードを積極的に最適化するため、コンパイルされたプログラムのパフォーマンスは以前よりも数十パーセント高くなります。
Turbo Cは、構成と使用がはるかに簡単で、古いDOSマシンで実行されます。また、コンパクトなサイズです。それが理由だと思います。
ただし、最新のプロセッサの利点はほとんどありません。