アプリ版:「スタンプのみでお礼する」機能のリリースについて

なぜプログラマーにvbaは馬鹿にされるのでしょうか?
「Vbaはプログラミング言語とすら言わない。簡単すぎる」
と言われるくらいですが、
なぜ-そんなに馬鹿にされるのでしょうか?

私はvbaを勉強していますが、難しく感じます。

A 回答 (6件)

馬鹿にするのは言い過ぎだと思いますが、


VBAは、アプリケーションソフトの
機能を決まった順番で呼び出す手順書作成のようなもの(マクロ)を作る言語です。

アプリケーションソフトを含む、ソフトウェア全般を作成するための言語とは別だと
私は思っています。

VBAは、VBやCと比べて確かに簡単かもしれませんが
アプリケーション操作を自分流にカスタマイズできる点は、充分立派な機能だと思います。


おそらく、プログラミングをまだ勉強し始めたばかりなんでしょうね。
たかがマクロ、されどマクロです。
勉強すれば勉強するほど身についてくるものはありますよ。
これはプログラミング能力に通じるものがあります。

Excelでテトリスやスーパーマリオが出来るVBAを見たことありますよ!
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/04/14 13:20

 まぁ、端的に言えば、馬鹿にしている連中を馬鹿にしても良いです。


 そんな輩には、まず、どんな言語もまともに扱うことは出来ないでしょうから。
 と言ってしまいたくなる質問なんですが(笑)
 これ以降は、お節介の雑談程度に読んでもらえればOKです。

 VBAは、略せずに書くと、Visual Basic for Applicationsといいます。一番最後にfor Applicationsと付いているのは、Microsoft Officeシリーズの動作のために作られたVisual Basicということで、端的に言ってしまえば、ExcelやWordの為のマクロ言語です。
 ところが、このマクロ言語・・・「されど」が付くくらいに良く出来ており、WrodやExcelをコントロールするためには必要充分どころか、それ以上の機能が満載されています。
 アプリケーションとしての見栄えとしては、for Accessとして使った時が、最高峰でしょうか。もう、普通の汎用のアプリケーションと大して変わらない物がくめてしまいます。Accessで、VBAを利用して作った業務用アプリあたりになると、もうとてもとてもマクロとは思えない出来になります。
 本当に必要とあらば、かなりのラインまでシステムのコントロールに手を出すことも出来るので、そういう意味でも、マクロの一線を越えている代物です。(でも、普通はやりません。だって、他の汎用言語で組んだ方が「簡単」で「楽」ですから。いったい、VBAのどこが簡単すぎるんだかと言っておきましょうか(笑))

 まぁ、その昔、パソコンの黎明期(PC-8001とかそれより昔の話です。)に、プログラムの初心者用として、開発されたのがBASICという言語の始まりです。初心者用と言っても、言語そのものが簡単なわけではなく、アセンブラーや機械語に比べれば、人間の言語に近い形でプログラムの表現が可能で、フォートランやコボルの様に、ソースコードをコンパイル・リンクをして実行しなくても、ソースを書いたら、その場でRUNの一発で実行が出来る手軽さを表現して初心者用と歌った物です。
 その実態は、やせても枯れても、完全なプログラミング言語ですから、そんなに易しい物でもなかったですよ。機能をフルに駆使すれば、相当なプログラムが書けました。まぁ、当時のコンピュータの性能で動かせる範囲でですけどね。
 あの頃から、30年の時が経って、コンピュータの性能も、手軽さも、プログラミング環境も大きく変貌しました。
 VBAもBASICという言葉は付いている物の、もはや、当時のお手軽な言語体系とは、似ても似つかぬ化け物に成長しました。
 もともと、BASICって、その言葉の通り、基本的な事が出来るだけの言語だったんですが、今となっては、歴史的な呼び名という感じですね。系譜としても別の線が書きたいくらいです。
 
 VBAが、もし、ちゃんと使いこなせる。少なくとも、ExcelやAccess上で、ある程度の規模の自分のやりたいことが、不自由なくこなせる。程度にまで、ちゃんと勉強しておけば、Visual Studio上で、VBを使って汎用アプリケーションを組むことになったとしても、そう大きな違和感なく、プログラムできるでしょう。単に、アプリケーションを実行する基盤が、ExcelやAccessといったアプリケーションではなく、Windows上で直接実行する形に変わっただけのことですから。基盤が変わっただけの勉強は必要ですけど、それだけのことです。
 他の言語を勉強することになったとしても、プログラムの基礎は何ら変わるところはありません。しかも、多少の表記が変わっただけと言っても、過言ではない面もあるくらいです。(これには、歴史的な理由があって、実は、現在、一般的に利用されているプログラミング言語の大多数は、ALGOLという言語から、Cを経由して、互いに影響し合いながら生まれて、成長してきたんです。というわけで、本質がとっても似ているのです。)
 というわけで、まぁ、頑張って、勉強してください。ここで、簡単すぎる言語だからなんて戯言に惑わされて「では、別の言語をやりたいのですが・・・」なんて言い出さないことを、強くお勧めします。
 ある程度、くめるようになってから、別の言語にも興味を持って勉強を始めた時に、多分、最後の段で私が書いた文章の本当の意味がわかると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/04/14 13:20

