パスワードを忘れた? アカウント作成
14703 story

Monoプロジェクト、GNU/Linux用Visual Basicを発表 66

ストーリー by mhatta
欲しい人は多そうね 部門より

pinbou 曰く、

本家/.の記事より。.NETのオープンソース実装を開発するMonoプロジェクトが、Visual Basicコンパイラを公開した。GNU/Linuxは言うまでもなく、Monoがサポートするプラットフォームであれば、どのプラットフォームでもMicrosoft Visual Basic 8.0で書かれたプログラムをコードの変更無しに実行することが可能だという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • そもそも、Windows大好きVBデベロッパー(←俺の偏見)がLinuxを使いたいか?使うか?
    強制的にということがあるかもしれないなぁ。

    そうなった場合、Linux上で、あの悪夢のような巻物関数が再現されると思うとゾッとする。

    現在も巻物解析中(3ヶ月目)。。。。。
    --
    cat_kei@
  • VBといえば、ペタっとコントロールを張り付けて画面を簡単につくれるのが売りであった。Monoの上で動くのは、VBのプログラムが動くと言う今回のタレコミですが、VBで作った画面まで再現されるのでしょうか?
    それとも Linux などの場合は、gtk binding などに変換されてしまうものなのでしょうか? 文字入力(Input Methodなども関連するかとおもうので)
  • by Anonymous Coward on 2007年02月22日 12時34分 (#1114782)
    アルファ扱いだったmbasを捨てて新しくvbncを作って、これをサポート対象にしたって話?
  • by tuxman (18472) on 2007年02月22日 14時37分 (#1114866) 日記
    人工経済のシミュレーションプログラムとかがVisual Basicで
    書かれていて、Linux環境への移植に難渋したことがあったので
    非常に有り難い話です。
  • よく知らないんですけど、MS-OfficeのマクロもVBじゃないでしたっけ?
    だとするとmonoを使えばOOoでMS-Officeのマクロ動かせたりするようにもできたりします?
    • Re:OOoで使える? (スコア:2, 参考になる)

      by taka2 (14791) on 2007年02月22日 19時44分 (#1115092) ホームページ 日記
      まず第一に、VB6.0までと、VB.NET では、同じ「Visual Basic」を名乗りつつも、言語仕様は全然別物です。
      #VB.NET は VB6.0 より C++ や Java とかの方が近いかも。

      で、今回のコンパイラは.NETな方のVBのコードをコンパイルできるようにしたものですが、
      Office のマクロ言語として利用してるVBA(Visual Basic for Application)は、言語仕様的にはVB6.0側です。
      親コメント
    • by Anonymous Coward
      Officeのマクロなどは、VBの文法で書けるというだけで、実行形態は別物だったはずです。
      ですから、残念ながらOOoとの連携までは無理じゃないかと思います。
  • by Anonymous Coward on 2007年02月22日 10時22分 (#1114663)
    Novell は Mono Project のスポンサーなのね。
  • by Anonymous Coward on 2007年02月22日 11時00分 (#1114705)
    MONOプロジェクトの親分Novellはいいとして、
    俺がこれを配ってもMSに訴えられないのか?
    • 言語仕様には著作権もヘチマもないので、実装系はいくらでも自由に作れます。

      #特許がかかってくると微妙なところはあるけど
      #あとLinuxっていう別プラットフォームであることを考えても、そんなに競合製品になるとは思えないし。
      親コメント
  • by Anonymous Coward on 2007年02月22日 11時23分 (#1114721)
    まあそれはMono側の問題なんだろうけど。

    WinEmbなんかにちょいちょいと乗っけて専用端末を、って使い方をする場合を考えると、上手くやればLinuxでも替わらんレベルで使えたら良いな。
    うちでのVBの使い方は大抵そうなんで。がWinEmb自体は大して高いものでも無いんで使い勝手次第だな。

  • by Anonymous Coward on 2007年02月22日 11時42分 (#1114741)
    用途によるんだろうとは思うけど、Socketを使うプログラミングとかちょっと不安。
  • by Anonymous Coward on 2007年02月22日 12時08分 (#1114762)

    記事のタイトルだけ見るとネイティブバイナリを吐くコンパイラをリリースしたように見えるけど、違うよな?

    これじゃ
    「GNU/Linux(i386)でVisual Basicが動作。ただし動作はVMware(Windowsインストール済)上」
    って言ってるのと大して変わらない

    • Re:GNU/Linux用? (スコア:2, 参考になる)

      by Artane. (1042) on 2007年02月22日 13時26分 (#1114825) ホームページ 日記
      それともちがうようです。
      タレコミにリンクのあった、Mnoプロジェクトのプレスリリースから。
      Until now, Visual Basic applications could only run on Windows OSes, without major modifications.
      With the Mono Visual Basic compiler, however, those applications will be able to run on many more platforms.
        As a proof point of this new platform independence, the new compiler is self-hosting. That is, the complier itself is written in Visual Basic.

      と言うことで、多分、MicrosoftのVBと互換かどうかはわかりませんが、今回の「Mono版Visual Basic」を使えば、コンパイラからコンパイルしたアプリまで、Mono実行環境があれば全て同じ形式の中間コードで動きますよ。って事のようです。

      # 確か、「Microsoft版Visual Basic」も、コンパイルした結果は
      # 中間コード形式であり、それをランタイム環境が読み込んで動いているはず。
      親コメント
      • by Anonymous Coward
        ところでこれのアレゲな点は、

        >the complier itself is written in Visual Basic.

        「え?VBなんかでコンパイラ書いたの?
        それのソースって一体どんな難読コードなんだ?」

        っていうあたりじゃないかと思った。

        #matzさんなら絶対ダメ出しすると思うんでAC

  • by Anonymous Coward on 2007年02月22日 13時24分 (#1114823)
    VB.NET は、コンパイルされたら .NET バイナリになるんだから、コンパイラの有無に関係なく実行可能。
    昔から VisualStudio でビルドして、mono で実行はできてた。
    コンパイラが出たことで、ビルドも mono で出来るようになったって話でしょ?

    でも C# のコンパイラもそうだけど、mono 版はコンパイラの最適化がしょぼすぎるんで、結局 MS 純正コンパイラを使うことになるのよね。ビルドだけならどこでやっても同じだし。
    VMの実行速度も、とてつもなく差があるけど、MS版の VMは Linux 上で動かす手段がない。
    • .NETはVMで動くのではありません。

      ところでコンパイルできたとしてもウィンドウプログラムが作れるわけではないので、
      あまり意味がないような。わざわざLinuxサーバでASPというのも。。
      親コメント
      • by Anonymous Coward on 2007年02月22日 14時54分 (#1114882)
        > コンパイルできたとしてもウィンドウプログラムが作れるわけではないので、

        作れますよ。Windows Forms移植されています。
        親コメント
      • まあ、現状では実用性(ほぼ)0でしょうね。
        Mono全体に対しても。
        でも、将来には期待しています。

        # たぶん追いつけないと思うけど・・・
      • > .NETはVMで動くのではありません。

        いつから .NET ってVM 上で動くものでなくなったんですか?
        VM上での実行でなくなるという将来的な話すら、まだ出てきてないようですが、、、
        それとも JIT で動く場合もあるので VMの上じゃないとかいう話?
        • CLR は仮想マシンではありません。
          http://www.users.gr.jp/blogs/hidori/archive/2004/06/25/3316.aspx [users.gr.jp]

          おお、前にWineで動かそうとしてると知ったのですが、いまはまた作り直してる。のかしら?
          親コメント
  • by Anonymous Coward on 2007年02月22日 17時17分 (#1114975)
    どうもコメント読んでると、古いバージョンのVB(6.0とか)互換と勘違いしてる人が多い気が…
    いや、単にそんな気がするだけですが。
    • Re:互換性 (スコア:2, 参考になる)

      by ioio (30375) on 2007年02月22日 18時21分 (#1115044) 日記
      ですねぇ。
      とりあえずMono ProjectのFAQ [mono-project.com]より
      Can Mono run binaries produced by Visual Studio?
      Yes, Mono can run binaries produced by Visual Studio, there is no need to recompile.

      Mono API coverage is limited to the .NET 1.1 API at this point, with spotty support for 2.0, for more details see our Roadmap.
      現時点では.NET1.1のAPIと.NET2.0の極一部がサポートされてるということです。んでバイナリ互換、と。開発用のツールなんかが簡単に移行できるといいなぁ。
      親コメント
  • by Anonymous Coward on 2007年02月22日 18時39分 (#1115059)
    むしろVisualBasic6.0で作ってくれればよかったのに。

    # .Net以前の生活です
  • by Anonymous Coward on 2007年02月22日 21時31分 (#1115160)
    VBで開発するような人が、
    (IDE組み込みでない)テキストエディタでコーディングしたり、
    ビルドツールをコマンドラインで叩いたりするとは思えんのですが。
    #monodevelopとかが対応したりするのでしょうか?
    • by Stealth (5277) on 2007年02月23日 0時32分 (#1115273)

      テキストエディタで書いたり、ビルドツールをコマンドラインで叩いたりすると思えないのはなぜでしょう?

      極めて初期の .NET Framework な記事や本はそうしたやり方でしたよ。FreeBSD なんかで動く SSCLI もコマンドラインのみでした。

      また、Visual Studio などを使っても、結局裏でコマンドラインツールを呼んでコンパイルする点は変わらない訳で。

      こうしたものを作るにしても、まずコマンドラインで動作するコンパイラを作るところから始まるのではないでしょうか。

      # とはいえ、VC#.NET 2005 のふざけた快適性に慣れたら、そっちで書いて Mono で動かせばいいんじゃない? となりそう。

      親コメント
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...