人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラミング言語の解説文において「宣言」と「定義」という用語はどのように使い分ければよいでしょうか?

C言語においては、明確にこれらの用語の意味は違うのですが、JavaやVB.NET、C#においては曖昧であるように思います。
例えば、Javaにおいて、「class Hoge{}」というコードを書いたとき、これを「クラスの宣言」と呼べばよいのか、「クラスの定義」と呼べばよいのか、どちらが適当でしょうか?

●質問者: witt
●カテゴリ:コンピュータ
✍キーワード:C# Class C言語 hoge Java
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● meshy
●10ポイント

私はクラスをコードコーディングする時は「定義」、実際にインスタンスを作成する時を「宣言」って使ってます。

◎質問者からの返答

その根拠が知りたいです。


2 ● practicalscheme
●60ポイント ベストアンサー

一般的な使い分けとしては、「宣言 (declaration)」はある識別子を言語処理系が認識できるようにすること(*)、「定義(definition)」はその識別子に正確な意味を与えること、となると思います。言語によってこれらは別々であることもありますし、同時に行われることもあります。同じ言語内でも識別子の種類によって、宣言と定義が常に一緒のものと別々でも良いものが混在していたりします。

複数の言語に渡って一般的な説明をする場合は、どちらの動作を説明しているかによって使い分ければ良いと思います。

一方、Javaの文法の説明をしている場合は「宣言」とするのが良いでしょう。なぜなら言語仕様でDeclarationとなっているからです。

http://java.sun.com/docs/books/jls/third_edition/html/j3TOC....

VB.NET, C#等でも仕様に当たれば良いと思います。


(*)これについては例えば Fischer & Grodzinsky:"The Anatomy of Programming Languages", section7.1.2等。

◎質問者からの返答

明確な回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