>VBAが、もし、ちゃんと使いこなせる。

少なくとも、ExcelやAccess上で、ある程度の規模の自分のやりたいことが、不自由なくこなせる。程度にまで、ちゃんと勉強しておけば、Visual Studio上で、VBを使って汎用アプリケーションを組むことになったとしても、そう大きな違和感なく、プログラムできるでしょう
無理。
VBAはVB6までの仕様をベースに作られている
それに対して今のVBは.NET系で6までと違いオブジェクト指向をがっつりと組み込まれているため
別言語になったと言っていいほど仕様形態が変わっている。

>Windows上で直接実行する形に変わっただけのことですから。基盤が変わっただけの勉強は必要ですけど、それだけのことです。
今のVBは.NET系ですからWindows上で直接動いていません。
.NET Frameworkで動いている。

>プログラムの基礎は何ら変わるところはありません。
構造化型とオブジェクト指向型では基礎的なところから変わっている。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/04/14 13:20

VBAはエクセルの追加機能のようなものですが、基本的な部分は


VBとそんなに変わりません。
今回の場合は、エクセルの追加機能だから ということではなくVBも含めて
「簡単すぎる」
と馬鹿にしているように見えますが
馬鹿にしている人は何を使っているのでしょうか?
C?VC?JAVA?
所詮言語なんて手段であって目的が達成されればそれでいいのです。
その馬鹿にしている人は自分が学んでいる言語でどれほどのことが出来るのでしょうか?
プログラムなんてできあがった物がいいか悪いか
それだけです。
そんなレベルの低い批判をする人は
馬鹿なんだな
と思ってあげましょう
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2013/04/14 13:20

まあ、こういうのは宗教じみたところもありますので、その発言者の「信仰する言語」と比べたらVBAは劣る、と「信じて」いるのでしょう。

    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/04/14 13:20

そう言われた方の価値観によるものなので、言っている人に直接聞いて、


さらにその回答に関してさらに質問するといいかと思います。
実になる回答なのか、抽象的で主観による回答なのか、興味あります。

自分はVBAは全く触ったことがありませんが、そんなことははじめて聞きました。
友人でVBAで仕事をしていた人もいていろいろ話はしましたが、初耳です。
コンピューター系でも何でも見下す発言はあまり気分がよくないですね。
スルーするようにしています。
自分のモチベーションに影響すると損ですからね。

また「~だからダメだ」の叩き系の発言か、と考えるといいですね。


でも、効率的な良し悪しがあるのであれば、よく調べる価値はあります。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2013/04/14 13:21

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