Top Banner
Visual Studio.NET : Part II .NET ソリューション開発部 Visual Basic/Visual C++/C# プロダクトマネジャー 田中達彦 Session ID : GS - 07
25

[2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Jul 18, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Studio.NET : Part II

.NETソリューション開発部Visual Basic/Visual C++/C# プロダクトマネジャー田中達彦

Session ID : GS-07

Page 2: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Agenda : Part II

Visual Studioの進化

Visual Basic.NET新機能

Visual C++.NET新機能

Visual C#

各言語の比較

Visual Studio.NETの生産性

Visual Studio.NETへの移行

Page 3: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

注意

今回のデモで使用するVisual Studio.NETは開発中のものであり、デザイン、仕様は製品版において変更される場合があります

このスライド中の用語についても、製品版で変更される場合があります

Page 4: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Studioの進化

1つの統合開発環境

Visual InterDevの統合

Visual Basicの進化

新開発言語C#の登場

Page 5: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Basic.NET新機能

ユーザーのニーズに合った機能を提供

洗練された言語への進化

壁の除去

Visual Studio.NETへの統合

.NETアプリケーションの容易な開発

~設計思想~

Visual Basicプログラマのスキルをそのまま.NETへ移行可能

Page 6: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Basic.NET新機能

最新のUIの構築

Windowsアプリケーション

Webアプリケーション

DLL地獄からの脱出

xcopyデプロイメント

~ VBランタイムから.NET Frameworkへ~

Page 7: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Basic.NET新機能

オブジェクト指向プログラミング機能搭載

クラスの継承

カプセル化

オーバーロード

最新テクノロジへの対応

構造化例外処理

フリースレッディング

~言語の進化~

Page 8: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Basic.NET新機能~ コードの例~

Imports System.MathNamespace GeometryPublic Module Module1

Public Class Triangle

Dim tri As New Triangle(2, 3, 4)

Console.WriteLine(tri.Compute())

Dim ma, mb, mc As Integer

Dim s As Double = (ma + mb + mc) / 2Return Sqrt(s * (s - ma) * (s...

Imports System.Math

Namespace Geometry

Public Module Module1

Sub Main()

Dim tri As New Triangle(2, 3, 4)

Console.WriteLine(tri.Compute())

End Sub

End Module

Public Class Triangle

Dim ma, mb, mc As Integer

Overloads Public Sub New(a As Integer, b As Integer, c As Integer)

ma = a : mb = b : mc = c

End Sub

Public Function Compute() As Double

Dim s As Double = (ma + mb + mc) / 2

Return Sqrt(s * (s – ma) * (s – mb) * (s – mc))

End Function

End Class

End Namespace

Page 9: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C++.NET新機能

.NET Frameworkのフルサポート

C++プログラマにRAD言語と環境を提供

C++の資産と知識を活用

Visual Studio.NETへの統合

~設計思想~

Page 10: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C++.NET新機能

ネイティブWebサービスの構築

ATL Server

COMコンポーネントの.NET対応

C++マネージ拡張

Attributeによるコーディング量の減少

~ネイティブコードの活用~

Page 11: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C++.NET新機能

Webアプリケーションのための拡張

ATLの思想を継承

小さく速いコンポーネント

パフォーマンスを要求されるWebサービスの構築に最適

~ ATL Server ~

Page 12: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C++.NET新機能~ ATL Server ~

Request

Dispatcher

ATL Server

Services

VCISAPI.DLL

Web C

lient HTTP Request

HTTP Response

Request

Handler

SRF

Files

Your App

Page 13: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C++.NET新機能

.NET Frameworkへのアクセス

言語レベルの相互接続性

.NET Frameworkの使用例

~ C++マネージ拡張~

#using <mscorlib.dll>

using namespace System::Console;

void main()

{

WriteLine(L"Hello, World");

}

Page 14: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C++.NET新機能

Common Language Runtimeを使用

~ C++マネージ拡張~

#using <mscorlib.dll>

__gc class intList {

int i;

intList *next;

};

void main() {

for(int i = 0; i < 10; i++) {

intList *pNode = new intList;

}

}

Page 15: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C#

C/C++ファミリー言語の中で最初のコンポーネント指向言語

イベント、メソッド、プロパティ

設計時、実行時のAttribute

XMLを使用したドキュメントの融合

~設計思想~

ヘッダーファイル、IDLが不要

C/C++開発者のためのRAD言語と環境

Page 16: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C#

全てのものはオブジェクトである

次世代の堅牢かつ耐久性のあるソフトウェアを構築できる

ガベージ コレクション

例外処理

タイプセーフ

バージョン管理

~設計思想~

Page 17: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual C#

すでに100万行を超えるC#のコードが.NETに含まれている

習得が容易

高い生産性

~生産性の向上~

バグの出にくい言語仕様

Page 18: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

各言語の比較

Visual Basicは初心者から企業内アプリケーションまで幅広くサポート

Visual C++はハイパフォーマンスを要求されるアプリケーションの構築に使用

Webアプリケーションの構築にはVisual InterDev

~ Visual Studio 6.0世代~

Page 19: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

各言語の比較

.NET Frameworkを使用する場合、どの言語でも高い生産性とパフォーマンスを実現 Visual Basicユーザーは、Visual Basicを使い続けたまま .NET Frameworkの世界に入ることが可能

ネイティブコードが必要な場合のみVisual C++を使用

全く開発言語を知らない初心者にはVisual C#

~ Visual Studio.NET世代~

Page 20: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Studio.NETの生産性

1つのIDE(統合開発環境)

エディタ、デバッガを共有

複数の開発環境を起動する必要がない

進化したIDE ソリューション エクスプローラ、クラス ビュー、

タスク一覧、ツールボックス、ダイナミック ヘルプ、コマンドウィンドウ

マクロ

~統合された開発環境~

Page 21: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Studio.NETへの移行

Visual Basic 6.0プロジェクトの読み込み

Visual Basic.NETのプロジェクトに変換

変換できない部分にToDoコメントを付加

Visual Basic 6.0からVisual Studio.NETへの変換方法については、Webやホワイトペーパーで提供

~ Visual Basic ~

Page 22: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Studio.NETへの移行

C++マネージ拡張による移行

コンポーネント化されたアプリケーションをC++マネージ拡張によって .NET Frameworkに移行可能

ATLで作成したロジックをWebサービス化して提供

~ Visual C++ ~

Page 23: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

Visual Studio.NETへの移行

コンポーネント化の推進

Web、ホワイトペーパーの確認

.NET Frameworkの情報の収集

MSDNユニバーサル

.NET Framework SDK

~移行のヒント ~

Page 24: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II

まとめ

Visual Basic、Visual C++とも.NETのために進化している

.NET Frameworkを使用する際、言語はいちばん得意な言語を使用すればよい

http://www.microsoft.com/japan/developer/vstudio/nextgen/

Page 25: [2000/10] .NET Technical Briefing 2000 / Visual Studio .NET Part II