アカウント名:
パスワード:
なんでこんなに嫌われてるんでしょうね。取っつきやすい言語だと思うんですが。
私の偏見ではVBしか扱えない開発者の質が低すぎる。他の言語を使ったことがない、使おうとしても理解できない、そんな開発者がまともなコードを吐けるわけがない。
VBしか扱えない開発者っていうのは大半が
”VBすらまともに扱えていない”
のが事実かと…
特定の言語しか使えない(『使わない』ではない)奴が役に立たないのは、VBに限ったことじゃないだろ。
私の偏見では日本語しか扱えない開発者の質が低すぎる。他の言語を使ったことがない、使おうとしても理解できない、そんな開発者がまともなコードを吐けるわけがない。
Lispだったら?Prologだったら?# そんなの見たことない。
アセンブラだったら?# 絶滅危惧種?
アセンブラも言語だよ
つまりコンパイラも言語と?
本来、パフォーマンスは高いツールだと思います。かつては素晴らしいものだったといっていい程に。自分がストレスを感じるのは・もっとハイカラな言語を知っていて、VBの言語仕様ではその代替案も実現できないような時・VBのスケールに合わない実装をとにかくVBで求められる時・出来の悪すぎるプログラム(VBはやはり多いみたい)のメンテナンスを強いられる時・VB.netはCLIに合わせすぎて誰に優しくしたいのかよく分からんこんなところでしょうか。
VB6(非.Net)で、めんどくさい事をやれと言われた時に、VB6に殺意を覚えるのは共感できますね。ただ、小規模な開発だったり、既存システムの運用のためのツールなど、GUIが必要で簡単な代物などを作るには便利ですよね。
結局は、道具の一つなんだから適材適所でしか無いのですよね…。
取っつきやすい程度のことをやるには便利な言語だが、いまだにBASICで実務の開発をやってるのは限界を超えて大規模化してしまって、他の言語で作り直すのもままならなくなったようなシステムばかりだからじゃないか?#便利だからうちでもこまごましたツール開発にまだBASIC使ってるよ!
昔はともかく今のVBってC#の構文違いなんだからいくらでも大規模な開発は可能な気がするんだけど……
昔のVisualBasic6でまだ開発しているところもあるんですよ!
#ええ、ウチです。なんでWindows8でも動いてしまうんだか。
林檎教徒によるとWindowsって互換性が低いはずなんだがなぁww
C#ではなくVBを採用してる時点で推して知るべしです。今時VBを選択する理由なんてほとんどないんですから。まともな検討もされずに、カンタンそうだからって選ばれてるのが大半でしょ。怖い怖い。
うん、VB.netならC#と大差ないとは思うんだけど、だったらVBである必要性ってないよね・・・。VB6エンジニアが大勢居たので慣れの問題で~、とかはまあ分からなくもないけど。でもVB6からもう随分たってるわけだし、そもそもVB6→VB.netは別物といえるぐらい変更点あるし、どうせ.netやるならC#の方が機能充実してるしで、あえてVBを採用する理由はもはや皆無というかなんというか。
# VB嫌いなのでたぶんバイアス掛かってます。VB6でいろいろあったんだよ!
VBがC#やJavaよりもさえている1つの事例 [atmarkit.co.jp]
確かに言語仕様レベルでは、VBが他の言語より優れている点が多々あります。ですが、VBの最大のデメリットは歴史的事情によるダメエンジニアが多い点なのです。。。VBを避けるのは、ハズレを引いてしまう可能性を下げるということなんです。
VBかC#かのどちらを採用するか検討する事自体がナンセンスなんですよね。VBの方が有利なケースはかぎられてるので、必然的にどちらかに決まるんですから。特に、エンジニア側が「VBしかできない」と言ってる場合、他のコメントにもあるように、VBでもできないことが多い。まともなVBエンジニアは、C#も使いこなせますからね。
ある時、手が回らなかったので、
コマンドラインでファイルを指定して、C++で書かれた外製のライブラリを呼び出してファイルの中身を渡して結果を受け取って標準出力へ出力するだけのプログラムを(他の部分をC#で作ってたので) C#で作ってと頼んだら、VB.NETでなら出来ますけどって回答を貰ったことが。# 依頼時点で可否判断のため、処理の概要とライブラリのリファレンスと使う関数は提示済
最終的にコマンドを呼び出す形で全体に組み込む予定でVB.NETでも特に問題無いので、不安を覚えつつもそれで進めて貰ったところ、
そもそもDeclareの仕方を知らない。ライブラリのリファレンス
C++のコードを呼び出す機能はVBの機能の中でもマイナーなので、VB.NETが使えるという人の中でもできない人は多いのではなかろうか。
冗談は顔だけにしてくれ
みんなに嫌われているわけではないですよ。一部の感情的に嫌っている人があたかも「こんなに嫌われている」と言っているだけ。 VB以前のモダンでないBASICのトラウマから抜け出せないそんな人たちに。別のコメントにあるように、まともに作れない人が言語のせいにしているのはあるかな? VBはとっつきやすいだけでなく、フレームワークや部品をちゃんと用意すれば生産性や品質の良いシステムを比較的簡単に作れるが、それをしない現場も有るので。
>フレームワークや部品をちゃんと用意すれば今はどうかしらないけど、VB.net以前の頃(VB5とかVB6とか?)はそのフレームワークや部品を使うのにいちいちレジストリ登録とか必要だったり、開発で何度か差し替えると希にわけのわかんない状態になってDLLを呼び出すのに失敗するようになったり、異なるベンダどうしで一種類のクライアントPCにあれこれ自分たちが必要な環境を登録してたら意味不明の挙動をするようになったりとひどいもんだったんだよ。
当時VBに関わっていた者は、今でもDLLを見るとひどくおびえて意味不明の言葉をつぶやきだすんだ。恐ろしいことだよ。
まあ、こういうモダンでない状態でのトラウマから抜け出せないそんな人たちがいるわけです。ちゃんとした事ができない現場では仕方ありません。VBが悪いと愚痴るしかできないのです。DLL地獄はVB由来ではありません。だいたいなんでレジストリをいじるのでしょうか?もしかして、VBソースにAPIの宣言を直接書くとか間抜けなことをしていましたか?
VB・レジストリって言えばOCXに決まってるじゃないか
レジストリの登録とか難しかったのは確かですが意味不明ではなかったです。ほとんどは開発者のスキル不足です。VB技術者はたくさんいたけどCOMやDCOMまで理解してた人はどのくらいいたのか。
「取っつきやすい」→ まともなプログラミングできないようなユーザも多数いる
ってことかもよ。だからろくでもないコードが一杯あって見る方が苦労する、と。
VB(.netに限る。VB6以前は除外)ってとっても良い言語だと思います。C(及びC由来の文法を持つ言語)に比べると、確かに記述は冗長になりますが。
VB.NETの重大な欠陥はOption ExplicitOption Strict等をOffに出来ること。
何故かVB.net2005で復活した暗黙のフォームインスタンス。
これらがバグや実行時エラーを引き起こすトリガの大半を占めてる。でも逆に言えば、上記の事が取っつき易さに繋がっているのもまた事実…
インデックスが0から始まるのか1から始まるのか解りづらい。ライブラリの問題かもしれないが、そもそも言語仕様からしてどっちつかずだからなぁ
#2468101が指すVBは全部0開始ですよ。(Excelとかのオートメーションとかはともかく)配列初期化時の要素数だけはなんとも直感的じゃないですが。// 要素数0として配列を初期化するのには-1を指定するという…。
VBで書くんじゃねぇ。VBのCodeを吐くCodeを書けば大分楽になる。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
Visual Basic (スコア:0)
なんでこんなに嫌われてるんでしょうね。
取っつきやすい言語だと思うんですが。
Re:Visual Basic (スコア:1)
私の偏見ではVBしか扱えない開発者の質が低すぎる。他の言語を使ったことがない、使おうとしても理解できない、そんな開発者がまともなコードを吐けるわけがない。
Re:Visual Basic (スコア:4, 興味深い)
VBしか扱えない開発者っていうのは大半が
”VBすらまともに扱えていない”
のが事実かと…
Re: (スコア:0)
ほんとコレ。
「VBならできますけど」
できてねー!
オブジェクト解放してねー!
イベントつかえてねー!
ていうかVB6でももっときれいなコードかけるから!VBなめんな!!
Re: (スコア:0)
特定の言語しか使えない(『使わない』ではない)奴が役に立たないのは、
VBに限ったことじゃないだろ。
Re: (スコア:0)
私の偏見では日本語しか扱えない開発者の質が低すぎる。他の言語を使ったことがない、使おうとしても理解できない、そんな開発者がまともなコードを吐けるわけがない。
Re:Visual Basic (スコア:1)
Lispだったら?
Prologだったら?
# そんなの見たことない。
アセンブラだったら?
# 絶滅危惧種?
Re: (スコア:0)
「アセンブラは言語ではない」
Re: (スコア:0)
アセンブラも言語だよ
Re: (スコア:0)
つまりコンパイラも言語と?
Re:Visual Basic (スコア:1)
本来、パフォーマンスは高いツールだと思います。かつては素晴らしいものだったといっていい程に。
自分がストレスを感じるのは
・もっとハイカラな言語を知っていて、VBの言語仕様ではその代替案も実現できないような時
・VBのスケールに合わない実装をとにかくVBで求められる時
・出来の悪すぎるプログラム(VBはやはり多いみたい)のメンテナンスを強いられる時
・VB.netはCLIに合わせすぎて誰に優しくしたいのかよく分からん
こんなところでしょうか。
Re: (スコア:0)
VB6(非.Net)で、めんどくさい事をやれと言われた時に、VB6に殺意を覚えるのは共感できますね。
ただ、小規模な開発だったり、既存システムの運用のためのツールなど、GUIが必要で簡単な代物などを作るには便利ですよね。
結局は、道具の一つなんだから適材適所でしか無いのですよね…。
Re: (スコア:0)
インテリセンスもおそらく最初はVBだったと思うし、
開発パフォーマンスはほんとに高かったと思います。
継承/インターフェースと関数オブジェクトがあればいう事なかったんですが。
(使えない)インターフェースの存在は知ってます。AddressOfでコールバックに引き渡せるのも知ってます。
でもそれじゃ足りないの・・・。
Re: (スコア:0)
取っつきやすい程度のことをやるには便利な言語だが、いまだにBASICで実務の開発をやってるのは限界を超えて大規模化してしまって、他の言語で作り直すのもままならなくなったようなシステムばかりだからじゃないか?
#便利だからうちでもこまごましたツール開発にまだBASIC使ってるよ!
Re: (スコア:0)
昔はともかく今のVBってC#の構文違いなんだから
いくらでも大規模な開発は可能な気がするんだけど……
Re:Visual Basic (スコア:1)
昔のVisualBasic6でまだ開発しているところもあるんですよ!
#ええ、ウチです。なんでWindows8でも動いてしまうんだか。
Re:Visual Basic (スコア:1)
林檎教徒によるとWindowsって互換性が低いはずなんだがなぁww
Re: (スコア:0)
C#ではなくVBを採用してる時点で推して知るべしです。
今時VBを選択する理由なんてほとんどないんですから。
まともな検討もされずに、カンタンそうだからって選ばれてるのが大半でしょ。
怖い怖い。
Re: (スコア:0)
うん、VB.netならC#と大差ないとは思うんだけど、だったらVBである必要性ってないよね・・・。
VB6エンジニアが大勢居たので慣れの問題で~、とかはまあ分からなくもないけど。
でもVB6からもう随分たってるわけだし、そもそもVB6→VB.netは別物といえるぐらい変更点あるし、どうせ.netやるならC#の方が機能充実してるしで、あえてVBを採用する理由はもはや皆無というかなんというか。
# VB嫌いなのでたぶんバイアス掛かってます。VB6でいろいろあったんだよ!
Re:Visual Basic (スコア:1)
VBがC#やJavaよりもさえている1つの事例 [atmarkit.co.jp]
Re: (スコア:0)
確かに言語仕様レベルでは、VBが他の言語より優れている点が多々あります。
ですが、VBの最大のデメリットは歴史的事情によるダメエンジニアが多い点なのです。。。
VBを避けるのは、ハズレを引いてしまう可能性を下げるということなんです。
Re: (スコア:0)
VBかC#かのどちらを採用するか検討する事自体がナンセンスなんですよね。
VBの方が有利なケースはかぎられてるので、必然的にどちらかに決まるんですから。
特に、エンジニア側が「VBしかできない」と言ってる場合、他のコメントにもあるように、VBでもできないことが多い。
まともなVBエンジニアは、C#も使いこなせますからね。
Re: (スコア:0)
ある時、手が回らなかったので、
コマンドラインでファイルを指定して、C++で書かれた外製のライブラリを呼び出して
ファイルの中身を渡して結果を受け取って標準出力へ出力するだけのプログラムを
(他の部分をC#で作ってたので) C#で作ってと頼んだら、
VB.NETでなら出来ますけどって回答を貰ったことが。
# 依頼時点で可否判断のため、処理の概要とライブラリのリファレンスと使う関数は提示済
最終的にコマンドを呼び出す形で全体に組み込む予定で
VB.NETでも特に問題無いので、不安を覚えつつもそれで進めて貰ったところ、
そもそもDeclareの仕方を知らない。
ライブラリのリファレンス
Re:Visual Basic (スコア:1)
きっとCOMオブジェクトを参照設定に追加してやるつもりだったんだろうなぁ。COMがなにかも知らずに。
ていうかDLL=COMだと思ってるのが多い。
Re: (スコア:0)
C++のコードを呼び出す機能はVBの機能の中でもマイナーなので、
VB.NETが使えるという人の中でもできない人は多いのではなかろうか。
Re: (スコア:0)
マイナーってことはないだろう。
ページ見てコピペしかしてない人が多いだろうことは認めるけど。
Re: (スコア:0)
ExcelオートメーションとかはCOMで仕方ないけど。
いまだにReturnが一個もないとか、On Errorとか、shared(static)いっぱいとか、VBAで頑張れと言いたくなる。
これが言語? (スコア:0)
冗談は顔だけにしてくれ
Re: (スコア:0)
みんなに嫌われているわけではないですよ。
一部の感情的に嫌っている人があたかも「こんなに嫌われている」と言っているだけ。 VB以前のモダンでないBASICのトラウマから抜け出せないそんな人たちに。
別のコメントにあるように、まともに作れない人が言語のせいにしているのはあるかな? VBはとっつきやすいだけでなく、フレームワークや部品をちゃんと用意すれば生産性や品質の良いシステムを比較的簡単に作れるが、それをしない現場も有るので。
Re: (スコア:0)
>フレームワークや部品をちゃんと用意すれば
今はどうかしらないけど、VB.net以前の頃(VB5とかVB6とか?)はそのフレームワークや部品を使うのにいちいちレジストリ登録とか必要だったり、
開発で何度か差し替えると希にわけのわかんない状態になってDLLを呼び出すのに失敗するようになったり、
異なるベンダどうしで一種類のクライアントPCにあれこれ自分たちが必要な環境を登録してたら意味不明の挙動をするようになったりと
ひどいもんだったんだよ。
当時VBに関わっていた者は、今でもDLLを見るとひどくおびえて意味不明の言葉をつぶやきだすんだ。
恐ろしいことだよ。
Re:Visual Basic (スコア:2)
そこは納期にも全く間に合わなくて、参加他社が手分けして引き取った物さ・・・・。
Re:Visual Basic (スコア:1)
まあ、こういうモダンでない状態でのトラウマから抜け出せないそんな人たちがいるわけです。
ちゃんとした事ができない現場では仕方ありません。VBが悪いと愚痴るしかできないのです。
DLL地獄はVB由来ではありません。だいたいなんでレジストリをいじるのでしょうか?
もしかして、VBソースにAPIの宣言を直接書くとか間抜けなことをしていましたか?
Re: (スコア:0)
VB・レジストリって言えばOCXに決まってるじゃないか
Re: (スコア:0)
レジストリの登録とか難しかったのは確かですが意味不明ではなかったです。
ほとんどは開発者のスキル不足です。
VB技術者はたくさんいたけどCOMやDCOMまで理解してた人はどのくらいいたのか。
Re: (スコア:0)
Re: (スコア:0)
「取っつきやすい」
→ まともなプログラミングできないようなユーザも多数いる
ってことかもよ。だからろくでもないコードが一杯あって見る方が苦労する、と。
Re: (スコア:0)
VB(.netに限る。VB6以前は除外)ってとっても良い言語だと思います。
C(及びC由来の文法を持つ言語)に比べると、確かに記述は冗長になりますが。
VB.NETの重大な欠陥は
Option Explicit
Option Strict
等をOffに出来ること。
何故かVB.net2005で復活した暗黙のフォームインスタンス。
これらがバグや実行時エラーを引き起こすトリガの大半を占めてる。
でも逆に言えば、上記の事が取っつき易さに繋がっているのもまた事実…
Option Base のことも忘れないで下さい。 (スコア:0)
インデックスが0から始まるのか1から始まるのか解りづらい。
ライブラリの問題かもしれないが、そもそも言語仕様からしてどっちつかずだからなぁ
Re: (スコア:0)
#2468101が指すVBは全部0開始ですよ。(Excelとかのオートメーションとかはともかく)
配列初期化時の要素数だけはなんとも直感的じゃないですが。
// 要素数0として配列を初期化するのには-1を指定するという…。
Re: (スコア:0)
暗黙のフォームインスタンスはほんといらない機能ですね。
うちはMyオブジェクト削除してるので大丈夫ですけど。
ていうかMyもやめて欲しい(こっちは便利だって言う人もいますが、C#に移りにくくなると思うので)。
Re: (スコア:0)
VBで書くんじゃねぇ。
VBのCodeを吐くCodeを書けば大分楽になる。