教えて!gooにおける不適切な投稿への対応について

ネットでプログラマーの嫌いな言語でよくVisual Basicを嫌いな言語にあげている人をよく見ます。そしてそういう人の好きな言語にC,C++,Lispなどをあげています。Excel VBAはよくお世話になるので
個人的にVBはすごく役に立ってくれています。なので嫌いという
感情はありません。というかそこまで言語は知らなかったりします。
VBが嫌いな人って何か理由があるんでしょうか?文法が嫌いとか、
マイクロソフトが嫌いとかそんな理由で嫌いな人が多いのでしょうか?

gooドクター

A 回答 (8件)

VBAは、悪くないと思いますよ。


お手軽だし、オフィスのサポート言語としては、最適じゃないですかねー。

VBと似たような位置の言語として、Delphi(オブジェクトパスカル)という物があります。
私は後者を支持しているのですが、勉強しようとした時、迷った結果Delphiにしたのは、VBのランタイムヘルという事情でした。
フリーソフトでも、要VB4とかありますよね。
あれは、配布する際、VB4ランタイムがないと、動かない・きちんと動く保証がないって意味なんですよ。(言い過ぎかな。^^;
http://www2.lint.ne.jp/~lrc/runtime.htm
しかも、ランタイムって、複数のバージョンがあるので、こっちのソフトではこのランタイムで動かすけど、新しいソフトを入れる時にランタイムを変えたら動かなくなった。っていうのがランタイムヘル(ランタイム地獄)と言われるようです。

Delphiは、その点が、とりあえずありません。
私がDelphiで最初に作ったソフトは、古いランタイムを入れないと動かないフリーソフトのパクリでした。
また、メッセンジャーで渡して、そのまま解凍で動かせる事も目標でした。
(ただ、その分容量が大きくなる。

VBは、簡単にプログラムを組むことができる反面、いろいろな難しい事が隠れているので、初心者向け、Delphiはそれよりちょっと上の事が出来ると書いてある書籍もありましたし。
(とはいえ、極めれば、出来ることに大差はない・・・気がします。

なので、VBは、素人がソフトを開発しやすい言語なので、玄人さんでは、物足りなくなるんじゃないですかねー。w

ちなみにじぶんはDelphi Only~
ポインタは、ちょっとだけ~(笑
    • good
    • 1

詳しい人気取りでVB嫌いの人ってあくまで自称の知ったかぶりの人でしょうね。


・VBも直接Win32APIたたけば高度なことができるし
・ランタイムも考えによっては良いものですね。
exeファイルのサイズを小さくできますからね。

でVBはよく企業で利用されていますが一番の理由は
開発効率が良いからでしょうね。


どっちにしてろVBを一方的に嫌う人って適材適所というものを知らない
●●至上主義の人ですね。
    • good
    • 1

たぶんですけど



C系の人たちとBasic系の人たちのプログラム対する
思想と言うか考え方といかプログラムの仕方が違うためだと思います。

Basicってなんていうかいい加減にやっても動くって言うか
コンピュータそのものの知識が中途半端でCとかやると玉砕しますので、
C系の人たちはBasicerのやりかたをみて、なんだこりゃ?!
って思うんじゃないでしょうかね。
>コンピューターをよく知った人
というのがこの辺りにあると思います。

ちなみにじぶんはBasicOnly~
ポインタってなに~(笑
    • good
    • 0

No4の他には



・ランタイムを添付しないと動かない
・そのランタイムが邪魔

なんていうのが。
使う方もランタイムを入れておかないとならないしとても邪魔。
    • good
    • 1

まあ、多分次の2つが理由でしょう。



1.移植性がない。

VBは基本的にWindows上で「しか」動きません。
CもC++もLispも、それらのソースコードは適切なコンパイラさえあれば他のプラットフォーム(例えばMac、Linux、FreeBSD上等)でも動作します。
この辺、「Windows上でだけ」ソフトが動けば良い、と考えてる人とそうじゃない人では意見が変わって当然です。

2.標準規格ではない。

VBはMicrosoft独自過ぎる実装なんで、仕様自体がコロコロ変わる可能性があります。
CもC++も(Common)LispもANSIで標準規格が制定されていて、バックワードコンパティビリティや将来的なコンパティビリティも可能な限り考慮されています(万全ではないですが)。つまり、今書いたコードが10年、20年の長きに渡り使えれば良いな、って事です。
一方、一社で作り出した規格はいつどこでどのように「いきなり」変更されるか分かりません。せっかく作ったコードがいつ無駄になるか分からないのです。
そんな理由でANSI準拠で無い言語でコードを書くのを嫌う人がいるのです。

ただし、賛否両論ありますが、VBやVBAはBASIC言語として見た場合、「最強のBASICである」と言う評価が(一部にせよ)あるのも事実です。また、Windows上でだけで動くソフトを書く、と言う前提ではある種無敵でしょうね。
    • good
    • 1

昔のVBのイメージが未だに根強く残っている、のかも。


以前のVBは、本当にダメな言語だったから。まともなEXEは作れず、動作速度も遅い。言語設計も古臭くオブジェクト指向にすら未対応。そして、何をやってもランタイム、ランタイム! バージョンが違うだけで別のランタイム。いくつも入れると今度はDLLどうしがぶつかる「DLLヘル(地獄)」という恐ろしい状況に。とにかく思い出すだけでげんなりする言語でした。長所は、ただ「とっつきやすい」だけ。が、とっつきやすくても、本格的に使い出すと途端に問題が噴出するので決してビギナーにもすすめられなかった。

が、今のVB(VB .net)は、きれいにオブジェクト指向に整理されて格段によくなった。まぁ、その代わりに、ちょっと難しくなってしまったのだけど、これなら本格的に使いこなせるし、ビギナーにも十分すすめられる。今のVB .netは、個人的には、Windowsでアプリを作るのが目的なら、かなりなおすすめ言語じゃないかと思う。

VBといっても、こんなふうに旧VBとVB .netはまったく別のモノなので、そのへんをしっかり理解したほうがいいかも。両者をごっちゃにして、ただ「VB」といってる人は、「そもそもVBをよくわかってない人」と思って話半分に聞いたほうがいいでしょう。
    • good
    • 1

C++などに比べ、細かいことができないからだと思います。


職業でプログラムを作っている人はそう感じるのです。
    • good
    • 1

BASICは下等だと馬鹿にしているが


アッセンブラは難しい
そこで中道を行くのです
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング