タイトル | : Re: VB6の後継は? |
記事No | : 16427 |
投稿日 | : 2018/03/29(Thu) 14:39 |
投稿者 | : 魔界の仮面弁士 |
> WIN7でいままでVB6を使っていましたが、今後うまく動かないPCが出てくることが予想されるので、最新のVBに書き換えたいと思います。
VB6 は 1998年リリースの製品であり、Windows 7 での動作すら保証していません。 「開発環境」としてのサポートは、そもそも Vista までで終了しています。 https://www.microsoft.com/ja-jp/dev/support/tools.aspx https://www.microsoft.com/ja-jp/dev/support/tools_archive.aspx
「実行環境」としてのサポートは Windows 10 においても継続されていますが、 すべての ActiveX コンポーネントの動作を保証したものではなく、たとえば graph32.ocx、spin32.ocx、tlbinf32.dll、triedit.dll 等々のファイルは、 サポート対象外のランタイム ファイルとして区別されています。
> VB6しか使ったことがありません。
最近は(4 年ほど前から?)、テクノロジーの更新サイクルが非常に早くなっています。 そのため、同じバージョンを長く長く使い続けることは現実的ではなくなってきています。 どの言語を採用するにしても、今後は定期的に新しいバージョンの情報を仕入れ、 逐次習得・更新していくことを検討してみてください。
> 一から勉強するのも大変なので似たようなものがないか探しています。
VB6 で習得した知識は、他言語を学ぶ際の糧になると思います。ですがだからといって 必ずしも以前のものと「似たもの」に限って探すことにこだわる必要はないと思います。 似たものだけに絞ると、むしろ選択肢を狭めてしまうことになりますので。
いろいろな言語をお試しで使ってみて(チュートリアルを試してみるだけでも)、その上で、 自分にあったもの(あるいは目的を果たせそうなもの)を探してみるのも一興かもしれません。
そもそも『何のために』プログラミングを行うのかによって、取るべき道も変わってくるでしょう。 (何を主目的としてどのような物を作ってきたのか、そして今後も同じ用途で使い続けたいのか?)
料理を覚えるのに、菓子作りとコース料理と酒の肴とでは用意も手順も異なるように。 登山するのに、エベレストに登頂するのと近所の山にハイキングに行くのでは装備も計画も異なるように。
仮に VB6 の WebClass (IIS アプリケーション プロジェクト)を使ってきたのであれば、 Web 系の言語(たとえば PHP など)を選ぶこともできるしょう。しかし実際には恐らく 標準 EXE のプロジェクト、いわゆる Windows 向けのデスクトップ アプリケーションの開発を メインにされてきたのだと想像しますので、下記ではデスクトップ開発向けの言語を並べています。
> おすすめがあれば教えてください。
月並みな物しか列挙できませんが:
【Visual Basic for Applications】最新バージョン 7.1 (Office 2010〜) 《利点》 ・Office がインストールされている PC なら追加投資なく開発・実行できます。 ・VB6 と同じ言語エンジンなので習得は容易です。 ・64bit 版も登場しています。(LongLong 型 や LongPtr 型の追加など) 《欠点》 ・各社(Microsoft, Autodesk, Corel 社等)が「自社製品」の制御用に用意しているものなので、 言語特性だけでなく、それぞれの製品の特性も習得しなければ機能を生かしきれません。 ・搭載した製品がインストールされていないと実行できません。 ・Windows 以外の環境では殆ど利用できません。(一応 Mac 版があるにはありますが…) 《備考》 ・十分に枯れたテクノロジーであり、Microsoft としても、今後は、VBA に対して 大きな改修を行わないことが名言されています。(メリットでもありデメリットでもある) ・単独で配布可能なアプリケーションの作成には向いていませんが、一応、 Access VBA + Access Runtime を使って、コンパイルされた単体アプリケーションを配布可能です。
【Visual Basic (.NET 版)】最新バージョン 15.5 (Roslyn 2.6〜 / Visual Studio 2017 version 15.5〜) 《利点》 ・無償で使える開発環境が提供されています。 ・もともと VB6 の後継として設計されたものなので、VB6 ともある程度の互換性を持ちます。 ・.NET Framework 等の豊富なライブラリを利用できます。 《欠点》 ・VB6 からのアップグレードウィザードは、VB2008 までにしか搭載されていませんので、 現行バージョンでコンバートする場合、自力で手動実装することになります。 ・2002〜2005 年ぐらいまでは、VB6 からの移行のための情報が数多くありましたが、 今となっては過去の資産であり、そうした資料が手に入りにくくなっています。 《備考》 ・2002(7.0)/2003(7.1)/2005(8.0)/2008(9.0)/2010(10.0)/ 2012(11.0)/2013(12.0)/2015(14.0)/2017(15.0)と、既に 多くのバージョンを重ねています。
【C#】最新バージョン 7.3 (Roslyn 2.8 / Visual Studio 2017 version 15.7) 《利点》 ・無償で使える開発環境が提供されています。 ・Windows 以外にも、iOS、Android、PlayStation Suite、Xbox One 向けの開発もできます。 ・Raspberry Pi 3 + .NET Core などを使って、IoT 開発も可能です。 ・VS2015 以降、新しい言語機能のリリース頻度が非常に短くなっており、 Visual Studio を購入しなおさずに新しい言語機能を追加できます。 《欠点》 ・BASIC 系列の言語ではなく、C 系列の言語なので、多少の慣れは必要かも知れません。 ・2010 ぐらいまでは人力翻訳された資料が多かったのですが、最近の Microsoft 公式資料は 機械翻訳されたものが増えてきています。 《備考》 ・.NET Framework や .NET Core など、VB.NET と同じライブラリを 使う言語ですので、余裕があれば VB.NET と C# の同時取得も可能かと思います。
上記以外で有名どころとしては、Java ですね。複数の OS に対応しているので汎用性があります。 VB/C# とは異なる名前付け規約になりますが、習得難易度は VB.NET/C# と大差ないでしょう。 なお下記に示されるような事情がありますので、各バージョンのリリースサイクルについても 注目しておかれることをお奨めします。 http://www.orangeitems.com/entry/2018/02/08/152022 http://www.orangeitems.com/entry/2018/02/23/173726 http://www.orangeitems.com/entry/2018/03/22/173644
あとは、メジャーどころから多少外れても良いのであれば、 Xojo (ゾージョー)言語 (X-platform ObJect Orientation) というものもあります。 これも複数の OS に対応した製品であり、数多くの OS に対応しているのが売りです。 元が REALbasic 系統の言語なので、言語仕様が VB/VBA/VB.NET と類似しており、 移行もしやすいと思います。(Visual Basic からのマイグレーション支援ツールもあります) https://xojo.grapecity.com/ http://developer.xojo.com/ja/system-requirements https://codezine.jp/article/detail/9127 https://ja.wikipedia.org/wiki/REALbasic#REALbasic%e3%81%ae%e7%8f%be%e7%8a%b6
|