• ベストアンサー

VB vs Delphi

 以前にも、どの言語がよいか質問をさせていただいたのですが、結局ほかの言語へ移行せず今の、日本語プログラミング言語を、使い続けていました。  しかし、使える言語が1つというのは何かと不便で、今度の冬休みから少しずつ学習するのもいいかなと思いました。そこで、今度こそ本当に別の言語へ移ろうと思い、案を二つに絞りました。それが、VisualBacicとDelphiです。  一応、その二つについては、 *VisualBacic  ・メリット   情報が多い(書籍など)   中学生のため、VS.NETを、5000円で買える   (http://www.microsoft.com/japan/msdn/student/premium/)  ・デメリット   動作が遅い   ランタイムが必要 *Delphi  ・メリット   動作が速い   コンパイルが早い   ランタイム等が不要  ・デメリット   情報が少ない   有料版を購入すると、かなり高い の、用に理解しています。 当初は、VBの方が、学校でBasicを学習するので予習になる、と思っていたのですが、調べてみると、元祖BasicとVBでは、かなり違うという情報をどこかでみました。 そこで、現在、どちらかあるいは両方を利用している人などから、ご意見を聞きたいのですが。よろしくお願いします。

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

  • ベストアンサー
noname#14464
noname#14464
回答No.2

 VS.NETとなると、VB.NETをやることになりますが、VB.NETならば、動作は遅くありません。  ええと、説明が難しいのですが、VB.NETは、基本的にそれまでのVBを元にした全く別の言語であり(もちろん、いままでのVBコードが使えないほどではありませんが、プログラミングの手法も全く異なっています)、.NETというフレームワークの下で動くプログラムを作ることになります。 そして、VS.NETを買うのならば、C#やVC++も、J#も使えるということになります(その辺は解説か何かで見たでしょうから、省略します)。すべて基本的に.NETフレームワークを使ったプログラミングを行う言語ですので、基本的にVB.NETが使えるのならば、ちょっとした努力でC#も、J#も(VC++は、ちょっと違うかな)使えるようになると思います。  …と言うことで、このケースでは、わたしはVS.NETをおすすめしますね。ただ、VB6以前の書籍はあまり役に立ちませんので、結局どちらも情報量としては大差なくなるかなと思います。Delphiのほうが、豊富なコンポーネントライブラリが(各ユーザーサイトなどでフリー公開されている)あったりする分、そこは有利です。  ということで、わたしがまとめたところ、こんな感じです。 VS.NET 利点 ・C#、VB.NET、J#プログラミングの開発環境がすべて同時に手に入る ・気が向けば、モバイル(PDA)プログラミングだって出来る ・ASP.NETなどに知識が応用できる。 ・Javaとクラスライブラリの構造が似ているため、知識が応用できるかもしれない(まあ、どの言語でも応用できると言えばそうなんですが)。 ・まとまったコミュニティが用意されている 欠点 ・開発および、使用するには.NETフレームワークライブラリが必要(開発者はSDKなどがいるのでで約1.2GB、使用には約500MBくらいでしょうか)。 ・近いうちにVS.NET2005が出る(それ以降の新しい文法は使えない) ・(ネット上では)比較的情報が手に入りづらい(VBで検索すると、VB6以前と.NETが混ざって見つかるため、あまり当てにならない) Delphi 利点 ・無償で手に入るバージョンあり ・ネット公開の多数のコンポーネントが手に入る ・C#と言語の設計者が同じなため、あとあとC#に応用できる(クラスライブラリの構造は特に結構似ています) 欠点 ・開発環境にバグが多い…(T_T) ・情報が結構散乱している  いちおうこんなところで。VB6以前は除外していますが、割引価格でしか買えませんし(アカデミックでも10000は超えたと思います)、調べたとおり動作は遅いですし、あまり良いことはないでしょう。 わたしはDelphiとVB.NET、C#すべて経験がありますので、分からないところがあれば聞いてください。

参考URL:
http://nadia.kabe.to/bluewater/dotNet/dotNetIntro.html
nakatosi
質問者

お礼

 これ又、早い回答ありがとうございました。やはり、わからないものは調べて聞くに越したことはありませんね。  両者、結構隠れた(僕の知らない)利点欠点があったんですね。(まあ、当たり前か)  詳しく解説していただきありがとうございます。又、何度かお世話になるかもしれませんが、よろしくお願いします。

その他の回答 (5)

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.6

こんにちは、honiyonです。  私はN88BASIC,QuickBasic,VisualBasicを経験した後、Delphiに走った者です。  下記は私の感想です。個人差の所なので、全て信用しないで、「そういう事もあるんだな」程度に受け取ってください。  VisualBasicのとっつき易さは非常に素晴らしいものがあります。MS-DOSレベルのBASICしか使った事がない人でも、びっくりするくらい簡単にWindowsアプリケーションが作成出来ました。 私がQuickBasicを経験していたせいもあるかも知れません。  初めてVisualBasicに触れて、すげ~!とはまっていた頃、Delphiも触ってみましたが、全然理解出来ませんでした。Delphiの前身、TurboPascalを使用していましたが、それでもサッパリでした。  その後、どうしてもDelphiを使いこなしてみたくなり、たくさん勉強してDelphiを使えるようになりました。  使えるようになって、更に使いこなせるレベルまでいって、ようやくDelphiの良さ、というものに気づきました。  このような経験から、VisualBasicの特徴に非常にとっつきやすく、理解しやすいものだと私は感じています。  しかしその反面、少し凝った事を使用とすると、びっくりする位苦労します。「おまじない」みたいなコードをたくさん書く必要に迫られ、それが何を意味するのか分からないまま使う事になります。その意味を知ろうとすると、Windowsの仕組みやC言語まで理解しなければなりません。  反面、Delphiも似た所はありますが、その努力「部品」という単位で管理する事が出来、それ以降その部分を修正しようと思わなければキレイサッパリ隠してしまう事が出来ます。そしてその「部品」は流用がしやすく、似た物を開発しようとした時に作業数を減らす事が出来ます。  また、プログラムが見た目キレイにまとまり、後から管理がしやすいのも特徴です。(この辺特に個人差の出る所ですが)  少し変わった所では、Kylixという姉妹品がある所も特徴ですね。 KylixはLinux版Delphiといえるもので、Delphiと互換性が高く、Delphi用に作ったプログラムをそのままLinuxのX-Window System用アプリケーションとしてコンパイルする事も場合によっては可能です。  最後に、私が最後にVisualBasicを経験したのは、2年ほど前です。.NETの登場もあり、それから進化しているでしょうから、私の感想がそのまま今のVisualBasicに当てはまらない点ご注意ください。愛用しているDelphiもDelphi6で、最新版ではありません。  以上、一個人の感想でした。

nakatosi
質問者

お礼

アドバイスありがとうございます。 個人的な体験談も、とても参考になります。 ありがとうございます。

回答No.5

他の方がいろいろ答えてくださっていますから、その中でも出ていないところを何点か。  Delphi2005なら、.NET Framework上でも動きます。C#もついていますから、お得度2倍!  Microsoftにとって、VB.NETはプロフェッショナル向けの言語、C#はディベロッパー向けの言語です。「プロフェッショナル」とは「業務のプロフェッショナル」で、開発者ではありません。  Delphiの情報量は、かなり多いですよ。ただ、探すのがしんどいですけど。  Delphiもランタイムが要ったはず。もっとも、要らないようにコンパイルすることもできたはず。  学校で行う「Basic」とは、本当に「VisualBasic」?「BASIC」なら、いろんなBASICがありますよ?  これからなら、むしろASP.NETやJavaによるWebプログラミングをやっておくと良いかも。プラス、データベースも。

nakatosi
質問者

お礼

夜遅くに、回答いただきありがとうございます。 >Delphi2005なら、.NET Framework上でも動きます。C#もついていますから、お得度2倍! いいですね。でも、値段が・・・ >Delphiの情報量は、かなり多いですよ。ただ、探すのがしんどいですけど。 そうなんですか。変な誤解をしていたようです。 学校で使うのは、「Basic」としか聞いていません。が、「VB」ではないことは確かです。おそらく、N88互換あたりではないかと思います。

noname#14464
noname#14464
回答No.4

 容量ですが、実行環境だけでも、500MB近くとるのは確かです。 開発には、.NETのための開発マニュアル(ワンキーヘルプとしても機能)である、MSDNが1.47GB(これでも自分でいらない部分を除いたサイズです)ほど、あとはフレームワークSDKに550MBちょっとです(もちろん実行環境もいるので、別途500MB)。 > 当面はDドライブにインストールして  方法が分からなかっただけのような気がしますが、わたしのときには、どこにインストールするかといったことは変更できませんでした。友達は出来たというので、たぶん本当は出来るのでしょうが。  わたしはWindowsXPのディスク圧縮で、そう頻繁に使わないソフトを圧縮することで何とか回避できました。あとは仮想メモリを別ドライブに移動させておくなど。

nakatosi
質問者

お礼

何度もありがとうございます。 >わたしのときには、どこにインストールするかといったことは変更できませんでした。 そうですか。ならば、結構やばいかもしれませんね。Cドライブの空きが、5Gしかないので・・・。一応、ファイルの整理などをしてみますが・・・。

noname#14464
noname#14464
回答No.3

 ごめんなさい、訂正数件 ・.NETフレームワークをインストールするのに必要な容量  使用者は約500MB(フレームワーク+日本語ライブラリ)  開発者は約2.5~6GB(フレームワーク+SDK+MSDNライブラリ)です。PDAプログラミングをする場合(.NET Compact Frameworkを使う)はさらに百数十MB、クロスプラットフォーム(互換環境のMonoを用いる)場合は+数MB(Monoはわたしは知らないのでサイズは分かりません)でしょうか。正直ノートにはちょっと厳しいですね(^^;デスクトップでも、Windowsのインストールの仕方によっては(パーティションの切り方によっては)つらいです。  あと、 > 中学生のため、VS.NETを、5000円で買える  とのことについて補足すると、どこだったかはよく覚えてませんが、通販などであと1000円くらい安くなったと思います。

nakatosi
質問者

お礼

追加の情報も教えていただきありがとうございます。 >開発者は約2.5~6GBです。 それは、きついですね。 Dドライブは、30Gほど、あいているのですが・・・。 この前、パーティションを切り替えたばかりなのですで、又そう入れ替えはきついです。 VBにしたときは、とりあえず、当面はDドライブにインストールして(できますよね?)、4月には新しいPCが入る予定なので、それに入れ替えようと思います。 >通販などであと1000円くらい安くなったと思います。 はい。探しているときに、何件か見つかりました。購入する際には、もっと深く探してみます。 何度も情報をありがとうございます。

nakatosi
質問者

補足

何度もすいません。VSの必要システムを調べてみました。すると、「システム ドライブに 900 MB 以上」とあるのですが、ふつうだとだいたいどのくらい取るのでしょうか? よろしくお願いします。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>元祖BasicとVBでは、かなり違うという情報をどこかでみました。 ぜんぜん違いますよ。 でも、VBでプログラムを組めるようになれば、BASICなんてすごく簡単な物です。 VB.NET が使えるようになれば、相当の事が可能ですし、速度が遅いと言われたのもVB6までです。 Delphi は、ボーランドのサイトからフリーでDL出来るバージョンがあるので、使用ライセンス(無料)を取得すれば使えるようになります。 それに、殆ど使った事のない Pascal という言語でのプログラムになるので、プログラムの知識が乏しいと苦労するかも知れません。 Excelをお持ちなら、VBAというVB6相当のプログラム環境があるので、それだけでも基本的な学習をすることが可能です。

nakatosi
質問者

お礼

早速のお返事ありがとうございます。 >VBでプログラムを組めるようになれば、BASICなんてすごく簡単な物です。 そうなんですか。僕はてっきり、全然別のものに替わったのかと思いました。それと、「.NET」の速度が速いと言う情報も初めて知りました。 Delphiのフリー版は一応持っています。まだ、ほかの言語と比べたことがないのですが、苦労しますか・・・。 ありがとうございました。参考にさせていただきます。

関連するQ&A

  • Delphiの利点・欠点、それを取り巻く状況。

     日曜プログラマーを目指しているのですが、Delphiにしようか、VB系にしようか迷っています。 あまり外部ランタイムを使いたくない(できるだけ多くの人が、簡単に使える事が理想)ので、Delphiに傾いているのですが、書籍が少ない事や、今まで触ってきたプログラムと少し違う事に少しとまどいも感じています。  Delphiをいじっている人は、どんな利点があり、欠点がありますか? また、そのほかで実感している事がありましたら、経験者としての立場から、はじめの一歩を踏み出せる勇気をください。  私が触ってきた言語としては、Perl、PHP、JAVA(の概念だけ)。

  • Visual Basic系か、delphiか(他.)で迷っています。

     できるだけ多くの環境で使える事を目標にJAVAを選んだのですが、JAVA仮想マシンがないと動かないという事に今更ながらに気がつきました。 できるだけ多くの環境で動いてもらいたいのですが、配布してすぐに気軽に(インストールして)動いてもらいたいので、JAVAとは考えが違う事が分かりました。 OSのシェアからみると9割がwinですし、win限定でもJAVAよりは配布後すぐに気軽に動かせると思います。  そこでVisual Basic系かdelphiか(もしかしたら他の言語)で迷っています。 作りたいソフトは、細かなソフトからチャットソフトなのですが、どちらの言語がいいのでしょうか?  それぞれ不安な点があります。 ■Visual Basic系だと、dllを別途入れる必要がある。 私が希望する気軽にインストールして使えるに、反しています。書籍の多さやマイクロソフトがらみは利点。 ■delphiは、書籍が少ない事。 ランタイムdllがいらない(?)。データーベースとの親和性が魅力に感じています。  将来性を考えればVisual Basicなのですが、割と少数派がすきなので、気持ち的にはdelphiに傾いています。 どちらがいいのでしょうか? ■一応使えるレベルの言語は、Perl、PHP、JAVA(初心者用の本レベル)。 ■希望としては、配布したらすぐに使え、あまり外部ランタイム等は使わない。気軽に多くの人が使える。 ■目標としては、身の回りの細かいソフト、データーベース、統計の数学的な処理、最終的にチャットソフトです。 どちらの言語でも可能だと思うのですが、経験者のご意見をお聞かせください。

  • VBは速度が遅い?

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

  • バッチコマンド+VBでできること

    ◆質問内容◆ ・バッチファイルでできること(メリット+デメリット) ・VBA(Visual Basic)でできること(メリット+デメリット) ・バッチ+Visual Basicを組み合わせてできること(メリット+デメリット) ・この2つではできないこと を教えてください。 自分はC言語や他のプログラムの作り方が分からないためバッチファイルとVisual Basicではどこらへんまでできるのかを教えてくださいませ。 分かる範囲で良いためいろいろ教えて下さい

  • .NetFrameworkに対応したプログラム言語のランタイム情報を探しています

    COBOLとDelphiは.Netに対応したものがあるようですがランタイムはあるのでしょうか?また、配布は可能なのでしょうか? あと、その他言語のランタイム情報がありましたら、合わせてお願いいたします。

  • Visual Basic ってどれくらいランタイムに依存するんですか?

    私は、初心者向けのプログラム言語は、Visual Basicでいいと思って、ここでも公言しているのですが・・・。 VBAとかにも、応用も利くし、参考書も多いしね。 HSPより、応用力があり、速いと思っていたので。(HSPがインタプリタ以外でもいけることを、最近知りました。 とはいえ、私はDelphiしか使ったことがないので、Visual Basicってどれくらいランタイムに依存するんですか?と、疑問に。 Visual Basicは、Delphiと同様のことができて、書籍が豊富という、認識なのですが。

  • 部活で使う言語

    今度部活で、ソフト作りをしようとプログラミング言語を探しています。候補としては、Activebasic C++ Delphi HSP VB.netなどがあがっています。 最初は、情報の授業で、VBAを使うということを見越して、構文が近いであろうVB.netにしようかと思ったのですが、配布した際に.net framewark を導入してもらわないといけないことがネックです。 また、C++は時間もあまりないためかなり厳しいかなと思っています。 delphiは.netとwin32の両方に対応しているのがうれしいのですが、VB.netやC++以外の言語のように、C++やVB.netほど、資料・書籍がないということがネックです。 デメリットをあげてもきりがないで、どこかで妥協しようと思うのですが、これから習得するならばどれが良いのでしょうか。 用途はWindows上で動作する、ゲームまたはその他アプリケーションソフト(ランチャーなど)を予定しています。 よろしくお願いします。 補足:できれば資料・書籍以外の出費は避けたいです

  • VB5.0からのバージョンアップ

    VB5.0+XPの開発環境ですが、マイクロソフト社のHPで調べるとVB5.0+XPは対応OSではありませんでした。 http://www.microsoft.com/japan/msdn/vs_previous/vstudio/techinfo/toolos.htm 今後、VB5.0→VB6.0にバージョンアップをしたとして、その際に開発に大きく影響がある 変更点等はございますか?なるべく慣れた開発環境がいいのですが、そうも言っていられません。 既存のVB5.0で作成したプログラムを編集したりは可能なのでしょうか? また、VB6.0に当たり、開発でつまずく様な点はございますでしょうか?? VB5.0→VB6.0のバージョンアップに際し、メリット・デメリット、注意点等ありましたら、 教えて頂きたいです。

  • VisualBasicのよるBASICプログラムの実行の可否

    初心者な質問ですが、VBでBASICのプログラムを動かすことは可能ですか?VC++でC言語は動かせるようなんですが今度BASICのプログラムを動かすことになってVBを買う予定なんですが、果たして動くのかわかりません。よろしくお願いします。

  • どのようなランタイムを入れれば万全か?

    開発言語が入っていいないパソコン環境で、ほとんどのアプリケーションがランタイムエラー なしに動作させるには、どのようなランタイムを入れておけば万全でしょうか? VB6 VC Delphi C++Builder 具体的なランタイムファイルが知りたいです。 また、ランタイムを入れることによる不具合は無いでしょうか? CurrenSEEでエラー Component 'MSINET.OCX' or one of its dependencies not currently registerd a file missing or invalid. 実行時エラー 713 次のクラスは登録されていません。以下のファイルをインストールして下さい。 MSSTDFMT.DLL