質問: ディレクティブ `using`、`#include`、 `#import`、および`import`はすべて、異なるプログラミング言語に対して基本的には同じことを意味しますか?
回答: 質問にある`using`、`#include`、`#import`、`import`は、プログラムを複数のファイルに分割した時に、それを連携させて動作させる役割を果たしているという意味では同じだと思われます。 少し前まで「モジュール」という概念がなかったのがJavaScrptです。JavaScrptはブラウザで使われる特殊な言語だったため、HTMLにタグを書いて、順番に読み込んで実行時していました。 ``` ``` 2つのファイルの間の連携はグローバル変数によってなされました。かってのJavaScrptの有名なライブラリといえばjQueryですが、jQueryを使ったことがあればすぐにわかるのですが、jQueryのライブラリではjQueryオブジェクトをグローバル変数`$`に定義しているので、他のスクリプトでは広域変数`$`を使って操作するようになります。 しかし、少し規模が大きくなるとモジュールの仕組みは必須で、最近では、Webpack, Browserify等のバンドルツールを使って開発することがほとんどになっています。また、ECMAScript2015ではimport/exportが導入され、ブラウザーでもモジュールが使えるようになってきています。 JavaScriptのことを少し詳しく書いたのは、JavaScriptが「モジュール」という概念が最後に導入されたモダンなプログラム言語だと思われるからです。「モジュール」を扱う時に使われるのが、`using`、`#include`、`#import`、`import`等です。そういう意味であれば同じ概念です。しかし、「モジュール」の実装はプログラム言語により異なるので、使い方は違ってきます。 C#の場合は、使用する外部「モジュール」は、プロジェクトでまとめて`.csproj`に記述します。それで、using ディレクティブは、「モジュール」の読み込みのためではなくて名前空間のために存在します。 一方、Pythonのimport文は、他のモジュールをインポートするために使われ、モジュールを使用するためには必ず必要になります。