• ベストアンサー

今、開発言語をどれにしようか、迷っています。

マシンはデュアルコアのAthlon64 4800+は 決定しているのですが開発言語をどれにしようか、迷っています。 Windows: ASM, C, VB, Delphi, C++Builder, VC++, Java, VB2005, VC2005, C# ... Linux:GCCが良いよでしたら、Linuxにするかもしれません。 計算とグラフ表示が主な処理で、なかなかアルゴリズムが難しく、開発途中で試行錯誤しますので、開発のし易さも選ぶポイントです。 以下の優先順位です。 1番目:実行速度の早いもの(最適化など) 2番目:Profile機能がある(サードパーティでもよい) 3番目:ソースの記述量が少ない。(簡単) 4番目:書籍や情報が多い 5番目:汎用性が高い(今後のメンテナンスも考えて) 1番目の実行速度にこだわるのは、VB6でプログラムを書いて実行させたところ、昔BCCで書いていたプログラムより遅かったので驚愕しました。 簡単なのはよいのですが、速度が遅いのとプロファイル機能が手に入れなかったので、VisualBasicは断念しようと思います。 仕事とは直接関係ないのですが、今後の参考にしたいので、皆さまのご意見をお聞かせください。

質問者が選んだベストアンサー

  • ベストアンサー
  • amru05
  • ベストアンサー率63% (33/52)
回答No.2

 No1回答者と大体同じ意見です。 プロファイル機能はVC++/VS2003/VS2005には有りますので最適化するには便利です(C++Builder/Delphiには見当らないようです)。  3番目:ソースの記述量が少ない。(簡単)の解決方法としてスクリプト言語のruby/pytonをフロントエンドで使用して、C/C++で作成したライブラリをリンクして使用する方法も有るでしょう。グラフ表示はデータファイルを作成してプロットプログラムを使用するなど。。  性能を出すのは、プログラムの作り方とコンパイラー性能なので、PGIコンパイラーなどの製品も検討する必要が有るかも知れません。 http://www.softek.co.jp/SPG/Pgi/TIPS/polyhedron.html http://www.softek.co.jp/SPG/Pgi/TIPS/athlon64x2.html (PS) インテルCPUならば、以下の製品が使えますので高速化が図れますが。。。残念。  インテルコンパイラ  インテルVTuneパフォーマンス・アナライザー  パフォーマンス・ライブラリ

参考URL:
http://www.intel.com/cd/software/products/ijkk/jpn/compilers/index.htm

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

実行速度を最優先するのであれば、C/C++かFortranしか選択肢がないと思います。アセンブラは、コーディング技術が十分高くないと、かえって遅くなる可能性があります。 実際には、表示関係など、特に速度が要求されない部分はVisualBasicやC#などで書いておいて、計算部分だけC/C++で作るのがよいかもしれません。 グラフ表示もパフォーマンスが要求されるのであれば、すべてC/C++で記述した方がよいでしょう。 ちなみに、C++/CLIだとそんなに実行速度が期待できませんので、必ずネイティブコードを生成させるようにしてください。

