トップページ⇒tech
303コメント86KB

VB.NETのとんでもない欠陥に気づいた

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/05/10(水) 04:08:25
For i = 0 To 100
Dim x As Integer
Next i


100こう書くと、100回同じ変数を宣言してる事になるのに、問題なくデバッグ通る。
しかも変数使っても問題なく動く


なんだこのバグ言語
01520.0.0.02008/09/11(木) 19:19:28
>> 150
どうなるか教えて。
0153デフォルトの名無しさん2008/09/12(金) 22:35:43
スタックに置かれた未初期化の変数が不定って常識じゃね?
0154デフォルトの名無しさん2008/09/12(金) 22:41:43
そういう問題と違うよ。
0155デフォルトの名無しさん2008/09/12(金) 22:44:48
分からないなら書くなよ。
0156デフォルトの名無しさん2008/09/12(金) 22:50:50
  __
(0)^o^ ) トイレットペーパー
  |  ̄ |
  | こ |
  | こ |
  | に |
  | 書 |
  | い |
  | と |
  | け |
  | 。 |
  |   |
  ~~~~
0157デフォルトの名無しさん2008/09/12(金) 23:01:20
>>155
分かってないのはお前さんだろw
だから>>151に書いた通りだよ。

VBでは通常
Dim x as Integer
は
Dim x as Integer = 0
と等価なんだが、ループ等(恐らくgoto使った場合でも)でメソッドを抜ける前に
もう一度実行された場合はnopになる。
0158デフォルトの名無しさん2008/09/12(金) 23:41:05
ttp://okwave.jp/qa270554.html?ans_count_asc=2
0159デフォルトの名無しさん2008/09/12(金) 23:45:57
1から101まで表示された
0160デフォルトの名無しさん2008/09/12(金) 23:54:28
スコープやばい
0161デフォルトの名無しさん2008/09/13(土) 01:21:50
158
0162デフォルトの名無しさん2008/09/13(土) 01:55:24
>157 >159 それは驚異的な結果だ
0163デフォルトの名無しさん2008/09/13(土) 07:58:20
BASICの仕様だから仕方ないよ
0164デフォルトの名無しさん2008/09/13(土) 20:54:43
Optionなんちゃらで、未初期化変数へのアクセスを禁止する仕様を追加しても良いかもしれんね。
自動で初期化されてうま〜って単純な話だったら良かったのだけど。
0165デフォルトの名無しさん2008/09/13(土) 21:26:26
>>163
QuickBasicのだろ
0166デフォルトの名無しさん2008/09/13(土) 21:34:07
俺はVB6が開発に使われているって理由でVB.NETを切ったな。
技術者に余計な知識を与えたくないから。
0167デフォルトの名無しさん2008/09/13(土) 21:38:01
>>165
QBのころにブロックレベルで宣言できるローカル変数なんてないんじゃねえの?

この仕様って落とし穴だとは思うが別にレガシーなものじゃないと思うし、
好みの問題はあるけどそれほど奇妙な仕様とも思えんけど。
0168デフォルトの名無しさん2008/09/13(土) 21:51:43
仕事で引き継いだプログラムでshadowsが使われまくってて噴いた。
0169デフォルトの名無しさん2008/10/26(日) 04:51:49
>93
こいつ.NETが何なのか理解できてないぞ
0170デフォルトの名無しさん2008/10/29(水) 23:21:10
そんな昔のレスはどうでもいいって事がお前には理解できないのか?
0171デフォルトの名無しさん2008/11/09(日) 23:33:17
VB6互換ライブラリの存在や、OSのAPIに依存する部分が多すぎるのが
最大の欠陥だな。
.Net Frameworkさえ入っていれば動作はクライアント環境に依存しないという
触れ込みが幻想のものとなってしまったわけで。
0172デフォルトの名無しさん2008/11/10(月) 08:25:55
それが幻想のものでなかった時期って一瞬でもあったっけ?
0173デフォルトの名無しさん2008/11/10(月) 09:12:07
.NET 登場前の触れ込みなら
0174デフォルトの名無しさん2008/11/11(火) 01:10:11
2000年頃に言ってた.NET構想ってヤツだよ。
もはやVBのランタイムライブラリとなんら変わらない
位置付けのものでしかなくなってしまったが。
0175デフォルトの名無しさん2008/11/11(火) 01:26:19
Mono が頑張って Linux 版をつくってるとおもいます!
0176デフォルトの名無しさん2008/11/11(火) 22:16:31
>>174
凄い勢いで.NETのクロスプラットフォームアプリ増えてきてるじゃん
VBじゃなくC#で、だけど
ネイティブアプリよりも互換性問題は生じてない感じ(勿論問題の起きる機能の利用を避けてるんだろうが)
0177デフォルトの名無しさん2008/11/11(火) 22:40:51
>>176
そうなの?一番有名なアプリを教えてくれ
0178デフォルトの名無しさん2008/11/12(水) 00:13:06
>>177
一番有名なんて誰が決めるんだ…?
あとジャンルくらい指定しろよ

とりあえず最近よく紹介記事見かけるのはInkscapeとかPaint.NETとか。
0179デフォルトの名無しさん2008/11/12(水) 00:18:40
あ
inkscapeは違w

まぁsourceforgeでフィルタしてみて

あと、codeplexは開発者向けのプログラムばかりだから見ても参考にはならないかも
0180デフォルトの名無しさん2008/11/12(水) 00:40:16
>>178
俺が知りたいのは.NETで書かれたクロスプラットフォームアプリがどれだけ
増えてきているかという証拠だ。おまえが言ったことだ。だがおまえのそのレスは
なんだ。知りもしない事をよくもペラペラとシッタカできるもんだな。
お前には本当に失望した。
0181デフォルトの名無しさん2008/11/12(水) 03:56:25
対Java兵器という位置付けからして糞だわ
死ぬまで底辺争いしてろって感じ
0182デフォルトの名無しさん2008/11/12(水) 20:30:11
>>180
OpenSim
0183デフォルトの名無しさん2008/11/13(木) 16:08:34

                  /\
                /    \
              /  <●>  \     
            /            \     抹殺!
             ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
            ___________           
          //TTTTTTTTTTTTTTTTTT\
        /:::::/TTTTTTTTTTTTTTTTTTTTT\
      /:::::::::/TTTTTTTTTTTTTTTTTTTTTTTT\
    /:::::::::::::/TTTTTTTTTTTTTTTTTTTTTTTTTTT\
  /:::::::::::::::::/TTTTTTT  M D C C L X X V I TTTTTTT\             

   N O V U S   O R D O  S E C L O R U M
0184デフォルトの名無しさん2008/11/17(月) 23:27:38
これからはXMLだと散々騒いでみたが企業間のEDIでは全く流行らず、
結局駆逐できなかった固定長ファイルの読み書きをまともにサポートするのは
何時ですか?
0185デフォルトの名無しさん2008/11/18(火) 00:47:46
うちはXML使いまくってる。
逆に固定長ファイルなんてここ数年見たことがない。
よかったな!いつかそういう日もくるさ。
0186デフォルトの名無しさん2008/11/18(火) 00:54:26
ホストと連携している様なシステムはXMLでは難しいな
オープン系ならガンガン使うけど
0187デフォルトの名無しさん2008/11/19(水) 01:11:22
よく勘違いしているヤツがいるが、日本は実はITS先進国。
共通仕様が立ち上がるまえに各々で大規模なシステム構築してしまった
のが原因で、なかなか過去の資産が捨てきれない状況。
ホストなんかあと20年はなくならないだろう。
0188デフォルトの名無しさん2008/11/27(木) 18:44:40
「Microsoftのバグ」との戦い
http://itpro.nikkeibp.co.jp/article/COLUMN/20080819/312956/

題名に気をつけていただきたい。
「Microsoftのバグとの戦い」ではない。
「Microsoftのバグ」との戦いだ。
つまり「これはMicrosoftのバグだ!」という言いがかりとの戦いである。
0189デフォルトの名無しさん2008/11/27(木) 19:17:49
コピペ君って馬鹿だな、まで読んだ。
0190デフォルトの名無しさん2008/11/27(木) 19:38:08
>>188

