パスワードを忘れた? アカウント作成
12256909 story
プログラミング

VB6ランタイムはWindows 10でもサポートされる 75

ストーリー by hylom
まだまだ死なぬVB6 部門より
Printable is bad. 曰く、

MicrosoftがWindows公式ブログにて、Visual Basic 6(VB6)のランタイムがWindows 10でもサポートされることを明らかにした。

VB6は今から約17年前の1998年にリリースされた開発ツールであり、.NETではない「旧来型VisualBasic」の最後のバージョンである。開発ツール自体のサポートはとっくに終了しているが、経験の少ないプログラマでも短時間で開発を行うことが可能なシンプルな構造であることから、未だに根強い人気がある。

約3年前に、MSDN MagazineのコラムニストDavid Platt氏が「ビールを賭けてもいい。MicrosoftはWindowsが9や10になってもVisual Basic 6をサポートしなければならないだろう」と述べていたことがスラドで話題になったが、この予測は見事に当たったようだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2015年07月07日 5時50分 (#2843155)

    VB6からの移行パスとして、VB.NETを用意したこと。
    わざわざ言語を一つ設計し、メンテし続けるコストを払って、VBプログラマが違和感少なく移行できる環境を用意した。
    文法はVBぽいといえ、VB.NETは.NET Frameworkに乗っかるちゃんとした言語なので、将来性もある。

    TIOBEランキングを見れば一目瞭然だが、VB.NETは世界中の開発現場でものすごく使われている。
    おそらくVBベースのソフトウェアの後継の受け皿になっているんだろう。
    この奥行きの深さはMicrosoftならでは。

  • by Anonymous Coward on 2015年07月07日 0時18分 (#2843101)

    やっと客を説得して、過去のソースは捨てましょうって話ついたとこなのに

  • OSの違いを吸収するはずの.NET Frameworkが、
    いつの間にかOSのアップデートと歩調を合わせている一方、
    不動のポジションをキープしているVB6ランタイム。

    気をつけよう、甘い言葉とMSDN

  • by Anonymous Coward on 2015年07月06日 21時30分 (#2843039)

    UTAU

    • タイプウェル

      親コメント
    • by Anonymous Coward

      結構ユーザーが多い(というかエコシステムが大きい?)ソフトがVB6ランタイム使ってるんだな…。

    • by Anonymous Coward

      BNE2が代替ソフトが無いのでいつまでも使ってるなぁ。
      コピペで落ちまくるとかの問題もあるからそろそろ後継ソフトがほしいところなんだけど…
      そんなに難しい構造ではないと思うんだけど、なんか自分ではわからない超複雑な機構とかあるんだろうか。

    • by Anonymous Coward

      中小企業の非EDA部門のちょっとプログラムの出来るおじさんが作った内製ツールがまだまだ山ほどあると思うが.....
      #わが社ではFreeBASICがバリバリ稼動中(実はある種のGUIアプリを作るのにとても便利なのだよ)

  • VB6ランタイムってそんな尖った実装が含まれるわけではない。
    ライブラリ類は外出ししてあって、
    中間言語エンジンは基礎的かつWindowsアプリとして行儀の良い動作しかしていないはず。

    Win32APIそのものが仕様変更とか廃止とかになってない限りは動くと思うんだが。

    後方互換性で一番問題になりそうなのはProgram Filesにインストールするとアクセス権の問題や勝手に別なフォルダにデータファイルが書き込まれる問題だが、
    それもぶっちゃけProgram Filesを避けてインストールすれば問題にならない。(本末転倒だが)

    バージョンアップで対応できなくなりそうな部分って何があるんだろう?

  • by Anonymous Coward on 2015年07月07日 15時08分 (#2843410)

    で、誰なんだい?

  • by Anonymous Coward on 2015年07月06日 20時10分 (#2842975)

    これはばかりはどう転んでもGoogleにもAppleにも敵わないだろうねぇ...
    Linuxもソースコードはともかく、実行バイナリの後方互換性は確かそんなに高くないよね?
    素直に凄いなぁ、とは思う。

    しかし開発環境はどうしてるのでしょう?
    さすがに新規開発案件では採用されないだろうけど、保守用には必要だよね?
    VisualStudio6はWindows7、8でも動く? 確かインストールできなかったような...
    やはり古いWindow2000とかをインターネットから切り離した状態で動かしてるとか?

    とここまで書いて関連リンク見たら64bit版Windows7でも動くことは動くようなのですね。

    • えっ? そんなのあったっけ?

      #と、あえて言ってみる…

      親コメント
    • by Anonymous Coward

      VS6はインストール時にMSJavaを要求するけどMSJavaが入手できないから、ゴニョゴニョしないと詰んだような。

    • by Anonymous Coward

      当然サポートされませんが、一応Win7で動きます。
      うちでは、近々無くなる予定の物以外は、Windows Server 2003のサポート切れ移行対応に合わせて、
      .Netで組み直しました。

      元々、過去からの遺産で、機能改修の予定はほぼ無い物ですが、トラブると生産止まるので、
      放置する訳にもいかず。

      • by Anonymous Coward

        Vistaまでは公式にもIDEサポートだったと思います。
        https://www.microsoft.com/ja-jp/dev/support/tools.aspx [microsoft.com]
        7以降も32bitなら容易に動かせます。
        が、x64版ではいろいろと(インストールはできるけど)エラーがでてまともに開けてビルド出きるようにするのが大変(ocxファイルが見つからないとか言われる)。
        仮装マシン上の32bit版Windowsで動かす方がずっと楽。

    • by Anonymous Coward

      ここまでサポートするのは素直に関心するけど、そろそろ「次で最後」みたいに事前通告してほしいな
      コードが書かれた時代的にドキュメントがなかったり、力技なコードすぎたりとリプレイスする予算と気力がなくてズルズルと今に至るケースは多いはず

      • by Anonymous Coward

        次が無いじゃん

        • by Anonymous Coward

          ちなみに次がないので、Windows 8.1の延長サポートも終わることがない、はず。

          • by Anonymous Coward

            https://support.microsoft.com/ja-jp/gp/msl-windows-81/ja [microsoft.com]
            >Windows 8.1 のライフサイクルには引き続き Windows 8 と同じライフサイクル ポリシーが適用され、2023 年 1 月 10 日にサポートが終了します。
            終わるんじゃね

            • by Anonymous Coward

              http://windows.microsoft.com/ja-jp/windows/lifecycle [microsoft.com]
              「延長サポート: Microsoft は製品の一般向け提供日から最低5年間または2番目の後続製品(2つ後のバージョン)のリリースから2年間の、いずれか長い方の期間、延長サポートを提供します。」
              まあその上には「2023年1月10日」って書かれてるけど、あくまで2021年1月10日までにWindows 8.1の2番目の後続製品(つまりWindows 10の後続製品)がリリースされた場合の話。

              • by Anonymous Coward

                >2 つ後のバージョン
                ってあるからWindows10のRedStoneアップデートでWindowsのバージョン上げれば解決じゃね?

              • by Anonymous Coward

                あーブランドはWindows 10だが内部バージョンだけ上げるという裏技もあるな

    • by Anonymous Coward

      > GoogleにもAppleにも
      この、`にも’の使い方、おかしくないか?
      私が自然に感じる書き換え↓
      > これはばかりはどう転んでみても、GoogleもAppleも敵わないだろう

      • by Anonymous Coward on 2015年07月06日 23時04分 (#2843082)

        「GoogleにもAppleにも」がおかしいのは、「にも」が格助詞「に」に並列・列挙や強調などの意を加えたもの [goo.ne.jp]だからで、
        GoogleとAppleという並列の意味を取り除けば「こればかりはどう転んでもGoogleに敵わない」となり、
        つまり「MicrosoftはGoogleにかなわない」という逆の意味になってしまう。
        ここで言いたいのは「GoogleはMicrosoftにかなわない」という意味なので、この「にも」の使いかたはおかしい。

        他人の間違いを指摘するなら、最低限このくらいの客観的な説明は欲しいところだ。
        「自然」なんて主観でしかないから、こっちのほうが自然だなんて主観の押し付けにしかならない。

        それに、個々のコメントの表現をいちいち検証してたら話が進まない。
        逆の意味になってしまうという根本的な間違いでも、コメントの他の部分から言いたいことはわかるし、
        俺ならこの程度のミスは無視するな。

        親コメント
      • by Anonymous Coward

        まだ「こればかりは」を見落としているようだ。何このhylomリスペクト

    • by Anonymous Coward

      ウチではXPmodeの中で開発環境動かしてます
      いい加減リプレイスしてほしいのですが、実績あるものは換えない、という業界なので・・・

  • by Anonymous Coward on 2015年07月06日 20時45分 (#2843000)

    >MicrosoftはWindowsが9や10になってもVisual Basic 6をサポートしなければならないだろう」

    えー?
    Windows9上ではサポートされてないんじゃね?w

    • by Anonymous Coward on 2015年07月06日 20時53分 (#2843007)

      前提が偽ならすべての命題は真になる

      親コメント
      • by Anonymous Coward

        元の分が「Windows9 or 10」という前提だったら、Win10の方は実際に存在するし、「前提が偽」ではないんじゃね?
        …と思ったら、原文の方は「Visual Basic 6 support through Windows 9 and 10」になってるのね。
        確かに、厳密に言うと「前提が偽」な状態になってるわけか…。

        • Microsoft has to extend Visual Basic 6 support through Windows 9 and 10. なので、
          もしWindowsが9や10になったとしたら、その時もMicrosoftはVisual Basic 6をサポートし続けなければならないだろう」みたいな条件付きの命題を示しているわけじゃなくて
          「Windowsが9や10の間もずっと、MicrosoftはVisual Basic 6をサポートし続けなければならないだろう」くらいの意味じゃね?

          「もし~ならば」なら「前提が偽ならば~」も正しいけど、元がそういう文じゃ無いと思う。

          親コメント
        • by Anonymous Coward

          orの場合、Windows9 or 10でサポートされていればいいからWindows9でサポートされていなくても成り立つのでは。

          • by Anonymous Coward

            「or」ならそうなんだけど、タレこみに引用されてる「MicrosoftはWindowsが9や10になってもVisual Basic 6をサポートしなければならないだろう」の英語原文が「9 and 10」になってるっぽい。
            まあ、引用元の文が飽くまでたとえ話みたいなもの(『正確な製品名は不明だけど今のWin8から数えてWin9や10』みたいな話)だろうし、そこまで厳密に考える必要はないかな…?

    • by Anonymous Coward

      揚げ足取りすぎる。9や10が次のウインドウズとその次のウインドウズの事だから8.1と10は出たから予言はあたり。

  • by Anonymous Coward on 2015年07月06日 21時42分 (#2843045)

    Excel 2013とかでもまだVBA積んでるから、あれとマージすれば最新環境で動くVB6とかもさほど問題なく作れそうな気がしないでもない
    そこまでして作るほど売れるかと問われたら多分売れないだろうし、実際にMSがそれやったら「馬鹿だ-」と思うだろうけど

    # でもVB5.0とか6.0は嫌いじゃなかったなぁ、使い方を間違えた馬鹿がやらかした案件を引き継いだ時以外は

    • by wolf03 (39616) on 2015年07月06日 22時46分 (#2843075) 日記
      >>使い方を間違えた馬鹿がやらかした案件
      ocx担当が互換ビルドしてこないので、何度文句付けたことか・・・・・
      #他のプロジェクトへ異動するまで治らなかった
      ##Oracle Liteの使い方もおかしかったのを指摘してたが・・・・・
      親コメント
      • by Anonymous Coward

        他のプロジェクトへ異動したら治ったということは、真の問題はいづこにあったのか自問したほうがいいのでは。

    • by Egtra (38265) on 2015年07月09日 0時39分 (#2844446)

      そういえば、今のOfficeのVBAはバージョン7を名乗っているんですよね。Office 2010 の 32 ビット バージョンと 64 ビット バージョンとの互換性 [microsoft.com]

      既に述べたように、VBA7 と Win64 という 2 つの新しい条件付きコンパイル定数があります。以前のバージョンの Microsoft Office との下位互換性を確保するには、VBA7 定数を使用して、以前のバージョンの Microsoft Office で 64 ビット コードが使用されないようにします (これがより一般的なやり方です)。32 ビット バージョンと 64 ビット バージョンとでコードが異なる場合は (たとえば、64 ビット バージョンについては LongLong を使用し、32 ビット バージョンについては Long を使用する数値演算 API を呼び出す場合など)、Win64 定数を使用します。次のコードで、この 2 つの定数の使用例を示します

      親コメント
    • by Anonymous Coward

      VBAまわりについて詳しいかたがいれば教えてほしい。

      ・ブラウザ版のOfficeで動くかどうか。たぶん動かないんだろう
      ・サブスクリプション版のOfficeで動くかどうか。動くのかな?
      ・VBAを代替する言語/技術が開発されているのかどうか。ローカルPCのOfficeならPowershell使ってもいいけどさ。

      • by Anonymous Coward

        ・ブラウザ版のOfficeで動くかどうか。

        動かない。

        ・サブスクリプション版のOfficeで動くかどうか

        動く。

        ・VBAを代替する言語/技術が開発されているのかどうか。

        COM経由でOfficeを使える言語はいくらでもある。VBAの代替として推奨される技術はVSTOだろうか。

    • by Anonymous Coward

      Javaのやらかす系の酷さと比べたら天国ですわ。
      .classの中身見て依存ライブラリ調べるみたいなことしなくて済む。

  • by Anonymous Coward on 2015年07月07日 1時31分 (#2843121)

    VB6ランタイムを崇めよ!

typodupeerror

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

読み込み中...