アカウント名:
パスワード:
双子の兄弟である VB.net ですが、こっちはどうなってますでしょうか?ついでに C++/CLIも。
そろそろVBはVB.Net互換が無くなってもいいから、C#の方言(VB風の記法を採用したC#)として再実装してくんねーかな、と思ったりする。現時点でもかなり互換性高いんだし(だからこそ微妙な違いが厄介)
VB.NETはOLE/COMを使うためだけに存在価値がある気がする。
今のVB.NETってC#と互換性あるはずだが・・・OLEって未だに使えたっけ?
ごめん、OLEはOLEでもOLE/COMオートメーションの事です。あと、C#の方が便利なのは間違いないかと。
10年近い昔、遅延バインディングがC#だと面倒だったので、当時のコードが生き残ってる次第。
C# で出来ないことが、VB.NET で出来たりはしないのだけどね。VB.NETで書けるのに C# で書けないのは唯一つ「プロパティのインデクサ」COM回りに関しては、VB.NET は複雑怪奇な書き方になってしまうので、シンプルに書ける C#使うことになるだろ?VB.NET では VB みたいな楽は出来ない。
C#にできなくてVBにできること・インターフェースでの宣言と違う名前でクラスのメソッドを実装(しかし、利点は怪しい)・Moduleでグローバルにメソッドやフィールドを開示(しかし、利点は怪しい。とはいえVBの場合これとExtensionAttributeが無ければ拡張メソッドを書けない)・メソッドStaticな変数(これはC#にもあってもいい)・宣言的なイベントハンドラ(設計思想の違い)
デフォルトプロパティは(VBでは使えるけど)VB.NETでは使えないんだっけ?
うーん、やっぱVBは廃止でいいよ
本当に不憫なのはVBよりも、今のところ誰も触れてない C++/CLI の方かもしれません…
いやあ。だってあれ、ド変態言語じゃないですか(^^;)Win32とかDLLのラッパーを書くのには重宝しますけど、C++/CLIをメインでは使いたくないな……。
結局、3兄弟で成功したのは C# だけのようですね。
Managed C++「3兄弟?」J#「誰かをお忘れでは」F#「ないだろうか」
3兄弟?J#とかF#とかは?
unsafeしてポインタ操作する以外はVB.NETで全部できる筈。
LINQのC#とVB.NETの実装とか凄いとおもうよ、どっちもそれぞれの言語っぽさを残したまま、ちゃんと対比が取れる形で矛盾なく実装してるし。
OLE/COMオートメーションやりたければ、根本的に.NET Framework(あるいは.NET Core)を捨てるしかないから、VB.NETというよりはVB6の次のナニカにならざるを得ない。果たしてそんなものにどこまで需要があるのかどうか……Office VBAのイケてない仕様との互換とかの問題もあるしね(互換を切り捨てたらVBと名のつくものが3種類に分裂するカオス、互換を維持したら文法が旧すぎて使えない悲しさ)
LINQの Groupe By 句ってC#とVBで対比取れましたっけ?違いのせいで、LINQの結果をToDictionaryメソッドに流しこむようなコードを相互に移植するとき手を加えた記憶が…最近のバージョンだと整合してるのかな?
# ちゃんとそれぞれの言語っぽく実装されててすごいのは同意。
LINQの書き方ってC#とVB.Netでそんなに違いありましたっけ?なんか「メソッド形式」「クエリ形式」の話と混じっている予感が。
個人的には「ちゃんとそれぞれの言語っぽく実装されてる」と思えるのはLINQじゃなくてラムダ式の部分ですね。
すいません、話が混線してましたね。違いが出るのはクエリ形式の方です。
VB.Net は一番最初のリリースの時点から一貫して「VB風の記法を採用したC#」だけど、どんな変化を期待してるんだ?
なので当時の VBユーザーからは、VB.NET 覚えるなら、C# 覚えるのもコストが何も変わらないと、移行先になれなかったわけですよ。
ますます差異を無くして、単独の言語としては消滅してくれることを期待している。
VBから引き継いでC#よりも先に実装された機能がいくつもあるわけですがそれは?#そういうのはVBでやるから移行しないという話は聞いたことある。
VB風の記法にした.NET言語がVB.NETJavaとDelphiのいいとこ取りして.NET前提に作った言語がC#
別にC#ありきなわけではないよ、VB.NETは。
つまり、VB6風の表記法がしっくり来る人用に設計された言語だと思いますが、ここにはそういう人は居なさそうですね…
あくまでVB風だからなぁ。QuickBasicとVisualBasic位別物だと思うな。
でもVBerはVBの中だけで生きてほしい
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
VB.netは? (スコア:1)
双子の兄弟である VB.net ですが、こっちはどうなってますでしょうか?
ついでに C++/CLIも。
Re:VB.netは? (スコア:1)
そろそろVBはVB.Net互換が無くなってもいいから、C#の方言(VB風の記法を採用したC#)として再実装してくんねーかな、と思ったりする。
現時点でもかなり互換性高いんだし(だからこそ微妙な違いが厄介)
Re: (スコア:0)
VB.NETはOLE/COMを使うためだけに存在価値がある気がする。
Re: (スコア:0)
今のVB.NETってC#と互換性あるはずだが・・・
OLEって未だに使えたっけ?
Re: (スコア:0)
ごめん、OLEはOLEでもOLE/COMオートメーションの事です。
あと、C#の方が便利なのは間違いないかと。
10年近い昔、遅延バインディングがC#だと面倒だったので、当時のコードが生き残ってる次第。
Re: (スコア:0)
C# で出来ないことが、VB.NET で出来たりはしないのだけどね。
VB.NETで書けるのに C# で書けないのは唯一つ「プロパティのインデクサ」
COM回りに関しては、VB.NET は複雑怪奇な書き方になってしまうので、シンプルに書ける C#使うことになるだろ?
VB.NET では VB みたいな楽は出来ない。
Re:VB.netは? (スコア:1)
C#にできなくてVBにできること
・インターフェースでの宣言と違う名前でクラスのメソッドを実装(しかし、利点は怪しい)
・Moduleでグローバルにメソッドやフィールドを開示(しかし、利点は怪しい。とはいえVBの場合これとExtensionAttributeが無ければ拡張メソッドを書けない)
・メソッドStaticな変数(これはC#にもあってもいい)
・宣言的なイベントハンドラ(設計思想の違い)
Re: (スコア:0)
デフォルトプロパティは(VBでは使えるけど)VB.NETでは使えないんだっけ?
Re: (スコア:0)
うーん、やっぱVBは廃止でいいよ
Re:VB.netは? (スコア:1)
本当に不憫なのはVBよりも、今のところ誰も触れてない C++/CLI の方かもしれません…
Re:VB.netは? (スコア:1)
いやあ。だってあれ、ド変態言語じゃないですか(^^;)
Win32とかDLLのラッパーを書くのには重宝しますけど、C++/CLIをメインでは使いたくないな……。
Re:VB.netは? (スコア:1)
結局、3兄弟で成功したのは C# だけのようですね。
Re: (スコア:0)
Managed C++「3兄弟?」
J#「誰かをお忘れでは」
F#「ないだろうか」
Re: (スコア:0)
3兄弟?J#とかF#とかは?
Re: (スコア:0)
unsafeしてポインタ操作する以外はVB.NETで全部できる筈。
LINQのC#とVB.NETの実装とか凄いとおもうよ、どっちもそれぞれの言語っぽさを残したまま、ちゃんと対比が取れる形で矛盾なく実装してるし。
OLE/COMオートメーションやりたければ、根本的に.NET Framework(あるいは.NET Core)を捨てるしかないから、VB.NETというよりはVB6の次のナニカにならざるを得ない。
果たしてそんなものにどこまで需要があるのかどうか……Office VBAのイケてない仕様との互換とかの問題もあるしね(互換を切り捨てたらVBと名のつくものが3種類に分裂するカオス、互換を維持したら文法が旧すぎて使えない悲しさ)
Re:VB.netは? (スコア:1)
LINQの Groupe By 句ってC#とVBで対比取れましたっけ?
違いのせいで、LINQの結果をToDictionaryメソッドに流しこむようなコードを相互に移植するとき手を加えた記憶が…
最近のバージョンだと整合してるのかな?
# ちゃんとそれぞれの言語っぽく実装されててすごいのは同意。
Re:VB.netは? (スコア:1)
LINQの書き方ってC#とVB.Netでそんなに違いありましたっけ?
なんか「メソッド形式」「クエリ形式」の話と混じっている予感が。
個人的には「ちゃんとそれぞれの言語っぽく実装されてる」と思えるのはLINQじゃなくてラムダ式の部分ですね。
うじゃうじゃ
Re:VB.netは? (スコア:1)
すいません、話が混線してましたね。
違いが出るのはクエリ形式の方です。
Re: (スコア:0)
VB.Net は一番最初のリリースの時点から一貫して「VB風の記法を採用したC#」だけど、どんな変化を期待してるんだ?
なので当時の VBユーザーからは、VB.NET 覚えるなら、C# 覚えるのもコストが何も変わらないと、移行先になれなかったわけですよ。
Re:VB.netは? (スコア:1)
ますます差異を無くして、単独の言語としては消滅してくれることを期待している。
Re: (スコア:0)
VBから引き継いでC#よりも先に実装された機能がいくつもあるわけですがそれは?
#そういうのはVBでやるから移行しないという話は聞いたことある。
Re: (スコア:0)
VB.Net は一番最初のリリースの時点から一貫して「VB風の記法を採用したC#」だけど、どんな変化を期待してるんだ?
VB風の記法にした.NET言語がVB.NET
JavaとDelphiのいいとこ取りして.NET前提に作った言語がC#
別にC#ありきなわけではないよ、VB.NETは。
Re:VB.netは? (スコア:1)
つまり、VB6風の表記法がしっくり来る人用に設計された言語だと思いますが、ここにはそういう人は居なさそうですね…
Re: (スコア:0)
あくまでVB風だからなぁ。
QuickBasicとVisualBasic位別物だと思うな。
Re: (スコア:0)
でもVBerはVBの中だけで生きてほしい