もちろん私も解析の結果Microsoft製品のバグだったトラブルを多数見てきたこともあるが,正直言ってそんなのはWindows上で見てきたトラブルの5%も無い。
⇒確かに明らかなバグでもマイクロソフトがバグと認める確立は5%程度ですね。

Visual Studioってさ,Eclipseより重たくて使いものにならないよ。落ちない分,VSがマシかな〜。
⇒大きなプロジェクトだと普通に落ちたり、コンパイラがクラッシュしますが??
0191デフォルトの名無しさん2008/11/27(木) 22:58:20
懐かしいなあ。
0192デフォルトの名無しさん2008/11/28(金) 10:19:50
VSが重い…?
0193デフォルトの名無しさん2008/11/28(金) 10:26:52
V$6は軽いお
0194デフォルトの名無しさん2008/11/29(土) 00:17:17
2003と2005はデブスだよ。同じブスでも妹の2008は軽いらしい。
0195デフォルトの名無しさん2008/11/30(日) 14:23:58
>>188
世界中でマイクロソフト製品のバグのために余計にかかった
調査や問題回避のための費用はいくらぐらいになるんでしょうか?
0196デフォルトの名無しさん2008/12/01(月) 08:46:10
バグの話はないが、そういう論調はないことはない。

世界中のWindows再インストールの時間を集計した経済損失は、
M$の収益を超えるのでわ?
と言われている。
0197デフォルトの名無しさん2008/12/01(月) 17:47:12
(抹殺されます。)
0198デフォルトの名無しさん2008/12/01(月) 20:53:27
国が無駄使io@kl;.
0199デフォルトの名無しさん2008/12/02(火) 21:31:30
IISの下で、.NET 3.5 SP1はWPFの使用を中断する。WPFを使用して、Webサイト向けにリアルタイムでイメージを生成したと思われる。残念ながら、ISSの下ではもはやWPFは機能しない。
問題 361469
0200デフォルトの名無しさん2008/12/02(火) 21:58:24
そりゃ宇宙での運用は想定外だろうさ
0201デフォルトの名無しさん2008/12/26(金) 12:59:49
web系が流行ればクロスプラットフォームなんかどうでもいいな

業務系は.netべったりでいいし

メインフレームとかibmのsシリーズ?だっけ?
あのあたりでjavaが使えてればいいんじゃね?
0202デフォルトの名無しさん2009/05/08(金) 19:50:30
スタック領域をビルド時に指定するか、標準モジュールとかコードの先頭で、メモリマップの指定が
できなきゃ、機能アップするたびにヤバクなるだけだわな。
昔と違って搭載メモリが桁が違ってるのだから、いつまでもスタックを拡大できないのはおかしいよ。
マイクロソフト、根本的に考えがおかしい。
FREE関数とかで、メモリの状態は見れるようにしておけばおおだけだから、かって
そのほうが、初心者は、プログラムを理解しやすくなる。
昔のFBASICは、その点、わかりやすかったな。だから業務用の開発できた。

だけど、こんなメモリ制約の地雷があちこちに隠されているんじゃまったくの
、遊びでしか使えないよ。
マイクロソフト、「初心者でもわかりやすく」の美名の下に改善努力をごまかしてるだけ。
0203デフォルトの名無しさん2009/05/08(金) 19:53:29
関数は、プログラマーが自分で造ればいいわけだから、メモリマップの強化さえ
はかれれば、まったく違った世界が開けるのに、なんでやらないのかね?
0204デフォルトの名無しさん2009/05/08(金) 20:09:50
ヒント:厨
0205デフォルトの名無しさん2009/05/08(金) 20:33:56
このスレが上がってくるたびに、笑いそうになる
0206デフォルトの名無しさん2009/05/08(金) 20:47:29
↓スタックの意味すらわかってない、こいつらこそ厨

