VisualBasic6.0 対 VisualBasic .NET 2003
■ このスレッドは過去ログ倉庫に格納されています
今まで、VisualBasic6.0で開発をやっていて、VisualBasic .NET 2003の開発をやる羽目になったが、 慣れのせいか、生産性・コーティング・エディタの使いやすさ、のどれを取っても 昔のVisualBasic6.0の方が上だ! 2003で開発なんかやってたら時間が掛かり過ぎる! 私と同じ意見の人いませんか? コンポーネント指向と言う点で、VBとC#は似ている VBとかActiveXではコンポーネントが実質増えなかったし、 性能悪いし何より実行時に不安定だった。 VBの時代は終わった。 M$が逝うには、クラスベースのOOは派生必須だもんね。 .NET フレームワークに、C# からは使えるけど VB.NET からは使えない 機能というかオプションがあるのを見つけた時は、がっかりした。 @ITの記事はC#とVBのソースが併記してあってウザイ。 MSDNの記事はC#とVBのソースが併記してあってウザイ。 VBは激しく(゚听)イラネ VB.NETのコードだけ書いておけば良い まともなC#使いなら自分で読み替えられるから >>109 VS2005にはVB.NETにはあるけど、C#には無い機能が色々あってがっかりした。 C#せっかく覚えたのにな(T_T) だよね〜 だよね〜 言うっきゃ無いかもね そんな時にはね〜 >>112 その色々をもっと具体的に >>113 With .... End With ブロック。 ■ 明示的に区別されたIf, For, While, Select...Case などのブロックの「閉じ」構文。 ―― C系統の言語の{}は頭悪すぎ。無駄なことに思考力を使わせるな。 ■ 目立たず邪魔にならない注釈記号(') ―― C系統の言語の注釈は無駄に邪魔くさいんんだよ。/* ... */にしろ //にしろ。 ■ 参照設定しなくてもデフォで使えるVBランタイム機能。 ■ ユーザー定義イベントが簡単に使える。 >>113 Myが増えてる。 ローカルPCの良く使いそうな情報がプロパティひとつで取り出せる。 OOを無視したいかにもVBらしい機能♪ VS2003以前でC#にあってVB.NETに無かった機能も、VB.NET 2005ではほぼ網羅してるから C#いらね。 2003をやってる人はいいが、落ちこぼれな上、6.0→2005だと相当きついだろう。 VS2003に意義を見出そうと必死だな。 購入された場合でも棚に入ってそうだね。 >>114 閉じは常に } というのは何を閉じるのか意識する必要のあるVB系より単純だと思うが。 >>114 にはすべてVBのダメなところが書いてあるようにしか見えないんだが まああれだ、COMとのInterOpはブビのがラクだよな >>119 まあ余程簡単なコードしか書いたことのない人の意見なんだろうな。 一度書いたら二度と読み直すことがないような。 プログラム実習のでちょっとプログラム書いたことがある学生さんの意見としか思えん。 単純だからなんだというのだろう。 ブロックの終端が常に}と「単純」なC系統の言語では、 確かに対応する構文を意識する必要がない。コードを書く場面では。 (もっとも、こんなものは今日日IDEが自動的にやってくれるわけだが。) しかしコードを読む場面では、逆に}に対応するブロックの始まりが どのキーワードなのかを意識しなければならない。人間様が自分の脳のリソースを使って。 ちょっとネストが深いコードを読み返すとき、このことが どれほどストレスの源になることか。 VBやPascalのような言語の場合、こうしたストレスは完全にとまではいえないが Cに比べれば格段に緩和される。 注釈記号も、アセンブラを踏襲して素直にセミコロンにしとけば良かったのに なんであんな鬱陶しいブロックコメント形式なんかにしたんだろう。 >>123 C系の言語でブロックのネストがLispのカッコのように何段にもなるコードを 書くことは稀だし そういうのは大抵書き換えたほうがいいことが多いな ブロックは普通明示的に分かりやすくインデントするし たとえばvi系のエディタなら%つかえばカッコの対応なんぞすぐわかる ま、begin/end組に比べてCが「いかにタイプ量を少なく簡潔に」という方向で デザインされてるのは確かだな。でも、Cがこんだけ広まって皆それに 慣れており、誰も困ってないというのも実情だよ。 > With .... End With ブロック C#では明示的に除外された > C系統の言語の{}は頭悪すぎ。無駄なことに思考力を使わせるな。 お前はメモ帳でプログラムを書いているのか? それとストレスになるほど深いネストを書くお前が悪い。 > 目立たず邪魔にならない注釈記号(') 旧VBだと _ で折り返した行にコメントが書けないんですけどこれはどうすればいいでしょうか!!!! > 参照設定しなくてもデフォで使えるVBランタイム機能 これは別に俺は嫌いじゃない。 > ユーザー定義イベントが簡単に使える。 意味不明。WithEventsのこと? C#にもevent構文があるけど? >>123 って1つの関数に1000行書いたりする 典型的な非構造化プログラマーだろ。 >>126 誰も困ってないというより、それを口に出して言いにくい、 抑圧的な世界なんだと思うね。 王様は裸だ、といえない空気ね。 すくなくとも過去にはそういう雰囲気がこの業界にはあった。 まあ、プライドの肥大したスカした野郎が多い世界だから。 >>127 >> ユーザー定義イベントが簡単に使える。 >意味不明。 実際やってみりゃ一目瞭然。VB.NETとC#で自作のイベント生成するコード書いてみ。 インデントもちゃんとつけていないマルチステートメントな人かも。 delegateを定義するってこと? そういえばVB.NETでは試したことないな。今度やってみるよ。 ExcelとかいじるときはVB.NETのが楽な気がする。 >>128 もう予想通りの典型的な反応で笑える。 あのねえ、関数はシンプルに、無駄に深いネストを使うのはよくない、 小さな問題に分割統治して書くとわかりやすいコードが書ける、などといった 教訓は、全ての問題がそのように書ける、ということを意味していないのだよ。 >>129 ルサンチマンまみれの発言ご苦労様 いやなら業界止めたら? あんた以外誰も、たかがCのカッコの問題なんぞ抑圧だとも思ってなけりゃ そんな程度のことをプライドに感じたりもしてないから。 Cをけなすんならせめてあの複雑で醜くてBjarn Stroustrupも嫌いと公言して 憚らない宣言のシンタクスでもけなせばいいのに。 ま、C#には関係が無いことだけれどもね。 >>127 > 旧VBだと _ で折り返した行にコメントが書けないんですけどこれはどうすればいいでしょうか!!!! これってVB.NETだとできるの? どなたか書き方教えてください。 >>137 .NETでも;をセパレータとして使っていない以上その原則は変わってない。 >>138 サンキュです。やっぱりダメですか。 /* 〜 */ 形式でもいいから取り入れて欲しいなぁ。 #If False Then #End If で括ったりするんだけどなんか格好悪いんだよね。<!-- -->でもいいよ。 でも、 Comment End Comment とかなりそうだなあ。 VB.NET VS C#.NET の戦いになっちゃってるな。 どっちがいいかは個人個人のフィーリングで選べばいいだけジャン? おれ? おれはCの書き方が性に合ってるかな。 C: int i; // イント アイ ←涼しげ♪ VB: DIM I AS INTEGER ’ドィムゥ アズ インテジャワァアァァァァ ←暑苦しい 言語の優秀性とその普及率ってのは必ずしも一致しない。 個人の趣味プログラムなら話は別だが、一般的なソフトハウスが開発言語を 決定する要因は、 1.開発コスト 2.(現行PGがあれば)移植性 3.開発要員確保しやすさ 4.信頼性(上層部のジジイどもは新しい物を「リスクがある」といいがち) というわけで、実際の開発現場ではVB.NETが採用される傾向にある。 俺個人的には、ASP.NETはC#、WindowsアプリケーションはVB.NETで作ること が多いかな。(明確な理由は特にないけど) >>123 >VBやPascalのような言語の場合、こうしたストレスは完全にとまではいえないが >Cに比べれば格段に緩和される。 Pascalって全部Begin...Endじゃないの? 中括弧の問題は、他にもあるだろ。 if(...) { ... } なのか if(...){ ... } なのか if(...) { ... } なのか…人によって最善と主張する書き方が異なる時点で構文として終わってる。(最後のは俺も有り得んと思いたいが) 「他にもある」のではなく、要はブロックを、少なくとも全てのブロックを {}で囲って表現するのは非合理的で可読性に書ける、ということに尽きる。 {}の位置がどうこうっていう論争は単なる代償行動に過ぎない。 王様は裸だ、という代わりのね。 なぜ王様は裸だ?と言えないか。 それは自分が人に無能だと思われるのが怖い「小利口な」奴がこの世界多いからだよ。 VB6だろうがVB.NETだろうが落ちないで動けば良いんだよ。 客にとっては手段は問わないのさ。 それが理解出来ない小僧がこの業界でいかに多いか(藁 落ちなくて動くシステムをどっちが作りやすいか、って話だと思うが。 必殺 On Error Resume Next のオンパレード。 これで落ちなくなったとのたまう。エラー処理なんて1行もなし!! >>152 こないだそういう糞プログラム見たわ。 DB処理なんだけど例外発生した状態でスルーされるから、 トランザクション処理がどんな状態でもコミットされてしまう。 アプリ落ちてくれればデータ壊れずにすんだのに・・・。 >>147 VS.NET 2005にはコーディングスタイルを強制して統一させる機能がある。 インデックスの付け方の趣味なんて、今ではささやかな問題だよ。 今では、って昔からずっとささやかな問題だよ。 相対的に言えば。時代は全然関係ない。当たり前だけどね。 どうでもいいがインデントだよね。 >>153 Javaだけど、似たような奴で、 try { ・・・ } catch(Exception e) { System.out.println("エラー発生"); } なんてのを見たことがある。 エラーメッセージを出してはいるが、処理はそのまま続行w それこそVBからJavaへ流れ込んだ連中じゃないのかな 別に例外に対して積極的に何かをせずに単に無視するのが いつでも問題があるとも思えんが。。 私見では、この例に見るように「こういうときは<絶対>このようにすべきだ」という風な思い込みが強い、 自分の頭で物事考えない、形式にこだわるタイプが一番救いがたい。 救いがたいというのは、たいていこの手の輩は馬鹿なくせに頑固だから。 >>158 VBは関係ないな。JAVAでは良くある風景。 コンパイル通らないからとりあえず例外を処理って。 >>163 JAVAでは言語的な部分にも原因がある。 とりあえず例外処理しないとコンパイル通らないから。 まあ、例外を処理しないの意味においては言語での問題じゃないけどね。 >>164 > とりあえず例外処理しないとコンパイル通らない throwsを書けばいいだけだろ >>165 それは例外処理を書いたってことだろ? あんた理解できてないでしょ、話の流れが。 何も例外処理しないメソッドではthrows節を書きゃいいだけなんだから >>157 が「Javaの言語的問題」だっつーのはどうなのよ C#もVBも機能変わんないからフィーリングで選べばいいよ VB選ぶってことは自ら無能ですって宣伝してるようなもんだけどね 好みとは無関係にVC#.NETではなくVB.NETを要求される件について VBは腐ってもMSがここ10年以上守ってきたからね。 MSの場合、無かったことにするっていう得意技があるからC#に飛びつくリスクは大きい。 言語的に悪いとは思わないよ、どっちも。 >>170 仕事なら VB.NETだろうが COBOL.NETだろうが指定通りこなすのがプロ。 >>171 .NETであれば使用するフレームワークは同じなんだから、 VB.NETだろうが、C#だろうが、Pascalだろうが、Cobolだろうが、C++モドキだろうか、Javaモドキだろうが 簡単に移行できるだろ。C#が無くなろうが、大した問題じゃないよ。 .NET Framework自体が無くなると確かに痛いけどな。 その場合MFCを身に付けていないと、PGは生き残れないわけだ。 .Net Frameworkよりは先にMFCがなくなるだろ。 >>173 それは>>171 じゃなく>>170 に言ってくれよ。 >>171 C#を無かったことにできると考えられる君が何も見えてないだけ。 Javaを手に入れられなかったMSが代わりに作ったのがC#。MS的にC#は命綱。 VBは、数の多い底辺層をつなぎとめておくため、 更にはC#に馬鹿が流入しないための防波堤として存在価値が残る。 >>176 VB.net もC#も大差ないけど。 なんかそういう他人を見下してる奴って、会社じゃ何もできない奴なんだろうな・・・って。w 本人は何でも出来ると思ってるんだから、そっとしておいてやれよ。 >>171 機能的に大差なくても マーケティング的に何がどういう位置にあるか把握することには意味がある。 コーダーにはほとんど関係ないだろうね。 技術的に高いレベルの人間がVBを好むことは絶対に無いよ。 もちろん、そういうアーキテクト的立場の人間がどの程度必要かは会社による。 MSも技術的に高いレベルのユーザーをつなぎとめておくことの重要性をわかってるから C#を捨てることは絶対にない。 >>179 まだ言ってるよ。しかも典型的なMS詐欺の被害者というかMS教信者。w .netの言語において、どの言語選択しても、あんたが考えてるほど大差ねーよ。 まあ、C#は今のところ普及率が低いから、希少価値を勘違いして自分がレベル高いとおもちゃってるんだろうね。 単なる最初に立ったと言った風太くん程度。 >>182 小学生がさ、馬鹿って言う奴は馬鹿なんだ!って喧嘩してる感じだな。 >>181 本当に大差ないと思うならCOBOL.NETでも使っていればよろしい。 C,C++,Javaがこれだけ成功・普及している状況で 「ごく普通の構文」を採用しているC#は.NETの中では最重要だろう。 「Javaのパクリ」と言われるのがわかっていてなぜこんな文法にしたのか考えてみるといい。 全く同じ理由で、VBユーザーが大量にいる中でのVB.NETも重要。 C-Omegaのような新しい発展があっても、C#はベースとして利用されている。この理由は「構文が標準的だから」 対照的に、VBが何かのベースになることは無いだろう。 都合が悪くなったら信者扱いか。オレはMSは大嫌いだが、それと技術評価とは別。 VB6.0上がりのVB.NET使いのレベルが低い理由の1つに、ADO.NETを正しく理解 できていない点があるね。 DBから取得した値を配列に保持しちゃったり、とか。 > DBから取得した値を配列に保持しちゃったり、とか。 それが良いか駄目かは場合による。 >>186 いや、それは貴方もADO.netを理解してないっていうことだ。 DataSetの機能自体に、DBから一端話して配列で格納っていう機能が実装されてる。 >>147 >if(...) > { > ... > } >(最後のは俺も有り得んと思いたいが) 俺もそう思いたいが、俺の持ってる Windows 3.1 の頃に発行された Programming Windows は、 そういう書き方してあった。 あと、うちの会社にそういう書き方する基地外がいる。 >>188 みな分かって書いてるんだろうけど、それはGNUコーディングスタイルでしょ 見慣れないスタイルっつーだけで基地外よばわりかw 小せーなオイw VB.NET2003で コンポーネントで参照設定したクラスや名前空間のヘルプが 検索してもみつかりません。このような場合はどうしたらいいのでしょうか? 教えてくださいませ。 >>197 釣りなのか、マジで頭おかしいのか。。。 頭もおかしくないし釣りでもないです。 あなたのような頭の悪いひとは早く2ちゃんねるから脱退してください。 ほんと、質問の基本がなってないのが多すぎ。 あんたの状況が見て回答できるわけじゃないんだから。 >>197 例えば何を参照設定して、そのヘルプが見れないの? って、会話が必要な時点で回答する人が限られるわけで。 普通、かったるいからスルーなんだよね。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる