私はC#を学習しているPythonプログラマーであり、心配するのをやめようとしています。
このスタックオーバーフローの質問で詳述されているように、物事が定義されている場所に関する明示性の欠如という点に私は追いついています。要するに、C#では、using foo
どの名前foo
が利用可能になっているかを教えてくれません。これはfrom foo import *
、Pythonに類似していますfrom foo import bar
。
私はむしろC#プログラマーからのこの点に対するスタックオーバーフローの回答に驚いていました。実際には、この明示性の欠如は実際には問題ではありませんでした名前が由来するシステム。例えば:
今、理論的には、これはテキストエディターで探しているときに、C#で型がどこから来たのかわからないことを意味しますが、実際には、それが問題になることはありません。実際にコードを見て、Visual Studioを使用できない頻度はどれくらいですか?
これは私に啓示です。多くのPythonプログラマーは、Sublime Text 2やvimのようなコードに加えて、コマンドラインツールとフォルダーやファイルの直接アクセスと操作を使用して、コーディングにテキストエディターアプローチを好みます。このような基本レベルでコードを理解するためにIDEに依存するという考えは、忌み嫌われるようです。この点でC#の文化は根本的に異なっているようです。そして、C#の学習の一環として、それを受け入れて受け入れる必要があるのだろうか。
ここで私の質問に私を導きます:C#開発は、使用しているIDEから事実上不可分ですか?
using MyType = MyNamespace.MyType;
?
global::
そこから始めて作業を進めることができます。using
以前にはなかったものを利用可能にしません。(特定のクラスを使用するために必要な入力が少なくなるように)アクセスしやすくするだけです。