こんにちは、プログラミング言語について質問があります。

言語中には、Visual Basic,C,C++,VBA,J++,などいろいろありますが
違いは何なんでしょうか? また、お勧めの言語はどれでしょか?
素朴な質問ですがお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。



う~~ん、難しいですね。これは、生まれも育ちも違うんですよ。

★BASIC
Beginners All purpose Symbolic Instruction Code
Dartmouth大学で開発
インタプリタ型言語。
一行一行、翻訳しながら、実行していくので、速度が遅い。
命令の種類が、少なく開発が容易である。
コレに、GUIのインターフェースをくっつけたものが、VBです。
 ●VBA
VB Apllication
VBを元に、同じインターフェースをアプリケーション上に実現する為に開発されました。

★C言語
ベル研究所で開発
UNIX自身が、このC言語で、作成されている。いまでは、UNIXに限らず数多くのOS上で一般に普及している。
開発は、難易度が高い。

コンパイル⇒リンク という作業を行い実行ファイルを生成し、実行ファイルだけで稼動させる為動作が速い。
 ●C++
C言語に、クラス概念を取り入れた、オブジェクト指向言語。Cよりも、多くの機能を搭載しましたが、クラスを使用していることで、【設計】の難易度は、非常にい高くなりました。

★Java
どのOSでも、稼動することを目標に作成された言語。Web上での仕様だけでなく、インストーラへの転用等も、行われている。将来性は、ピカイチと言われています。MAC/Win/UNIXどれでも動く。
 ●J++
ただし、Visual J++は、Javaに、カスタムを施したところ、そのカスタムが「違法」との訴訟に敗訴。修正させられてしまった。


個人的見解では、何が良いと言うのは無いと思います。
C++お偉いさんが「いずれ、JAVAに統合されるのだろう。」と言ったのは、有名な話ですが・・・。

