So-net無料ブログ作成

最近停滞中。C#今頃やって見た [プログラミング]

というか、半年ぐらい停滞中なんですけどね。まぁやることがないというか、ないことはないがおおっぴらに出来ないというか。とりあえず、昼間の眠気はどうにかならないかなと思うのだけれど、慢性の病気の薬の副作用なので止めるわけにもいかず、カフェインで眠気止めをしているのはしているのだけれど、根本的な解決になっていないのであった。やっぱ何もすることがないと眠くなるよねぇ。

お盆休みに甥が来て土日がドラゴンボールの対戦で結構削られた。接待ゲームなので程よく負けないといけなくてちょっと面倒。あまりに気を抜きすぎってのもどうかと思うし、なるべく接戦に持っていこうとしているのだが、甥はあんまり気にしていない模様で勝てればいいという感じ。まぁまだ小学生低学年だもんなぁ。

友達がC#をやろうとか何とか言う話になって、色々調べたんだけど結局VB6のツールが動かなくなったり新規開発するときにはどうするんだということになったらしい。というか、まだVB6の実行ファイル動くねんなw。まぁWin32APIも現役だと思うので、動くのも当然なのかもしれないけど、作り直すのも労力がかかるので動かなくなるまで放っておきたい気持ちも分かる。

とりあえず、Visual Studio 2017を入れているがそこそこ時間がかかる。まぁ昔から開発環境のインストールは時間がかかるものと相場が決まっている。Eclipseみたいにディレクトリをぽいと置けば済むというものでもないし、最近のEclipseは普通にインストーラで入れるのは常道か。

やっぱりプログラミングは開発環境を入れて実際に動かして何ぼなので、友達の仕事とはいえやってみないことにはあまり無責任なことは言えない。ただでさえ環境が違ってこっちでは動くのに、他では動かないということは頻繁に起こることだし、実際に動作を確かめるってのは大切な作業ではある。テストしなくたって動けばそれで足りるんだし、最低限の確認事項ではあるわな。

最近のWindowsアプリといえば.NETがデフォルトでしょうけど、UWPっていう更に広い範囲で使えるものを作れるものが出てきた。スマホでも使えますよというものなので、正直あまり期待してはいないのだが、色々なところで使うのに作り直さなくていいのは助かる。助かるが、そういう用途があるかというとまた別で、汎用性があった方がいいな程度のものであったりする。

UWPはタッチインターフェイス優先だろうから、あまり凝ったものは作りにくいだろうなとは思う。マウスと指のオペレーションは根本的に違うからねぇ。一本化できるというだけでありがたいと思うべきなんだろうけど、それが嫌だったら今までのスタイルを貫き通せばいいというだけなんでしょうけど、貫き通す.NETの資産はないしねぇ。多くの業務アプリはWebインターフェイスになっていたりするのだろうし。

更に進んだところに、.NET Coreみたいなのがあるらしい。互換性を高められそうだけれど、やっぱり基礎的な部分にとどまりそうな予感。やっぱりGUIとかが絡んでくるととたんに互換性や移植性は落ちるのが常ですし。というか、MonoだとかCoreだとかちょっと一般的にある単純すぎる名前で分かりにくい気はする。

Windows10同士はいいにしても、もうクローズに向かっているWindows7とかは気にされていないんだろうな。まぁそれも使いたい場合は前の方法によるしかないというか、そもそもUWPの範囲に入っていないんだろうな、詳しくは知らないけど。Windows7が終わる前にWindows10は安定するだろうか。ダメかもしれないけどUWPをWindows7でやってみようと思う。まぁ本番でアプリをぶち込むわけじゃないからいいや。


これを書いたり色々なことをしているうちにもう少しでVisual Studioが入りそうです。昔はCDとかのメディアで入れていたものですが、最近はみんなネット経由で帯域を贅沢に使っていますね。というか、光学メディアでリリースするよりか手間もメリットもあるんで、無料でもリリースできるようになっているんでしょうね。今でもOSインストールメディアで、そこそこでかいファイルをダウンロードしないといけなかったりするけど、それでも最低限のファイルで後は後でこまごまダウンロードというケースがほとんどだと思います。