204:デフォルトの名無しさん:2009/05/08(金) 20:09:50
ヒント:厨
205 :デフォルトの名無しさん:2009/05/08(金) 20:33:56
このスレが上がってくるたびに、笑いそうになる
0207デフォルトの名無しさん2009/05/08(金) 20:50:58
>>190
たぶんスタックのオーバーフロー
そもそもマイクロソフトはpc用でos始まってるから、スタック領域での
思想が、怖くなるほど小さい。
0208デフォルトの名無しさん2009/05/08(金) 20:56:23
c++場合は、スタック領域を設定できるからいいけどな。
0209デフォルトの名無しさん2009/05/08(金) 20:59:31
だからプロはvbを使わない。業務ソフトでマイクロソフトのbasicを
使うっていうのは「無責任」っていうことだよ。
0210デフォルトの名無しさん2009/05/08(金) 21:06:48
どんなにvbが機能アップして「便利」になったように見えても、スタック領域の
システムによる独占管理思想が反省して改善されないかぎり、経済行為をする社会人
として信用を失いたくなければ、業務では決してvbを使ってはならない。
スタックの問題は「技術」の問題でなく、経済人としての信用問題なんだ。

それを「技術」の問題として固執してるマイクソソフトは根本的に間違ってる。
0211デフォルトの名無しさん2009/05/08(金) 21:24:50
Java でも C++ でも

for (int i = 0; i < 100; i++) {
  int x;
}

とか普通にできるけど、これは欠陥じゃないん?
0212デフォルトの名無しさん2009/05/09(土) 20:36:46
インストーラーから何から、バグだらけ。とても仕事には怖くて使えない。
0213デフォルトの名無しさん2009/05/09(土) 20:50:33
>>212
マジでかー、バグだらけの詳細きぼんぬ
0214デフォルトの名無しさん2009/05/09(土) 21:43:41
VB.NETに着いていけないから 取り合えず批判してる恥ずかしいオッサン
取り合えず 「バグだらけ」 と言ってるだけ、放っておけ
0215デフォルトの名無しさん2009/05/09(土) 21:52:24
まったくどうにもならない会社だな。盗人猛々しい。
ろくすっぽ検査もせず、世界中の数百万のユーザーを騙して、テスターとして「ただ働き」
使うこと味しめいい気になってやがる。

VB2008オプションで、SHOWGRIDでTRUEにしても、グリッドが現れない。
バグだろうが。COMグリッドファイルよ読めないからビルドできない。
これがユーザーの責任か?
VS6では表示されるのだ。GRIDが表示されないのはバグだろうが。
インストールソフトのバクが、ビルドでのバグ。
0216デフォルトの名無しさん2009/05/09(土) 21:56:13
↓これもCOMを参照にいってエラー起きてる。外国で報告されてるバグじゃないのか?

http://social.technet.microsoft.com/Forums/ja-JP/whatforum/thread/987e92eb-1f20-4ca9-a4d4-318b1602209c
0217デフォルトの名無しさん2009/05/09(土) 22:12:37
だいたいだな、竹島を、韓国領とかって言い出してるのがマイクソソフトだ。
テメーラの手抜き仕事をごまかすために、日本人を「大会社」という威圧で
抑圧しはじめてる。あまつさえ、日本の義務教育の学校、生徒たちを「人体実験」
に利用しようとしてるのだ。
だめだ。この会社、もう許せん。あんな傲慢な工作員使って、国民を貶めてるかぎり
許してはならない。

韓国の領土侵略に加担する一方、日本の義務教育学校、子供たちを生体実験に使う
権暗黒独裁のマイクソソフトは、この際、徹底的に糾弾すべし。

首相官邸通報受先。
https://www.e-gov.go.jp/policy/servlet/Propose
FAX:03-3581-3883
0218デフォルトの名無しさん2009/05/09(土) 22:27:48
こういうイっちゃってる人って居るんだね。
DQNより怖い。
0219デフォルトの名無しさん2009/05/09(土) 22:38:56
通報先
自民党
http://meyasu.jimin.or.jp/cgi-bin/jimin/meyasu-entry.cgi
fax:03-5511-8855
0220デフォルトの名無しさん2009/05/09(土) 22:40:57
通報先
公明党
https://www.komei.or.jp/contact/index.html

0221デフォルトの名無しさん2009/05/09(土) 22:42:47
通報先
民主党
http://www.dpj.or.jp/header/form/index.html
fax:03-3595-9961
0222デフォルトの名無しさん2009/05/09(土) 22:46:41
わが国の領土を侵略し、糞バグだらけのプログラミング言語を世界に撒き散らして
人件費節約を妨害している、舞糞ソフトは、この際、徹底的に糾弾すべし。
0223デフォルトの名無しさん2009/05/09(土) 22:58:53
その前にお前が作ったバグ潰せよw
0224デフォルトの名無しさん2009/05/09(土) 23:25:11
まったく、傲慢な奴等だな、舞糞そふと。
FORMのプロパティーにも「グリッドの項目」が出てこないのシステムのバグだろうが。
たぶん、アップグレードソフトのバグ。前のバージョンのFORMのグリッドデータを読めない
バグだ。VS6できっちり動いて、グリッドもきっちり表示され、ビルドすればきっちり
動いてるものがなんで「バグ」なんだ?
そもそも、アップグレードの最中も、ビルドをかける前にも、システムとしてグリッド表示が
できないとういことを、何も注意喚起しないのは、システムつくった奴が「そんなことはありえない」
という前提だからだろうが。頭が悪い奴だからだ。ビルド以前の問題だよ。
プロパティーで設定しようがないんだから。
↓独裁者と同じ、無謬観で頭が悪い「神の座にいるつもり」になってる最悪の奴

>223 :デフォルトの名無しさん:2009/05/09(土) 22:58:53
>その前にお前が作ったバグ潰せよw
0225デフォルトの名無しさん2009/05/09(土) 23:27:34
教えられても調べもせず、事実を確かめようとしない会社は、明らかに詐欺商法だ。
0226デフォルトの名無しさん2009/05/09(土) 23:31:53
そんな女みたいにグチグチ言ってねーで、Javaでもやってろよ
0227デフォルトの名無しさん2009/05/09(土) 23:35:10
↓在日くさいな。マイクソの工作員。詐詐欺欺師は都合悪くなると、話をそらす


226 :デフォルトの名無しさん:2009/05/09(土) 23:31:53
そんな女みたいにグチグチ言ってねーで、Javaでもやってろよ
0228デフォルトの名無しさん2009/05/09(土) 23:37:14
マイクソ関連スレ住人は舞糞らしく糞ばっかだな。
0229デフォルトの名無しさん2009/05/09(土) 23:41:03
お前病んでるなー、仕事で VB.NET 以外で何使ってんの?
0230デフォルトの名無しさん2009/05/09(土) 23:41:31
売国マイクソ、いい気になりすぎ。
だいたいあ2003-2005-2008って、日本を舐めきってる。
0231デフォルトの名無しさん2009/05/09(土) 23:48:43
俺は、プログラムが仕事じゃない。まったく別商売。
遊びで組んでるだけ。
0232デフォルトの名無しさん2009/05/09(土) 23:50:30
売国企業の製品つかってヘコヘコしていい気になってるおまえらの脳味噌が
腐ってんだ。
0233デフォルトの名無しさん2009/05/09(土) 23:59:24
>>232
まぁ、オレは仕事上で使うから しょうがなく使ってんだけどね
お前は何の言語にヘコヘコしてるの?
0234デフォルトの名無しさん2009/05/10(日) 00:27:23
なんだよ、答えられねーのかよ
アンチもアンチで口ばっかりのカスだな
0235デフォルトの名無しさん2009/05/11(月) 23:28:21
重すぐる
0236デフォルトの名無しさん2009/05/12(火) 10:20:05
PC買い替えれ。
0237デフォルトの名無しさん2009/05/17(日) 21:21:31
あ
0238デフォルトの名無しさん2009/06/21(日) 10:51:33
会社でVB.NETの使用をやめさせて、
せめてC#に移行させたいんだが、何かいい文句はないものか。

