誰にでもできる!システム開発  RSSを登録する

73%は失敗と言われている、システム開発プロジェクトを成功させるためのテクニックや考え方をお届けします。新人エンジニアが失敗しやすいポイントも詳しく解説しています。

現在休刊中です    
解除

規約に同意して

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/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
現在休刊中です
解除

規約に同意して

最近の記事

上へ戻る