質問: 半導体装置を作っている会社でプログラミングの仕事に携わっている者です。これまで、Windows OSをターゲットとしてVB.Net 2013にてアプリケーション開発を行なってきました。 (1) Linuxを使う利点について 最近、装置のパソコンをWindows OSにするよりもLinuxに変えた方がよいというアドバイスをよく耳にします。(開発環境ではなく実行環境の方です。) まだ勉強中であまりよく分かっておらず、大変恐縮ですが、Linuxを使う利点について教えていただけないでしょうか。 Windowsの場合は、アプリケーションが.Net Frameworkのバージョンに依存する為、WindowsのOSが新しくなって今まで使っていた.Net FrameworkのバージョンにOSが対応できなくなった場合などに、アプリケーションの作り替えを余儀なくされるということがあると聞いています。 また時代と共に古いOSのパソコンは買えなくなってきますので、古い装置のパソコンが壊れた場合などに、対応に苦慮するという事が挙げられるのではないかと思います。 Linuxの場合は、常に同じ環境のOSがどんなパソコンにも(例えば、2000年に購入したパソコンにも2020年に購入したパソコンにも)用意でき、時代と共にパソコンが変わっていってもアプリケージョンの変更を余儀なくされる様なことはないという理解で合っておりますでしょうか。 (2) WindowsアプリからLinuxアプリへの移行について Visual Studio 2015のVisual C++ for Linux拡張機能を使うことにより、Linux環境でのアプリ開発ができるとこれまでは理解しておりました。しかし、残念ながら私はVB.netでの開発経験しかなく、Visual C++を今から勉強しようかと考えていた所です。 しかし最近Micorosoftから、LinuxでWindowsコードが動く「.Net Core」が正式版リリースされたという情報を目にしました。これを使えば、VB.NetでのLinuxアプリの開発が可能になるという理解で合っておりますでしょうか。 ネット上で情報収集を行なっておりますが、私の理解が追い付いておりません。素人質問ばかりで大変恐縮ですが、どなたかご教授いただければ幸いです。
回答: ’(1) Linuxを使う利点について ’ Windows及びLinuxにはそれぞれ一長一短があります。また’半導体装置を作っている会社’であるという事を考慮しますと、恐らく今までの開発では`Windows Embedded`が多かったのだろうと勝手に解釈して考えてみますと、単純に`Windows`が良い、`Linux`が良いという回答にはならないだろうなぁ。と思います。 また制御系として観た場合に、周辺機器との接続で必要なドライバー及び制御ソフトの有無もあるでしょうし。機器取付のPCのOS選択の範囲も制限があるでしょうし。 機器変更の際の対応についても、基本的に元ソースが有ってリビルトが出来る状態が良いのでしょうけど。 ’(2) WindowsアプリからLinuxアプリへの移行について’ 全て試している訳ではないので、予想される心配について記載します。 `Windows`固有の部分の一部は動作しないと思います。アプリからOSへのアクセスをエミュレートして?動作させているでしょうし。 製品としての開発と考えるとC++などを学んで、ターゲットに適した環境を構築するのが理想ではないでしょうか?`Windows`で出来ていたことが`Linux`ではどのように実現できるか?を考えるだけ。しかしエミュレート環境では`Linux`の普通では動くが、エミュレーターでは動かない。という事が1つも無いとは断言できませんし、それに時間を割くのは無駄が多くなるような気がします。