「D言語」の版間の差分

D言語は、C言語とのソース互換性を持ってない
(→‎DMDのダウンロード/インストール: リンク方法を更新。ちょっとクリックしづらかった。)
(D言語は、C言語とのソース互換性を持ってない)
----
{{stub}}
 
== D言語への招待 ==
D言語はWalter Bright氏(低価格/高速コンパイラで名を馳せた Datalight C。世界初のnative-C++コンパイラ Zortech C++、そしてその後継であるSymentec C++、Java開発環境 Cafeなどで知られています)によって開発が始められた言語です。<br>
 
2010年代にFacebook社がD言語を支援したので有名になりましたが、しかしFaqcebook開発ではなくWalter Bridge氏の開発する言語あり、2001年からD言語は公開されています。
 
なお、Walter Bright氏は、低価格/高速コンパイラで名を馳せた Datalight C。世界初のnative-C++コンパイラ Zortech C++、そしてその後継であるSymentec C++、Java開発環境 Cafeなどで知られています
 
 
== D言語の特徴 ==
D言語は、C言語とのソース互換性を持ってないです。(一方、C++は標準C言語とのソース互換性を持っている。)
 
D言語の開発者たちは、標準C言語とのソース互換性を持たせると、古い時代遅れのノウハウ(バッドノウハウ)を引きずりかねない、と考えているので、あえてD言語にはC言語とのソース互換性を持たせないでいます。
 
 
D言語の特徴をいくつか上げておきましょう。
 
型(かた)というのは変数の形式です。
 
コンピューターでは数値として整数(-1,0,1,2等)や実数(1.4142,3.1415 など)を扱う事ができます。
C言語と同様に、D言語ではこれらをint型、float型と言います。
他に重要な型として、文字1文字を表す文字型があります。
 
配列型という型もあり、その配列型であるT[] aはT型の配列を表します。
 
char[] mojiretuはchar型の配列、つまりchar型の変数幾つかが一まとまりになったもの、となります。
char[] mojiretu
char[] mojiretu char型の配列、つまりchar型の変数の いくつかが一まとまりになったもの、となります。
 
文字型は1文字を扱う事よりも、文字の集まった文字列を扱う事が多いので、string型という元々配列の型が用意されています。これは(1.Xでは)char[]と同じものです。
 
クラス / 構造体 / union / enum という型もあります。これらは別の場所で宣言する必要があり、その時に指
定した一意文字列を型に指定します。
 
型の異なった変数を一まとめにして扱う事ができます。
 
関数型/delegate型はTODO。
 
また void という特殊な型があります。これは値が無いことを表します。
 
=== 宣言 ===
</syntaxhighlight>
 
(C言語の関数については[[C言語/関数]])
C言語を参照[http://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E#.E9.96.A2.E6.95.B0.E5.91.BC.E3.81.B3.E5.87.BA.E3.81.97]。
 
==== 構造体 ====
 
==== クラス ====
クラスとは、大まかには構造体を便利にした物。構造体と違って参照型の変数として扱われる。
 
<syntaxhighlight lang="D">
C c1;
</syntaxhighlight>
 
なお、標準C言語にクラスの機能は無い。C++やC#にはクラスがある。
 
 
==== 共用体 ====
union 型のことを共用体とも言う。
メモリを共有するための型
 
標準C言語にも共用体や列挙体がある。(列挙体については後述)
 
==== 列挙体 ====
enum型ことを列挙体ともいう
 
値の列挙をするための方。
 
<syntaxhighlight lang="D">
COLOR color;
</syntaxhighlight>
 
注意点として、D言語の列挙体は、CやC++とは少し違います。
<!-- どう違うのかの要点を、今後の編集で、追記すべきかと -->
 
=== 演算 ===
演算順位が高い方が先に計算されます。
なお演算順位は以下のようになっています。
:TODO
 
=== 条件文 ===
条件文は値によって実行する処理を分ける時に使います。
</syntaxhighlight>
 
:C言語を参照: [[C言語/制御文]]
C言語を参照[http://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E#.E5.88.B6.E5.BE.A1.E6.A7.8B.E9.80.A0]
 
=== 繰り返し文 ===
}
</syntaxhighlight>
 
([[For文]]参照)
:[[C言語:C言語を参照: /制御文#繰り返し文]]
(:[[For文]]参照)
 
=== クラス ===
クラスは複数の変数を一まとめにし、それらを扱う関数も内包することで、簡潔で他のプログラムに依存しない独立した処理を可能とします。また、クラスは雛形(ひながた)であり、同じ性質を持ったデータ(オブジェクト)を多数作る事ができます。
 
==== 実体化 ====
クラスは雛形に過ぎないため、実際に変数として使うためには定義、宣言した後に'''実体化(インスタンス化)'''という作業が必要になります。Cというクラスのオブジェクトc1は
18,892

回編集