★ The Tsuchinoko News 2 (つちのこ通信2) ★

重要な話から、どうでもいいことまで。ほとんど役に立たないことを書き連ねています。

【PC】今さら Visual C# 2010

f:id:tsuchinoko118:20120922141141j:image:left:w260筆者はマシン語(ハンドアセンブル)出身でパソコン(当時はマイコンと呼ばれていた)ではアセンブラとフォートラン出身で、お仕事になってからはC言語(ぷらぷらじゃない方)ばかり触り、Windows98以降は、外側はVisual Basic,高速処理を要求するところや部品をつくるときだけC++ という両刀遣いで、自前ライブラリが出来てからは、ほとんど Basic だけで済むようなお仕事が多くなっていった。ってな経歴である。
ところが Windows 7 になり、そろそろこのやり方が通用しなくなり、世の中から XP が徐々に駆逐(笑)されはじめた頃から、10年ぐらいワープして、いきなり Visual Studio 2010 にシフト。まずは今までと似たようなやり方を続けていたりした。
昨年は Windows Phone。今年は Android(Java)に手を出して、と、なんだか、いろんな言語やエディタを切り替えて触るようになりはじめると、やや頭がショートして IF( s.equals( "A" ) ) THEN ・・・などと入力してしまったり混乱が激しくなっていった。この傾向は、(おかげさまで!)お仕事が極端に忙しくなってくると(ありがとうございます!!)顕著で、どうにかならないものかと思っていた。

少し休憩できる時間がとれた日に、よくよく考えてみると、.NET Framework 主体のアプリをプログラミングをするんだったら、言語がBASIC であろうが C# であろうが同じことなのですよね。と思いつき、ネットなどを調べてみると、やはりほとんど同じことであった。

たしかに Microsoft が C#をおすすめしていたりしてたこともあり、 昔のBASIC は構造化も難しく、とにかくソースが汚らしくなりがちだった悪印象も手伝い、「し~」というと格好いい(笑)ことも手伝い、C# が主人公のようだが、筆者的な感想では少なくとも .NET4 と Visual Studio 2010 で言うなら、同じである(笑) BASIC と C# の(いい・悪いの)差はよくわからない。

昔は、Cでないと出来ないこと、Cの方がよいこと、の反面、C だとおそろしく時間コストがかかり BASIC の方が手っ取り早く柔軟だったことなど、大きな差があった(と、筆者は思っている)。だからこその mixed language であり、当時 Visual ではなく Quick を出していた Microsoft は mixed をおすすめしていたりした。

ところが今は .NET という CLS があり、BASIC であろうと C# であろうと どちらにしろ .NET に命令することがほとんどで(全てかも)、構文構成の仕方はちがうものの Visual Studio の爆速エディタ(IDE)のおかげで、開発効率うんぬんにもあんまり差がない。
巨大なプロジェクトだったり ISOがらみがあると C でないと困ることもあるのだろうけど、それも開発言語的意味合いではなかったりするので、明確にだから C#がよい、という実感がない。

こと BASIC , C ,ASSEMBLER, FORTRAN,PASCAL, その他 FAがらみのマイナーな言語などなどを触ってきたりして、昔の言語(ぜんぜん統一感がなかった。同じCでも、あのCとこのCは違ったのだ(笑))あがりなので、なんだっていいや、という感覚があり、どうでもいいことのように考えたりもしていた。

ただ Java と BASIC と C++ をいったり来たりするようになり、ほんとによく間違えるようになってきたので、あえて今までのスタイルで続けなくても、C# を触ればいいんじゃないか、と(笑)

まったく今さらであるが(苦笑)さっそく C# を開いて、ちょこちょこコーディングしてみると、ほとんど Java いやこれは 何かに似ている。。。そうだそうだ 出るっぴだ!( Delphi だ)

ためしに小さな VB のプログラムを横に開いて、なんにも見ないで(つまり C の構文だけ頭にはいっているので)”移植”してみると、ほとんど悩むことなく移植できてしまった。
形はちがえど、結局は .NET におんぶにだっこ。
ただひたすら .NET を呼び出しているだけなのだから、そりゃそうだ。

奥深くまで触ってないのでよくわからないが、昔のように C# に出来て VB にできないことってあるのかな。あるいは VBだとカンタンだけど C(#) だから、数十倍もコーディングが増えるとかあるのかな。なんとなくなさそうな気がしているが。

これからはちょっと開発スタイル変えていこう。
筆者にとっては、進化ではなく、原点回帰だったりする。
なんだか若返った気分だ(笑)