アカウント名:
パスワード:
C#とVBの同調戦略が採られて以降、出自のまるで異なる言語であったものが、お互いにお互いの機能を取り込み合って、ほぼ同等といえる程度まで機能差がなくなった。その上で、新機能を追加する際には、C#はC#臭く、VBはVB臭いコーディングスタイルでちゃんと揃えて追加してくるので頭が下がる。(中庸なスタイルを双方に採用するのではなく)C#あるかぎりVBも歩みを止めないという事だろう。
だが、このまま同調戦略が進めば、いずれC#とVBは同じ言語の単なる書法の違いとみなせるようになる。(Roslynコンパイラでは構文木からC#とVBを対訳できる)そうすれば将来的には、例えばプロジェクト中にどっちの言語も混在できたり、エディタで開くと自動的に変換されて表示できたりするようになるんじゃないか、と思う。
いずれVBは「C#のVB互換記法」となり、生き残り続けるが、ゆえに「言語」としては死ぬだろう。
VB6が未だに使われ続けてたりするのを見る限り、生き残って*しまう*気がします。
VB.NET使うほとんどの人は、オブジェクト指向のオの字も知らない様なプログラムの書き方をする……。かといって向上心があるわけでもなく、その場その場で適当にごまかす様な書き方をしていく。正直迷惑なので死んで欲しくはありますが、なかなか死なないでしょう。
調子こいて継承しまくったオブジェクトのメンテさせられるよりはましかな。あと自己満フレームワークの改修とか。そーゆーのに限ってバグが多い割には時間も予算もないPRJばかり。
う、うーん……確かにそれも嫌ですが。
C++とかだったら多重継承とかまで絡むと無茶苦茶になるでしょうしねぇ。
でもなぁ、うーん。……どっちも嫌、って事で!
継承とマクロはどちらも控えめに使っている分には便利だが多重度が増すとわかりにくくなる。
これは理論的・技術的にどうというよりも人間の知能に根ざした問題だ。
英語等の関係代名詞の多重度には文法的には制約はない。しかし、実際に多重に使っていくにしたがって人間にとってわかりにくい文章になる。
それと同じだ。
カプセル化の有利性なんて幻想だからな。本っっっ当に幻想だからな。
分かりにくさも問題だが継承元クラスにバグがあると調査範囲・試験範囲が飛躍的に増大する大欠点がある仕事にならない
それあんたの職場だけですから勝手に誤解して広めるのは止めてくれませんか?
>適当にごまかすことができてるんだから、それは正しいと認めざるをえない。
ごまかせなくなったと感じましたら、ぜひ我が社に。
むしろ、VB.NETが登場した時点でVisual Basicは死んだ(マイクロソフトに殺された)と私は考えています。
C#の生き写しだったのはVB.NET初代が最も顕著で、その後2005でVB路線に多少揺り戻しがかかったように思います(暗黙のフォームインスタンス、My構文など)。その後も、XMLリテラルなどC#にない機能もところどころ追加されています。とはいえ、基本的にはC#と同じく.NET Frameworkの全機能を扱える言語という立ち位置は変わっておらず、“生き残り続けるが、ゆえに「言語」としては死ぬだろう”は同意、というより現時点で既にそうであると思っています。
以下余談です。私としては、最初から.NET Framework上にまるでVB6までと変わらない環境を構築していたら(VC++で/clrオプションを付けただけで、なんでもMSILコードが生成されるように)、それが「VBが生き延びる」(可能性の1つ)だったと思っています。つまり、.NET Frameworkの全機能を使えるC#とは違う種類の言語(C++/CLI、F#、IronPython、PowerShellなどのように)としてのVBで良かったのにと思います。もっとも、こう考えられるのは.NET 4.5まで進んだ現代だからこそなのかなあという気もしますが。
Visual Basic 6.0の系譜 はまだVBAという形で残ってますよ。最近、7-8年ぶりにExcelマクロを組むことになったのですが、Office 2003の頃から全然変わっていなくて驚きました。
# 本職でないプログラマでも手軽にアプリを作れる、というVB本来の趣旨を考えると、VB.NETなんぞよりVBAの方がVisual Basicの本来あるべき姿なのでは、と思ってみたり。
VBAが今もあるのはもちろん知っています。これも全然変わっていなくて泣けます。もうちょっとそっちのIDEも機能向上してほしいです……。
VB.NET/C#がBasicという古の言語に対するロゼッタストーンとして機能するようになるわけですね!
いずれも何も・・・w
まあ十分数のユーザーがいる限り、サポートは続けられていくのでしょうね。かつてはJScript.NETなんて言語もありました(今もあるか)。これも仕様を眺めてると中々ニヤニヤが止まらない面白い言語ですよ。
エディタで開くと自動的に変換されて表示できたりするようになるんじゃないか、と思う。
コメントも互換がとれるものでしょうか……
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
C#ある限りVBは死なず(そして、それゆえに死ぬ) (スコア:2)
C#とVBの同調戦略が採られて以降、出自のまるで異なる言語であったものが、お互いにお互いの機能を取り込み合って、ほぼ同等といえる程度まで機能差がなくなった。
その上で、新機能を追加する際には、C#はC#臭く、VBはVB臭いコーディングスタイルでちゃんと揃えて追加してくるので頭が下がる。(中庸なスタイルを双方に採用するのではなく)
C#あるかぎりVBも歩みを止めないという事だろう。
だが、このまま同調戦略が進めば、いずれC#とVBは同じ言語の単なる書法の違いとみなせるようになる。(Roslynコンパイラでは構文木からC#とVBを対訳できる)
そうすれば将来的には、例えばプロジェクト中にどっちの言語も混在できたり、エディタで開くと自動的に変換されて表示できたりするようになるんじゃないか、と思う。
いずれVBは「C#のVB互換記法」となり、生き残り続けるが、ゆえに「言語」としては死ぬだろう。
Re:C#ある限りVBは死なず(そして、それゆえに死ぬ) (スコア:2, すばらしい洞察)
VB6が未だに使われ続けてたりするのを見る限り、生き残って*しまう*気がします。
VB.NET使うほとんどの人は、オブジェクト指向のオの字も知らない様なプログラムの書き方をする……。
かといって向上心があるわけでもなく、その場その場で適当にごまかす様な書き方をしていく。
正直迷惑なので死んで欲しくはありますが、なかなか死なないでしょう。
Re: (スコア:0)
調子こいて継承しまくったオブジェクトのメンテさせられるよりはましかな。
あと自己満フレームワークの改修とか。
そーゆーのに限ってバグが多い割には時間も予算もないPRJばかり。
Re: (スコア:0)
う、うーん……確かにそれも嫌ですが。
C++とかだったら多重継承とかまで絡むと無茶苦茶になるでしょうしねぇ。
でもなぁ、うーん。
……どっちも嫌、って事で!
Re: (スコア:0)
継承とマクロはどちらも控えめに使っている分には
便利だが多重度が増すとわかりにくくなる。
これは理論的・技術的にどうというよりも人間の知能に
根ざした問題だ。
英語等の関係代名詞の多重度には文法的には
制約はない。しかし、実際に多重に使っていくに
したがって人間にとってわかりにくい文章になる。
それと同じだ。
Re: (スコア:0)
カプセル化の有利性なんて幻想だからな。
本っっっ当に幻想だからな。
Re: (スコア:0)
分かりにくさも問題だが継承元クラスにバグがあると
調査範囲・試験範囲が飛躍的に増大する大欠点がある
仕事にならない
Re: (スコア:0)
それあんたの職場だけですから
勝手に誤解して広めるのは止めてくれませんか?
Re: (スコア:0)
>適当にごまかす
ことができてるんだから、それは正しいと認めざるをえない。
ごまかせなくなったと感じましたら、ぜひ我が社に。
Re:C#ある限りVBは死なず(そして、それゆえに死ぬ) (スコア:1)
むしろ、VB.NETが登場した時点でVisual Basicは死んだ(マイクロソフトに殺された)と私は考えています。
C#の生き写しだったのはVB.NET初代が最も顕著で、その後2005でVB路線に多少揺り戻しがかかったように思います(暗黙のフォームインスタンス、My構文など)。その後も、XMLリテラルなどC#にない機能もところどころ追加されています。とはいえ、基本的にはC#と同じく.NET Frameworkの全機能を扱える言語という立ち位置は変わっておらず、“生き残り続けるが、ゆえに「言語」としては死ぬだろう”は同意、というより現時点で既にそうであると思っています。
以下余談です。私としては、最初から.NET Framework上にまるでVB6までと変わらない環境を構築していたら(VC++で/clrオプションを付けただけで、なんでもMSILコードが生成されるように)、それが「VBが生き延びる」(可能性の1つ)だったと思っています。つまり、.NET Frameworkの全機能を使えるC#とは違う種類の言語(C++/CLI、F#、IronPython、PowerShellなどのように)としてのVBで良かったのにと思います。もっとも、こう考えられるのは.NET 4.5まで進んだ現代だからこそなのかなあという気もしますが。
Re: (スコア:0)
Visual Basic 6.0の系譜 はまだVBAという形で残ってますよ。最近、7-8年ぶりにExcelマクロを組むことになったのですが、Office 2003の頃から全然変わっていなくて驚きました。
# 本職でないプログラマでも手軽にアプリを作れる、というVB本来の趣旨を考えると、VB.NETなんぞよりVBAの方がVisual Basicの本来あるべき姿なのでは、と思ってみたり。
Re:C#ある限りVBは死なず(そして、それゆえに死ぬ) (スコア:1)
VBAが今もあるのはもちろん知っています。これも全然変わっていなくて泣けます。もうちょっとそっちのIDEも機能向上してほしいです……。
Re: (スコア:0)
VB.NET/C#がBasicという古の言語に対するロゼッタストーンとして機能するようになるわけですね!
Re: (スコア:0)
いずれも何も・・・w
まあ十分数のユーザーがいる限り、サポートは続けられていくのでしょうね。
かつてはJScript.NETなんて言語もありました(今もあるか)。
これも仕様を眺めてると中々ニヤニヤが止まらない面白い言語ですよ。
Re: (スコア:0)
エディタで開くと自動的に変換されて表示できたりするようになるんじゃないか、と思う。
コメントも互換がとれるものでしょうか……