私は特に(フレームワークではなく)言語の影響を探しています。一見すると、C#はC / C ++またはJavaの進化のようです。しかし、C#はDelphiと同じデザイナーを持っていることを知っています。彼はいくつかの類似点を認め、「優れたアイデアはただ消えるだけではない」とさえ述べています。JavaまたはC / C ++にないC#の何かについて私が見た1つの例はプロパティです。それですか?他にありますか?
私は特に(フレームワークではなく)言語の影響を探しています。一見すると、C#はC / C ++またはJavaの進化のようです。しかし、C#はDelphiと同じデザイナーを持っていることを知っています。彼はいくつかの類似点を認め、「優れたアイデアはただ消えるだけではない」とさえ述べています。JavaまたはC / C ++にないC#の何かについて私が見た1つの例はプロパティです。それですか?他にありますか?
回答:
プログラマには見えないほどですが、舞台裏ではかなりですが、それらの多くは言語自体ではなく、IDEおよびWindowsフォームコントロールのデザインにありました。私はDelphi 7を約10年間使用していますとC#は約5なので、いくつか取り上げました:
1)anchorsプロパティはDelphiと同じです
2)フォームのデフォルト位置
3)コントロールのオブジェクト階層
4)フォームデザイナーは一般的に非常によく似ています。
私が気づいた言語自体のいくつかのこと:
1)特定のデータ型、別名通貨/ 10進数
非常に異なる言語のいくつかのこと:
1)コンストラクターの継承(すべてのコンストラクターを継承するために使用されたDelphiは、子孫クラスで再度定義する必要がなかった基本オブジェクトへ)
2)Delphiには、子孫クラスのメソッドまたはプロパティの可視性をダウングレードする機能がありますが、ポリモーフィズムはそのままにしてください。C#ではこれを許可していません(これは非常に見逃しています)。
たぶん、見逃してしまいました。思いついたら追加してください。
CanWoozle
プロパティがtrueを返す派生クラスは使用可能なWoozle()
実装を提供する必要があるが、特定の派生クラスは常にfalseを返しCanWoozle
、正当に使用できないWoozle
実装があると基本クラスのコントラクトが言っている場合、派生クラスがそのWoozle
メンバーを公開する必要がある理由はありません。
アンダースはDelphi 3までBorlandに在籍していました-彼はDelphiとTurbo Pascalの最初の建築家でした。Delphi 1をロードする場合は、aboutボックスを表示して入力すると、ウィンクしているAndersの画像が表示されます。
彼がMSのためにボーランドを去ったとき、彼は最初にJ ++をしました。次に、C#を作成しました。参加する必要があるドットは、Borland Object Pascal-> Java / J ++-> C#から移動します。
C#は、より優れたJavaを作成するためのMicrosoftの試みです。古いDelphiコーダーとして、私はおそらくそれらが成功したことを受け入れます。
variant
、かなり永遠以来のタイプを...