2008/09/01
【誰にでもできる!システム開発】.NETになって変わったこと(前編)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『誰にでもできる!システム開発』 2008/09/01 号
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ご愛読、ありがとうございます。
このメールマガジンは、システム開発を始めたばかりの方、これから始める
方向けに、筆者が日頃から心がけていることをお話しています。
扱う内容については、テクニックと考え方を半分ずつで構成しています。
思っていた内容と違う、つまらない、読む気力が無くなったという方、
購読解除はこちらからできます。
http://www.mag2.com/m/0000263428.html
著者プロフィール
http://www.shiga-it-office.com/mailmagazine/writer.html
事務所概要
http://www.shiga-it-office.com/profile.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■第15回 .NETになって変わったこと(前編)
────────────────────────────────────
前回、VisualBasic6.0から.NET化することで、過去の資産を活かそうという
お話をしました。
しかし、VisualBasic4.0〜6.0は長い間使われてきたため、いきなり開発手
法を変えろと言われても抵抗がある人もいると思います。
そこで、今回はもう少し突っ込んで、.NETになると何が変わるのかを説明し
ようと思います。
読者の皆さんの中には、.NETに関係の無い仕事をされている方も多いと思い
ますが、軽く読んでいただいて「へえ〜、.NETってこういう風になってるん
だ」と感じていただければと思います。
●MSILとJITコンパイラ
.NETでコーディングされたプログラムをコンパイルすると、MSIL(Mirosoft
Intermediate Language)という中間コードに変換されます。
中間コードにコンパイルされるという仕組みはVisualBasic6.0でも同じなの
ですが、.NETでは実行時にコードが必要になったとき、さらにマシン語に変
換して実行します。
この中間コードをマシン語に変換するものが、JITコンパイラです。
変換処理は実行時に行われるので、当然のことながら変換処理が行われてい
る際は遅くなりますが、2回目からはコンパイルは不要で実行のみとなるた
め、全体を通して考えると驚くほど高速で動作します。
●アセンブリ
.NETアプリケーションの構成単位であり、配置やバージョン管理もアセンブ
リ単位で行います。
アセンブリは1つ以上のファイル(DLL、EXE、リソース)で構成されます。
さらに、DLLやEXEは、MSILとメタデータから構成されています。
メタデータには、アプリケーションに関する情報が含まれています。
.NET以前は、アプリケーションに関する情報を管理するためにレジストリを
使用していましたが、.NETではレジストリが不要になります。
レジストリが不要になったことで、VisualBasic4.0〜6.0で作成されたアプ
リケーションにありがちだった、DLLをバージョンアップしたら動かなくな
ったという現象が起こらなくなりました。
●マネージコード
共通ランタイム(Common Language Runtime:CLR)上で実行されるコードを
マネージコードと言います。
共通言語仕様により、様々な.NET言語間でメソッドを相互的に利用すること
ができるようになりました。
CLS準拠の言語は、20種類以上あるそうです。
一方で、CLSに関係なく作成されたコードを、アンマネージコードと言いま
す。
VisualBasic6.0や、VisualC++6.0で作成されたコードは、アンマネージコー
ドです。他にも、Win32APIもアンマネージです。
基本的に、全てをマネージコードにするのが望ましいのですが、旧資産を活
かすとなると、そう簡単にはいきません。
例えば、昔作成したCOMを使いたいということがあると思います。
そのような場合のために、CCW(COM Callable Wrapper)や、RCW(Runtime
Callable Wrapper)という仕組みが用意されており、.NET上からCOMを呼び
出すことができるのですが、動作コストが高いので検討が必要でしょう。
------------------------------------------------------------------------
■編集後記
最後までお読みいただき、ありがとうございました。
今日から9月なんですが、この文章を書いているのは8月31日です。
学生さんは、今日で夏休みが終わりということで、慌てて夏休みの宿題をや
っている人も多いのではないでしょうか。
私は嫌なものは先に片付けてしまうタイプなので、日記などの早めに片付け
られない課題以外は、7月中にほぼ終わらせていました。
そのため、お盆を過ぎると友達が宿題で手一杯なのに、自分だけ暇みたいな
状況になっていました。
それから20年経った今、自分で決めた締め切りを守りながらメルマガを発行
しているのですが、この最後の「編集後記」になかなか苦戦しています。
普段の日常を書くだけなのですが、あまり変化の無い生活なので、慢性的な
ネタ不足に陥っているんです...
本文で書いているネタは、あらかじめストックしてあるものの、編集後記に
何を書こうかなあと、パソコンの前で何時間も考え込むことも少なくありま
せん。
そんな事を思いながら、8月31日に宿題をする人の気分ってこういう感じな
んだろうなと気づきました。
ということで、何かネタになりそうな話などありましたら、どしどし送って
きてください(他力本願)
http://www.shiga-it-office.com/mailmagazine/ImpressionFrom.html
の専用フォームから、匿名で送ることができますので、気軽にどうぞ。
ご感想・ご意見・ご要望などありましたら、気軽にご連絡ください♪
では、また来週お会いしましょう!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『誰にでもできる!システム開発』 2008/09/01 号
本日のメールマガジンを読んだ感想をお聞かせください。
お寄せいただいた感想は、メールマガジン上で紹介させていただくことが
ありますので、ご了承ください。
配信中止はこちらから↓
http://www.mag2.com/m/0000263428.html
メールアドレスの変更はこちらから↓
http://www.mag2.com/m/0000263428.html
ご意見&ご感想はこちらから↓
http://www.shiga-it-office.com/mailmagazine/ImpressionFrom.html
コンサルティングのご相談はこちらから↓
http://www.shiga-it-office.com/inquiry.html
発行元 志賀IT事務所
http://www.shiga-it-office.com/
関連メールマガジン 「誰にでもできる!インターネット活用術」
http://www.mag2.com/m/0000263426.html
関連ブログ
☆コンサル日和
http://d.hatena.ne.jp/kei_onpu/
☆爆裂!C#野郎
http://csharp.yaminabe.info/
☆10年戦える開発技術
http://10year.yaminabe.info/
☆情報処理技術者試験午前対策
http://am.yaminabe.info/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