昔はインストール中は保障しかねるので作業しないでねといわれていましたが、最近はそういう話は聞かない。作業をしてもいいよって言うダイアログが出た時代もあったけど、メニーコアが普通になった今としてはインストール中に作業を止めること自体が少ないかもね。昔は休む口実になっていたんだけど、今は少し遅くなるくらいで作業は並行してできるので厳しい世の中になりましたw。

まぁインストール作業自体、コンパイルでもしない限りはシングルスレッドで動くものだろうから、他で影響を受けるのはストレージがバンバン使われて遅く感じるくらいでしょう。メモリが潤沢であれば、少々書き込み読み込みが発生したところで、SSDであれば気にならないでしょうね。どんどん休む口実がなくなって、手を動かす時間が増えて考える時間が減っている気がするんだけどどうだろう。立ち止まって考えるってのはプログラマには結構大事だと思うんだけどな。休む言い訳としか聞こえないだろうけど。


公式サイトのチュートリアルを見てダラダラやってみている。VB6と大きく変わってはいないところもあるだろうなとは思っていたが、基本的なところはすべて変わっていたといっていいのかもしれない。C#でやったのだけれどXAMLとCSファイルが紐づいているとか、CSファイルの名前を変えるだけでXAMLのなかみをコーディングしないといけないとか、初期の部分でかなりだるい感じで、VB6の方が楽だったと感じる部分も多かったりしました。

大まかなインターフェイスは似ていて、設計図のダイアログのボタンをダブルクリックすると、コーディング部分に飛ぶとかは基本的に同じで、良くも悪くも変わっていません。そういうところまでは変えていないけれど、内部的なところは全然変わっている感じ。

まぁVB6自体が前世紀の遺物なわけで、時間がかなり経っている時点で変わっていて当然なのですが、.NETだからといってわけの分からないほどには変わっていないのではないかと思いました。VB6にあたるWin32APIぐらいの深さを探ると面倒も出てきそうですが、基本的に既存のAPIは.NETのツリー上に存在するんでしょうし、前できたことはできるというのが普通だと思ってはいます。無くても何らかの代替案はあるんでしょうし、Deprecatedになっていたとしても何とかはなるんでしょう。

やってはみたものの特に与えられた御題があるわけでもないので、暇をつぶすだけで本人的には実害がないです。友達の会社で問題になるかもという爆弾なだけで、VB6アプリがWindowsプラットフォーム上で動き続ける限り問題ありません。というか問題があっても自分には関係ないのでお気軽に検証してみただけです。

その前にVB6だからVB.NETにすべきかとか、マイグレーションツールは上手く動くものなのかとか、色々考えることがあったのだけれど、一般的な傾向でC#でやるのがいいのだろうという方向にはなっています。人的リソースが少ないのであまりマンパワーをかけたり冒険ができないところなので、なるべく移行における被害が出ないようにしないといけないわけです。まぁ作った人がずっといるとは限らないからねぇ。いなくなっても他に保守する人がいればいいけど、そういうわけでもないしなぁ。マイグレーションってのはどこに行っても頭の痛い問題だったりします。

ただVB6のサポートが終わると言われてから、10年近くは経っていると思うので、案外ずっと使い続けられそうかもなと思ったりもします。ほとんどが64bitOSになった今でもWin32がなくなるわけでもないですし、代替となるプラットフォームがいつまでも磐石とはいえないですしね。まぁあっさりきられるテクノロジーもあるわけですが、メジャーなところだと文句が出まくるので、何とか延命される運命にはあるようです。現在のWindows10でもランタイムがあって動くようですが、どこまで延命されることか…。

ただ、あまりに延命されるとほぼ作り直しという面倒が待っているので、いい加減のところで舵を切ってもらわないと結局みんなが困るという状態になるんだろうなと思ったりします。IE6あたりでの切り替えの問題のように、それだけでもインパクトがあったので相当ソフトランディングさせないと厳しいとは思いますがね。

コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0