プログラム言語をつつく0-百花繚乱
そして猛烈にプログラム言語の機能を纏めたくなった。
ということで、この記事にメジャー言語が持っている機能を書き連ねる事にした。
えっ!そんなことして何の意味があるかって?
意味なんてないよ。ただなんとなくやりたくなったんだ。
ということでプログラム言語の機能を箇条書きにするよ。
もちろんこの記事は随時追加And更新するよ。
【 計算機能とそれに関する要素 】
- 数値表現・・・D、 Ruby
- 四則演算・・・
C#、
VB.NET、
C++/CLI、
D、
OCaml
- 剰余演算・・・
C#、
VB.NET、
C++/CLI、
D、
OCaml
- 1加減演算・・・C#、
VB.NET、
C++/CLI、
D
- 比較演算・・・D
- 論理演算・・・
C#、
VB.NET、
C++/CLI、
D、
OCaml
- シフト演算・・・
D
- 代入演算
【 構造化プログラミングに関係する機能や要素 】
- システムタイプ(組み込み型)・・・ C#、 VB.NET、 C++/CLI、 D(0、 1)、 OCaml
- 変数・・・ C#、 VB.NET、 C++/CLI、 D
- 定数・・・ C#、 VB.NET、 C++/CLI、 D
- 配列
(一次元配列)・・・ C#、 VB.NET、 C++/CLI
(静的配列)・・・D
(動的配列)・・・D
(連想配列)・・・D
- 繰り返し構造・・・ C#、 VB.NET、 C++/CLI、 D(0、 1、 2)
- 制御構造・・・ C#、 VB.NET、 C++/CLI
- 関数、メソッド
(定義)・・・ C#、 VB.NET、 C++/CLI
(パラメータの参照引渡し)・・・ C#、 VB.NET、 C++/CLI - 列挙体・・・ C#、 VB.NET、 C++/CLI
- 構造体・・・C#、 VB.NET、 C++/CLI、 D
- モジュール・・・VB.NET
【 オブジェクト指向プログラミングに関する機能や要素 】
- クラス・・・C#、 VB.NET、 C++/CLI、 D
- プロパティ
(読み取りと書き込み)・・・C#、 VB.NET、 C++/CLI、 D
(読み取り専用)・・・C#、 VB.NET、 C++/CLI、 D
(書き込み専用)・・・C#、 VB.NET、 C++/CLI、 D
- コンストラクタ・・・ C#、 VB.NET、 C++/CLI、 D
- インスタンス・・・ C#、 VB.NET、 C++/CLI
- 継承・・・ C#、 VB.NET、 C++/CLI
- 継承禁止・・・ C#、 VB.NET、 C++/CLI
- 抽象型・・・ C#、 VB.NET、 C++/CLI
- メソッドオーバーライド
(抽象メソッドの具象化)・・・ C#、 VB.NET、 C++/CLI
(既存の動作を変更)・・・ C#、 VB.NET、 C++/CLI - 多重継承
- 演算子のオーバーライド
【 メタプログラミングに関係する機能 】
- プリプロセッサ
- テンプレート
- リフレクション
- ジェネリック
【 アスペクト指向プログラミングに関係する機能 】
- 属性
【 動的プログラミングに関する機能 】
【 データ中心アプローチに関係する機能 】
- LINQ(Language Integrated Query)
【 構造に関する要素 】
- 文字列・・・ OCaml
- ポインタ
- 配列
(一次元配列)・・・ C#、 VB.NET、 C++/CLI
(静的配列)・・・D
(動的配列)・・・D
(連想配列)・・・D
- 列挙体・・・ C#、 VB.NET、 C++/CLI
- 構造体・・・C#、 VB.NET、 C++/CLI、 D
- 共用体・・・D
- モジュール・・・VB.NET
- クラス・・・C#、 VB.NET、 C++/CLI、 D
- 抽象型・・・ C#、 VB.NET、 C++/CLI
- パーシャルクラス
- Null許容型・・・ C#、 VB.NET、 C++/CLI
- 特異クラス
- インターフェイス・・・ C#、 VB.NET、 C++/CLI
- 匿名型
【 関数型の要素や機能 】
【 関数に関する機能 】
- 再帰関数・・・ OCaml
- 末尾再帰・・・ OCaml
- 高階関数
- 特異メソッド
- イレテータ
- 拡張メソッド
- メソッドコンビネーション
- オペレータメソッドコンビネーション
- ミックスイン
- クロージャ
- パーシャルメソッド
【 エラーに関する機能 】
【 オブジェクトの生成と消滅に関する機能 】
- ガベージコレクション(GC)
- デストラクタ
- オブジェクト初期化子
【 通知に関する機能 】
【その他】
- コメント・・・ OCaml