ただ、ボクがそうあったこともあり、まずとっつきやすい、BASIC系から、基本的なプログラミング概念を学び、Cによって更に詳しく学び、C++で、クラスの概念を習得し、JAVAも行うのが良いのかな・・・と。
・・・単なる欲張りでしょうか(^^;
※1994年当時は、BASICと、CとPascalしか無かったんです。

言語(書き方や命令)が違っても、基本的な、処理の「順次」「選択」「繰り返し」は、同じですから。
ただ、BASIC知っていれば、VBAもできるので、書類整理や・データ整理も楽々というわけで、Windowsで、あれば実用性は高いでしょう
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
今、VBAを勉強中です。Haizyさんの意見を参考にしながら
いろいろ検討してみたいと思います。
あと、何かわかりやすい参考書などがあったら教えてください。
お願いします。

お礼日時:2001/10/30 00:06

VBAって言うのはExcel上やWord上でプログラミングできる、


VisualBasic(以下VB)の事です。
⇒なので本家VBよりも機能が限定、制限されています。

Windows上での開発ならばVBがとっつきやすく簡単で良いでしょう。
ただ、痒い所に手が届くような細かい開発はできませんので。
そういった開発を行うのであればC言語系(C++、JAVA等)をお勧めします。

おそらく言語の違いで悩まれているレベルだと、
C言語系ではかなりの壁にぶち当たりますのでご注意下さい。(^^ ;)
    • good
    • 0
この回答へのお礼

いろいろ参考になりました。
ありがとうございました。

お礼日時:2001/10/30 00:00

言語の違いですが、Visual Basic、VBAはマイクロソフトOSでののソフト開発が主になりますね。

CとかC++だと、unixでも使用できますね。

お勧めと言われましても、どのようなソフトを作りたいかによって変わってきますね。
ゲームとか本や映画と違って、「おもしろかったから、どう?」と薦められるものではないのです。

このような回答でよろしいでしょうか?

この回答への補足

回答ありがとうございます。

漠然とした質問ですいませんでした。
使用目的としては、ゲーム開発、マイクロソフトOSでのソフト開発です。

あと、Visual BasicとVBAの違い、CとC++の違いを簡単にでもいいので
おしえていただけるとありがたいのですが・・・。

補足日時:2001/10/28 22:17
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

QC,C++,VB,Java 各言語の特徴って何ですか?

C,C++,VB,Java これらの各言語の特徴や開発にあたって注意しないといけない点などを教えてください。

■背景
現行のシステムには様々な開発言語が用いられていますが、時々なぜこのシステムを開発するのにこの言語を使ったんだろう?と思うことってありませんか?
私は試行錯誤すればどの言語でも大抵のことはできると思っているせいか、いまいち言語の特徴が明確にできません。
上記の言語を比較してそれぞれどのようなことが言語の特徴となるのでしょうか?
よろしくお願いいたします。

Aベストアンサー

C言語……元々UNIXを開発する為に作られた。OS開発言語。俗に「高級アセンブリ」等と呼ばれる。開発当時のレベルでは「プラットフォーム間の差異を吸収する」移植性の高い言語だった。
これは元々UNIX自体が特定の「動作可能/保証するプラットフォームを持たなかった」為である。「移植性の高いOS」を作るための「移植性の高い言語」が開発目的の一つだった。
Algol等の「構造型プログラミング」の考え方を基盤としている。そして元々日常ユースは想定されていないし、「大きくて複雑なプログラム」を書く為のモノでもなかった。
UNIXの開発思想は「一つの目的の為の小さなプログラム」の集合体だった筈だが別のプラットフォームで大きくて複雑なプログラムを書く事に使われ初め当初の使用目的と大きく乖離していった。一つの背景に、貧弱なマシンでスピードを稼ぐには「C言語しか選択肢が無い」と言う状況が続いた為と思われる。
なお、C言語のコンパイラの最適化は他の言語を上回るケースが多く、現在ではOSの他に、Lisp、Perl、Python、Ruby等の「言語を書く為の言語」として使われるケースが多い。元々、プログラミング言語はアセンブリ言語で組み立てられるケースが多かったが、現時点その分野も前述の特徴の為、C言語に置き換わってる。

C++…基本的にはC言語にSimulaと言う言語の特徴を付け加えたモノ。最初はObjective CとかC with Classes等と呼ばれた。ただし、ここで言う「オブジェクト指向」は元々オブジェクト指向、と名乗ったSmalltalkの概念とは(被る分もあるものの)大幅に異なる。

Squeak(Smalltalk):
http://squeakland.jp/

また、厳密には「オブジェクト指向」を表す定義も存在しない。ただし、C++がポピュラーになるにつれて「C++型の」オブジェクト指向が受け入れられた。
C++は必ずしも「より良いC」は意味しない。元々のデザイナーであるStroustrupによる冗談も存在する。

http://hp.vector.co.jp/authors/VA000092/jokes/strup.html

VB……本家BASICとはかなりかけ離れたMicrosoftのプロプリエタリ言語。ただし、「Windowsで動くソフトを作る」分には最強の能力を発揮する、と思われる。また、BASICとしては最高、との評もある。
「VBのオブジェクト指向は本格的ではない」等と言った批判もあるが、前述のように元々「オブジェクト指向」自体の定義が曖昧な為、割に見当違いの批判だと思われる。
ただし、C言語やC++みたいに移植性は念頭に置いてない。また、本家BASICともコードの互換性はほぼ無い。

Java……一言で言うと改良版C++。開発者のジェームス・ゴスリングもそう述べている。提供元はSun Microsystems。
あまりに低レベル(アセンブリに近い)なC言語特有の操作(具体的にはポインタ)を止め、メモリ管理をガベージ・コレクション(ゴミ集め)に任せてる。これでプログラマがメモリ管理に頭を悩ます事が無くなった。
また、登場した70年代と違い、C言語の「移植性の利点」が薄れてきた事もあり、もう一段階上のレベルでの移植性を達成するように作られている。かいつまんで言うと、OS上の「Java仮想マシン」で動く言語、と言う構図になっている。言い換えると「コンピュータ上で動くコンピュータ」で動くアプリケーションが作れる、と言うのが特徴。プラットフォームの差はその「仮想マシン」で吸収される。
従って、CやC++等と違い、Javaのソースはネイティブコードにはコンパイルされないで仮想マシン上で動く中間コードへとコンパイルされる。
移植性はピカイチだが、反面、Java製のアプリは「コンピュータ上で動くコンピュータ」上で動く為、スピードの面で言うとCやC++で作成されたアプリに劣る、と言う欠点も持ち合わせている(ただし、色々なエミュレータなんかを見ても分かるように、近年はハードウェアの進歩により、そこまでスピードは問題では無くなって来た)。

C言語……元々UNIXを開発する為に作られた。OS開発言語。俗に「高級アセンブリ」等と呼ばれる。開発当時のレベルでは「プラットフォーム間の差異を吸収する」移植性の高い言語だった。
これは元々UNIX自体が特定の「動作可能/保証するプラットフォームを持たなかった」為である。「移植性の高いOS」を作るための「移植性の高い言語」が開発目的の一つだった。
Algol等の「構造型プログラミング」の考え方を基盤としている。そして元々日常ユースは想定されていないし、「大きくて複雑なプログラム」を書く為のモノ...続きを読む

QVisual C++とVisual C++.NETの違い

これからVC++環境でプログラミングを勉強をしようと思うのですが、Visual C++とVisual C++.NETの違いが未だによくわかりません。 それと.NET frameworkの意味がよくわかりません。 またvisual C++にはCのようなmain関数が無いのでしょうか。どこに書いてよいかわかりません。
自分で調べて見たのですが、よくわかりませんでした。よろしければ教えていただけないでしょうか。 
質問が多くなってすいません。

Aベストアンサー

> Visual C++とVisual C++.NETの違い
名称の違いだけですかね。
Visual C++ 2002/2003だと.NETが付いていて、
それ以外だとつきません。
たぶん.NET Framework対応をアピールするために付けたのだと思いますが、
2005以降はその必要がなくなったのか.NETは付かなくなりました。

> それと.NET frameworkの意味がよくわかりません
「.NETアプリケーション」の動作に必要な環境。
とりあえずランタイムライブラリの一種と思って良いです。
http://itpro.nikkeibp.co.jp/article/Keyword/20070205/260797/

> またvisual C++にはCのようなmain関数が無いのでしょうか。
Visual C++は開発環境、Cは言語なのでこの2者を対比するのは変です。
Visual C++はC言語も扱えるので、
Visual C++のコンパイラでmain関数を持ったCのソースコードもコンパイルできますよ。

QVisual C++ と Visual Basic

今までずっとCを勉強してきたので、そろそろC++を勉強してVisual C++を習得しようかと思ってました。
ですが、知り合いのプログラマーの人から「習得するならVisual Basicの方が良い」と言われました。
みなさんはどのように思いますか?
私は用途によるとは思いますが、一般的にはどちらを習得しておいた方が良いとされてるのでしょうか?
できればその理由も添えて教えてください。

Aベストアンサー

VisualBASIC(VB)のほうが仕事が多いと思いますので、
VBを学ぶのも悪くないと思います。

ただ、VisualC++(VC)のほうがより深くWindowsについての知識が求められます。

ですので、楽してソフトが作りたいならVBを、
がんばって知識を習得するつもりならVCを選べばいいと思います。

さらにいえば、
VCを使いこなしている人はVBを簡単に使えますが、
VBしか知らない人はVCを使うのは難しいと思います。

それにすでにC言語の知識があるのですから、
C++系を勉強する方がC言語の知識も生かせてよろしいのではないでしょうか?

QVisual Basic C# C++ 3種類あるけど、どう違う?

お世話になります。
Visual系にはいくつが種類があり、

Visual C++
Visual Basic
Visual C#

の3種類があると思うのですが、違いがよく分かりません。
それぞれの向き不向き、特徴があれば教えていただけないでしょうか。

私は、初心者で、windows上で動作するexeアプリケーションファイルを作りたいと思っています。Visual Basicが一番簡単なようですが、もし、ほかの二つに比べて機能制約があるようでしたら、勉強してよりよい作品を作りたいと思っています。

ご回答を宜しくお願いします。

Aベストアンサー

まず3つともexeは作成できます。
ただし制約はそれぞれ違います。

Visual C#とVisual Basicは
言語による文法の違いだけで生成されるexeは一緒です。
ただしこれらで作成したexeは使用するユーザーのPCに
.Net Frameworkのランタイムがあらかじめインストールされている環境でないと
実行できません。

Visaul C++は
名前の通りC++言語がベースになっています。
元々C言語はUNIX環境の言語であった為、この言語は
Windows以外にもよく使われます。オープンソースのプロジェクトにも良く使われています。
アセンブラレベルでのデバッグもできるし、自由度は高いですが、その分複雑です。
他のランタイムに依存しないexe単体で実行できる物も作成可能です。

またVisual C++ 2005以降は C++/CLIというC++を拡張したものも選択できるようになっています。
ただしこれを使った場合は上記2つと同じように
.Net Frameworkのランタイムがあらかじめインストールされている環境でないと
実行できません。

C++自体言語仕様が複雑なのに加えVisual C++で選択できる範囲が広いため
最初にやる言語としてはあまりお勧めしません。
Visual C#をお勧めします。(Visual Basicでも良いですが文法が独特です。)

まず3つともexeは作成できます。
ただし制約はそれぞれ違います。

Visual C#とVisual Basicは
言語による文法の違いだけで生成されるexeは一緒です。
ただしこれらで作成したexeは使用するユーザーのPCに
.Net Frameworkのランタイムがあらかじめインストールされている環境でないと
実行できません。

Visaul C++は
名前の通りC++言語がベースになっています。
元々C言語はUNIX環境の言語であった為、この言語は
Windows以外にもよく使われます。オープンソースのプロジェクトにも良く使われていま...続きを読む

QJava、Visual C++、Basicどれを勉強した方が良いですか?

趣味でプログラミングをはじめようと思います。
したいことは、特定のHPの項目に自動で文字を入力したり次の項目へ進むボタンを押したりするソフトを作ることです。
全くのプログラム初心者が学ぶのにはじめやすい言語、環境はJava、Visual C++、Basicのうちどれが良いでしょうか?
また、勉強方法についてもお教えいただければ幸いです。

Aベストアンサー

#2の方もいっておられる通りHTMLをまず学ぶべきです。

あなたの挙げたどの言語もHTMLの十倍の時間をかけなければ覚えられません。

HTMLをプログラミング言語とよべるかどうかの議論はさておき、
かなり簡単な構造をしていて、とっつき易いのです。

具体例としてHPの項目について触れていますが、
簡単さを追求するならASPやVB Script、
本格的なものを追求するにはJAVAです。

VCやVBでもネットプログラミングはできますが、
どちらかというとクライアント向きです。

逆にJAVAでもクライアントプログラムはできますが、
JAVAは思想上、NET向きなのです。

もう理解できたと思いますが、音楽ソフトとかエディタとかの
Windowsプログラムを書きたければ、VBやVCを選べばいいですし、
WEBに方向性を絞るならHTML→ASP→JAVAという流れが段階をふんでいます。

勿論、一番先にJAVAの勉強を開始して、
途中から易しいHTMLへ降りてくる勉強法もあります。

私なら全体の輪郭を把握できるこの手法をとりますが、
これはこれで一利一害です。

#2の方もいっておられる通りHTMLをまず学ぶべきです。

あなたの挙げたどの言語もHTMLの十倍の時間をかけなければ覚えられません。

HTMLをプログラミング言語とよべるかどうかの議論はさておき、
かなり簡単な構造をしていて、とっつき易いのです。

具体例としてHPの項目について触れていますが、
簡単さを追求するならASPやVB Script、
本格的なものを追求するにはJAVAです。

VCやVBでもネットプログラミングはできますが、
どちらかというとクライアント向きです。

逆にJAVAでもクライアント...続きを読む


人気Q&Aランキング

おすすめ情報