暗黙の型変換とかがバグの温床に実際になってるのに、
上司はそれはマがきっちりしてないからだという認識。
それはそれで正しいが、クビに出来ない以上、
言語側である程度整合性を取ってくれる方が安全弁になるのに。
おまえがVBしか書けないから違うんかと。
(向こうは向こうで俺のことを「VB嫌いなだけと違うんか」と思ってるだろうが)
0239デフォルトの名無しさん2009/06/21(日) 15:23:17
vb.netってide側で暗黙の型変換禁止できなかったっけ?

0240デフォルトの名無しさん2009/06/21(日) 15:52:42
Option Strict ONは提案しましたが、
まぁそもそも暗黙の型変換を
「柔軟」と受け取られているので却下されました。
で、そうすると、こちら側から提案できるVBのここがダメポイントは
構文がキモイとか、遅いとか、MyとかCIntの挙動がキモイとか
その辺になってしまって、それでここに書き込んでみた次第。
0241デフォルトの名無しさん2009/06/22(月) 10:11:48
コンパイル“前”に型の不一致を検出してくれることで
早い段階でのケアレスミス防止になるってのに
それすら却下するようじゃ C# に移行とか尚更無理っぽ。
0242デフォルトの名無しさん2009/07/23(木) 15:00:25
バグがあれば直せばいいんだからそんな細かいこと気にするな
0243デフォルトの名無しさん2010/03/04(木) 12:04:29
「バグの温床になっているに決まってるというのに!」
(実際はそうではない。ただの思い込み。)
0244デフォルトの名無しさん2010/04/06(火) 23:39:01
>>238
VB.NETのプログラムたくさん見てきたが、暗黙の型変換に起因するバグなんて
5%にも満たないよ。
ロジックミス、仕様誤解、実装漏れ、考慮漏れ、コピペミスがほとんどなわけで
言語とか関係ないでしょ。
VBの最大の問題点は、スキルが低い人でも複雑で巨大なプログラムを書けて
バグりながらもなんとなく動いてしまうことだろう。
0245デフォルトの名無しさん2010/04/10(土) 00:22:21
 VB潜水艦 急浮上!! 

 笑え!
0246デフォルトの名無しさん2010/04/10(土) 18:43:05
会社とかだったら確実にOption Strict Onだな。
Offの利点はレイトバインドができることぐらい。
0247デフォルトの名無しさん2010/04/10(土) 18:46:53
VB.Netは遅くはないだろ。結局キモイってことだけが理由っての
上司も見抜いてるんだろ。バカなやつだ。
0248デフォルトの名無しさん2010/04/10(土) 19:24:34
>>244
同意。VBはVB6時代の負の遺産を受け継いでるってのが
すごいマイナス。

2ちゃんでは「VBはダサい」「VBは遅い」というのが
一般論になってるみたいだけど、ほとんどの人は根拠が
全く分かってないと思う。
0249デフォルトの名無しさん2010/04/11(日) 11:36:14
Dim val as integer

C言語とかC#ならint val;
で終わるのになにこれ?インテリ使っても何万行も書かなきゃいけないなら一文がたった数単語長くなっただけでも何万単語も増えて非効率的すぎる。

{
}
でいい部分もend subとかつけなきゃならんし。クソ言語すぎるだろ。
0250デフォルトの名無しさん2010/04/11(日) 14:15:00
end sub
とか
end function
がぎりぎり許せても
戻り値を返すのに
関数名=hogehoge
見たいに書くのは間抜け
特に関数途中で戻り値持って抜け出すときに普通は
return hagehage
で済むのに
関数名=hagehage
exit function
とかもうあほかとばかかと
0251デフォルトの名無しさん2010/04/11(日) 14:18:35
>>250
それVB.NETじゃないだろうw
0252デフォルトの名無しさん2010/04/11(日) 14:26:03
というか、いつの間にC#との比較になったのか知らないけど
C#とVBと両方やるとコードはたいがいVBの方が読みやすいよマジで。

もちろん例外はある。
ジェネリックとかAddressOfとか鬱陶し過ぎるし、配列については.NETになった時点で
C#と同じにしておいた方が良かった。
■ このスレッドは過去ログ倉庫に格納されています