人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C vs. C++

C または C++ で新規ソフトウェアを開発する場合、どちらの言語を選択しますか?
理由も合わせてお答えください。


●質問者: しおり
●カテゴリ:コンピュータ
✍キーワード:C++ ソフトウェア 言語
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● pahoo
●15ポイント

つくるソフトウェアの目的によりますね――。

Linuxでコマンドラインベースの簡単なツールを作るんだったら、クラスを用意せずに直接コーディングしていきたいのでCをチョイスします。

一方、Windowsアプリを作るんだったら、GUIのライブラリが充実しているC++(というよりVC++)をチョイスします。

◎質問者からの返答

クラスを用意せずに直接コーディングしていきたいのでC

むー … 理解し難い理由です。

C++ はクラスを作る必要はないし、ほとんど C と同じように書けると思いますが…。


2 ● haruo-31
●25ポイント

C++です。

プログラムの整合性を如何にコンパイラにチェックをさせるかと言う話になると思うので、

横着するならやはりC++でしょう。

完全にオブジェクト指向を踏襲する場合は下記みたいに書かないといけなかったり、

確かにそういう使い方をするとややこしいですね。

public class MainClass {
 public static void main(int argc, char** argv) {
 MainClass main_instance = new MainClass();

 :
◎質問者からの返答

完全にオブジェクト指向を踏襲する場合は下記みたいに書かないといけなかったり

public class MainClass {
...

(・_・)エッ......? 何語ですか?


3 ● POPO
●40ポイント

個人的に作る場合はC++。作ったデータ構造とロジックをマルチインスタンス化しやすいから。

仕事の場合は、状況によりますね。

大規模プロジェクトになれば、きちんとインターフェイスを定義して作れば、C++のほうが拡張性やメンテナンス性は高いとは思いますが、C++やオブジェクト指向をちゃんと理解して使いこなせる人間がどれだけ集められるか?という問題があります。

結果的にCにせざるを得ないという場合が多々。

日本のソフトの開発現場ってそーいうレベルのところ多く無いですか?

◎質問者からの返答

理解して使いこなせる人間がどれだけ集められるか?という問題

そうですね。仕事の場合はそういう問題がありますね。

結果的にCにせざるを得ないという場合が多々

私の周りでは、C++ どころか C すら読み書きできない人が圧倒的に多いですね( ̄○ ̄;)


4 ● yo-kun
●20ポイント

Cでしか実現できずC++では実現できない、そんな機能ありましたっけ?

組み込み系などの開発で対応コンパイラがCしかないとかそういう状況ならば仕方がないとは思いますが、

どちらも選択肢として可能であれば幅広い選択肢が検討できるC++だと思います。


少なくともCかC++かという選択肢であればどう考えてもC++しかないと思っているのですが。

チーム開発となると「C++がわからないメンバーがいるから」という後ろ向きな理由でCにもなり得るのですかね。

◎質問者からの返答

Cでしか実現できずC++では実現できない、そんな機能ありましたっけ?

無いと思います。標準化が遅れている機能はありますが。

無い(はずな)のになんで C を選択するの?っていうのが本質問のきっかけです。


# Ruby 開発者のまつもとさんは、オブジェクト指向言語でオブジェクト指向言語を実装するのは混乱するとか言ってたような気がします。


5 ● hakob
●5ポイント

C#です。.netなら開発環境やライブラリを使い回しができるし開発速度が速いので。

Windows上でウィンドウベースのアプリにしろ、コンソールベースにしろC++では実装速度が追いつきません。

と、これでは話になりませんが、文書処理(たとえば、シンプルなルールで住所リストを生成したり、ある特定の条件で大量のテキストデータから一部を抜き出したり程度)ならCのほうが楽かも。書かなくていいコードを書かなくて済みますし。?の人と同じですね。

それ以上、自分ひとりで開発&自分ひとりで使う、ということ以外ならC++のほうが圧倒的に利点は大きくなると思います。

(個人的にはC++は開発効率などの面で、組み込み系やドライバ系のようなメモリのシビアな監視が必要なところ以外は使う必要性がゼロだと思いますが。それ以上にメモリ関連のバグを造りこみやすいし)

あと、COBOLから来たエンジニアさんのC系列言語やJavaなんかの研修として、Cを選択するって言うのはありますね。

構文にまず慣れてもらって、そのあと・・・ということで研修をやっていた気がします。(COBOL汎用機→オープン系Webシステムへ転籍のひとですが)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