Contenu connexe
Similaire à 20010901 (20)
20010901
- 2. C# とは
Microsoft が 2000 年 6 月に発表した開発言語
C/C++ をベースに開発されている
構文や制御構造はほぼ同じ
ECMA(Europian Computer Marufactures Association) に
より標準化の作業中
http://www.ecma.ch/
現時点の Working Documents
• http://msdn.microsoft.com/net/ecma
- 4. オブジェクト指向開発言語
構造化プログラミングの進化した形
進化のキーワードは開発効率、再利用性、メンテナン
ス性(わかりやすさ)
機能とデータをまとめてオブジェクトとすることで、
オブジェクト同士の関係を疎にすることが再利用性、
メンテナンス性をたかめる
わかりやすさをもとめた進化はつづいている
UML (記法の統一)
パターン(類似する構造に対する命名)
エクストリーム・プログラミング(チームコミュニケ
ーションの促進)
- 5. C# を構成するもの
Class Library
システム I/O 、文字列操作、ネットワーク、 XML
C# コンパイラ
CIL ( Common Intermediate Language) に変換
タイプチェック
Virtual Execution System
実行時にクラスをロード(レイトバインディング)
機械語に変換して実行( JIT コンパイラ)
メモリ管理
- 6. Microsoft 社以外の C# の実装
FreeBSD への対応
Microsoft とコーレルが提供
Mono プロジェクト( http://www.go-
mono.net)
オープンソースプロジェクト
ECMA の定義にもとづいて C #を実装
Windows ( +Cygwin) 、 Linux 、 Unix に対応
クラスライブラリを充実 (.NET Framework に準じ
る)し、ウィンドウプログラミングやデータベース
接続に対応予定
- 7. Microsoft 社の C# の実装
.NET Framework として提供される
Base Class Library
MSIL
CLR ( Common Language Runtime )
開発言語として、 C# だけでな
く、 VB.NET 、 Managed C+
+ 、 Jscript.net に対応
COM との連携が容易
- 8. .NET Framework
そ
Managed
C# VB JS の
C++ 他
.NET Framework
Base クラスライブラリ
ASP.NET Window
ADO.NET ( Data/XML )
System
JIT
CLR
メモリ管理
- 9. Microsoft 社が提供する
BaseClass Library
ASP.NET
WebForm
• 従来の Web アプリケーション
• インタフェースとコードの物理的(ファイル)な分離が可
能に
Web サービス
• XML をベースに、インターネット上に分散システムを構築
• Hailstorm が Web サービスの実例として、また分散シス
テムの開発のプラットフォームとして提供されることにな
る
ASP.NET ではファイルのコンパイル作業は不要
• 適切なフォルダに配置し、 URL によりアクセスされた時点
で自動的にコンパイルが行われる
- 10. BaseClassLibrary - 2
Windows.Forms
デスクトップ ( ウィンドウ ) アプリケーション
• 一つのソースファイルでウィンドウアプリケーションの構
築が可能に
• Web サービスのクライアントとしてのウィンドウアプリケ
ーションの構築も簡単
ADO.NET
DB 連携(インメモリデータベース)
XML 対応
SYSTEM
システム I/O
- 11. テスト環境の構築
.NET Framework SDK Beta2 をインストール
http://www.microsoft.com/
japan/developer/net/dotnetsdkdown.asp
W2k 、 NT4.0 、 98 、 Me 、 XP に対応
メモリはできるだけ多いほうがよい
ASP.NET は W2k 以降のみサポートとなる
再配布用モジュールのインストールにより実行環境
だけを構築することも可
ASP.NET をサポートする Web サイトでテスト
する
http://www.brinkster.com/ 等
- 12. Tutorial からはじめよう
Framework SDK のインストール後、
MSDE と Tutorial のインストールを行う
Tutorial は全文英語であるが、サンプル
のソースとコンパイル済みの実行可能フ
ァイルが提供されているので、動作を確
認しながら C# に対する理解を深めるこ
とができる
- 13. 開発ツール
VisualStudio.NET
ドラッグ&ドロップ、プロパティウィンドウ
を利用した効率的なユーザインタフェース開
発
分散環境に対応したデバッグ
SharpDevelop
フリーウェアの開発ツール
• http://www.icsharpcode.net/OpenSource/SD/
Unit テストツールを取り込んでいる
- 14. コマンドラインコンパイラ
csc.exe
/t:exe コンソールアプリケーションを作成
/t:winexe ウィンドウアプリケーションを作成
/t:library dll を作成
/r:***.dll 指定した dll の内容を参照
作成した実行ファイルはコピーにより実行可
レジストリへの登録等の作業は必要ない
各ファイルが自分自身についての情報をもつ
バージョン管理も容易になる( dll ヘルの終焉)
- 15. #include <stdio.h>
void main(void)
{
Java と C#
char buffer[1024];
int line;
line = 0;
while(fgets(buffer, 1024, stdin) != NULL){
line++;
printf("%3d; %s", line, buffer);
}
}
import java.io.*; // パッケージ using System; //namespace
public class jTest { public class csTest {
public static void main(String[] args) { public static void Main(string[] args) {
BufferedReader reader =
new BufferedReader(new
InputStreamReader(System.in), 1); try {
try { string buffer;
String buffer; int line = 0;
int line = 0; while ((buffer = Console.ReadLine()) !=
while ((buffer = reader.readLine()) != null) null) {
{ line++;
line++; Console.WriteLine("{0,3} {1}", line,
System.out.println(line + " " + buffer); buffer);
} }
} catch (Exception e) { } catch (Exception e) {
System.out.println(e); Console.WriteLine(e);
} }
} }
} }
- 17. C# を学習するために
MSDN magazine
書籍
C# プログラミングリファレンス(リックテレコム
)
C# 標準リファレンス(日経 BP )
プログラミング C# (日経 BP )
Microsoft .NET テクノロジガイド(日経 BP )
C# 入門( SOFTBANK )
Web サイト
MSDN(http://www.atmarkit.co.jp)
@ IT(http://www.atmarkit.co.jp)