言語におけるディレクティブの違い


ディレクティブ `using`、`#include`、
`#import`、および`import`はすべて、異なるプログラミング言語に対して基本的には同じことを意味しますか？




C++に関しては#includeディレクティブは、そのincludeするヘッダファイルの内容(テキスト)に置き換えられるものだと理解しています。コンパイル前に実行するプリプロセッサであり、テキストを置き換えるという意味ではマクロでもあります。

C#のusingディレクティブは、C#の名前空間解決に関するエイリアス、あるいは名前空間を省略することを宣言するために存在しています。.netがどのようにそれを実現しているかは知らないですが、C++的な解決方法ではないと思います。C#においてはusingディレクティブが無くても様々なライブラリを呼び出すことができます。モジュール利用のために必須ではないです。

pythonのimportはエイリアスや省略の宣言のほかに、必要な関数やクラスなどのコンポーネントを選択して呼び出す機能があります。pythonではimport宣言しなければ、モジュールを使用することができません。またpythonではimportは文であってディレクティブとは呼ばないです。

いずれも分割されたモジュールを利用したり簡単に取り扱うための宣言であるということに変わりはないのですがその実現方法や提供している機能には違いが見られます。




すべて同じではないです。  
だから、同じだと思い込んで使うとエラーとなる場合があります。

エラーが起きる場合と、エラーが起きない場合は、本質的に異なりますから、『本質的に同じではない』というのが回答になろうかと思われます。