関連するQ&A

  • 言語の実行スピードで早い順に並べてみたら

    VisualStudio2005とVisualStudio6を持っていますが、同じアルゴリズムで書かれたプログラムで実行速度が速い順を知りたいのですが 私の主観ですが(抜けているものがありましたら追加してください。) 以下のような予想になります。 VC2005++ VC6++ Delphi BCC C# VC.NET 2005 VB.NET 2005 Visual J++ VisualBasic6 皆さんの意見が知りたいです。(Lispやその他の言語もご存知な場合もよろしく。) また、アセンブラ(マシン語)の埋め込みができる言語も知りたいです。昔、下のような記述ができた言語があったような記憶がありますが 今でもどの開発ツール(ボーランド社など他のメーカーも含めて)で可能なのでしょうか? asm{ mov ax, 4000h; int 0x21; }

  • 各言語の特徴

    いろんな言語の特徴が知りたいです。 C:処理速度がはやい VB:開発効率がいい VC++:ネットワークに強い JAVA:ネットワークに強い? Delphi: COBOL: 他たくさん知りたいですσ(^^) 教えてください、お願いします(^^)

  • DelphiとVBの開発コスト

    あるシステム開発をベンダ-に出したところ VBでの提案があったのを蹴って、Delphiでの 開発を行うように現在交渉中です。  ベンダ-がDelphiでの開発はコストがかかる と難色を示してますが、果たして本当のところ そうなのでしょうか?  コンパイル、デバック作業にコストが大と 言われてますが、逆にVBでありがちなプログラム 実行後の結果をみて構文の誤りの発見されるとい うのが、少ないと思うのですが・・ OS環境の影響を受けず、インタプリタよりはるかに 実行速度が速いDelphiで行うのがベストのシステム なのですが(広く配布するプログラムでクライアン トの環境を把握出来ない)  **(実はこのベンダ-VBでの開発経験は 豊富ですが、Delphiでの開発はないらしいです。)  

  • デスクトップアプリケーション作成時の開発言語について

    PC上で動作するデスクトッププログラムを作りたいと思っているのですが、プログラミング言語の 選択肢が多く迷っています。 プラットフォームとしては当面はWindowsを考えているのですが、将来的にはLinux等(PC-UNIX)でも デスクトップアプリを作成してみたいと考えています。 今は言語の選択肢として、C言語, C++, Java, C#を候補にしています。 上記のプラットフォームでデスクトップのプログラムを作成する場合、どの言語が一番相性がよい、 あるいは将来性があるのでしょうか? 私の各言語に対する認識は下記の通りですが、この認識で間違いないでしょうか? ・C言語   もっともよく使われているプログラム言語。   WindowsはSDK(Win32API)での開発になる。   LinuxのプログラムはC言語が多い。   基本となる言語で情報も多い。 ・C++   C言語にオブジェクト指向の概念を加えた言語。   Windowsでの開発はSDK、又はMFC。   C++の習得には時間がかかるが、今後はC言語より主流になる(?) ・Java   マルチプラットフォームのプログラム言語。   オブジェクト指向の言語。   Webやサーバーサイド、携帯電話アプリの開発では主流であるが、   デスクトップ分野では実行速度や実行環境(JRE)がネックになり   あまり使われていない。   SWTを使えば、SWINGやAWTより実行速度がUPしたGUIアプリの   開発が可能。 ・C#   C++をベースにJava, Delphi等の既存言語のいいとこどりをして、   .NET Framework用に新たに開発された言語。   今後のWindowsアプリでは、C#が主流になる(?)   Javaと同様に実行環境(.NET Framework)が必要となる。   実行環境は今後のWindowsプラットフォーム上には標準で搭載される。   Linux上では mono というオープンソースの実行環境がある。

  • Windows系GUIプログラム開発のお勧め言語またはツールについて

    こんにちは。 私は主にUNIX、Linux系のアプリケーションやドライバを作ってきましたが、Windowsアプリケーションは、VC++、C++Builderでデモプログラムを作った経験がほんの少しあるだけです。ただし、X-Windowのアプリケーションを作ったことはあるので、GUI系のアプリケーションがどんなものかはだいたい想像がつくつもりです。 今度、業務でWindows系アプリケーションを作らなければならなくなり、どの言語で作るのがいいのか悩んでいます。 作ろうとするアプリケーションは、以下のようなものです。 ○装置監視のデータ表示系。Linuxマシン上のMySQLデータベースに装置監視データが入っていて、これを画面に表示する。画面からデータベースへのアクセスはSQLを使いたい。 ○Linuxマシンと監視系Windowsマシンは遠く離れており、ISDN(64K)でLANをつなぐ予定。通信帯域が64Kしかないので、通信量がネックになるかも。 ○監視画面には、トレンドグラフやリアルタイムの表示更新が発生する。更新周期は秒単位。 ○監視画面はさまざまな機能を持ち、およそ30種類ほどの画面を開発する必要があるので、開発の手間の大小は重要。 画面の作り易さということで言えば、VBがいちばんいいのでしょうか?私はVBはさわったこともないのですが、画面作成ではVBがいちばんポピュラーなのかなと思います。それとも、VBもVCもあまり変わらない? Javaという選択肢もあると思うのですが、私のまわりにはJavaで画面を作っている人はいなさそうです。Javaで開発している人はEclipseを使っているようなのですが、はたして使い易いのか? 「業務用画面プログラムを作成するとき、特に開発のしやすさで選ぶなら、どの言語(開発ツール)をお勧めしますか?」ということで、いろいろご意見を頂ければ幸いです。 よろしくお願いいたします。

  • C言語系の将来性と現在の有用性について

    いつもお世話になっております。 以前もこちらのカテゴリで似たような質問をさせていただきましたが、違う視点からまた質問させていただきます。 現在社内では、WindowsVista向けアプリケーションの対応として、VisualBasic6.0で作成した多くの資産をVisualBasic.NET2005に移行する作業を行っております。 資産はPCIボードやシリアルポートを使用してリアルタイム制御を行ったり、ウインドウに数値表示するための、ループ構造のロジックが主です。 私としては、VB6資産独特の不具合(応答性の悪さや、C++向け他社製DLLを呼び出した時の原因不明な動き)が頭に引っかかっているので、.NETへ移行するならば、C++へ移行する方が制御には向いているのではないかと考え、暇を見つけてはVCの移行作業を実験的に並行して行っています(VC++.NETはまだ購入していないので、所有しているVC6.0を使用しています)。 C++が制御に向いている、または処理系を変更することでLinux移行も可能である点を踏まえるとC++言語での開発は今後の転換が柔軟に行える要素を持っていると思います。 一方、VB.NETは生産性やデバッグ機能性が非常に高い、また実行速度もかなり改善させれていると言われて、会社の方針はもっぱらVB.NET化で固まってしまっています。 うちのシステムはハードウェアメーカが公開するAPIがCかVBにしか対応できないので、言語的には二者択一になってしまうのですが、使用OSはWindows/Linuxの選択肢は用意されています。 これらを前提として、VB.NETへ移行するメリット/デメリット、またC++言語へ移行するメリット/デメリットにはどんな事があるのでしょうか? ちなみにVB6.0以前での開発は、MicrosoftCでMS-DOSアプリケーションを作っており、Windowsマシンの普及によってVBへ移行した実績があります。

  • VisualC++のメリット

    社内でVB6とDelphiでアプリ作成を行って いるものです。 今回VC++を開発用アプリとして購入を検討しています。 しかしながらVC++がVB6とDelphiより いいところがよくわかりません。 1:VC++にできてVB6でできないもの 2:VC++にできてDelphiでできないもの を開発アプリの機能に関して教えてくだされば幸いです。 (例:DelphiにできてVB6にできないものとして    *グリッドの使用    *フォームにスクロールバーがつく )

  • VBは速度が遅い?

    VisualBasic6でプログラムを組んでいて疑問がわきました。 主に計算主体の場合、C言語と比べて速度が遅いと言われますが、どうしてVBで作ると同じアルゴリズムなのに 速度が遅いのでしょうか? VBで早くする方法が知りたいです。 ActiveBasicというものがあり、そちらで動作させると 早いといううわさがあり、本当かわかりませんが、 どうなのでしょうか?VBのコンポーネントは使えるのでしょうか? ※昔、Delphiと同じアルゴリズムで速度を比べたら Delphiの方が早かったです。理由はわかりませんが・・・

  • 開発言語の選び方について

    windowsで動作する簡単なアプリケーションを作りたいと考えています。アプリケーションは、「CSV形式のデータを取り込み、リストで表示したりデータの抽出、指定した範囲を印刷する」といった簡単な内容です。 phpの経験はあり、上記の仕様は作れるのですが、これを気にプログラムについて勉強しながら取り組みたいと考えているのですが、開発言語をどのように選べばよいかアドバイスをお願いします。 ユーザインターフェースなどを簡単に作れる、VB, VC#, VC++で考えているのですがそれぞれはどのような違いがあるのでしょうか?

  • 開発言語の学習に関して

    私は現在、pythonを学習しています。私は来年、専門学校へ入学する予定なのですが、希望する専門学校で習得できる言語は、java,C,C++,PHP,perlがあります。 私はlinuxカーネルで動作するオープンソースのプログラム(特に、高機能なCUIのセキュリティー関連のプログラム)や組み込みLinuxの開発に興味があるのですが、そういったプログラムを作るにおいて、今の学習も兼ねてどのような開発言語を学べば有効でしょう? (一応、python以外にも、Cの中級(明解C言語の実践編ぐらい)とC++の基礎(オライリー出版のC++入門)ぐらいの理解はあります。)

専門家に質問してみよう