C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 極めて初歩的な用語の解釈について


(過去ログ 24 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■11112 / inTopicNo.1)  極めて初歩的な用語の解釈について
  
□投稿者/ 白鳥 (1回)-(2007/12/07(Fri) 09:18:31)

分類:[ソフトウェア全般] 

全くの初心者です。今プログラミングの本を買いあさって勉強中です。
プログラムを作るというよりは、プログラムの構造について興味が
あります。

たわいのない質問ですが、関数というのがありますが、たとえば乱数を発生させる
Rnd関数などは、プログラミングをするときにあえて定義をしないですよね。これは
OSがRnd関数を持っていて、それを呼び出すようなプログラムを記述することで
乱数を発生させる、という解釈でよろしいのでしょうか?
(OSが関数群をもっているというのは、何とも想像するに論理的に説明すると
 どうなるのでしょうか?)

であれば、ライブラリ=関数ということでいいのですね??。

関数というのは、プログラムを効率的に作るために先人達が作ってきた英知の結晶
で、車をプログラムにたとえると、各部をジョイントするボルト、ナット類になるのでしょうか?

では、クラスライブラリというのは、日本語で表現するとどうなるのでしょうか?


引用返信 編集キー/
■11115 / inTopicNo.2)  Re[1]: 極めて初歩的な用語の解釈について
□投稿者/ 囚人 (251回)-(2007/12/07(Fri) 09:45:41)
>これはOSがRnd関数を持っていて、それを呼び出すようなプログラムを記述することで乱数を発生させる、という解釈でよろしいのでしょうか?


OS が持っている事もあれば、そうでない場合もあります。

例えば、Windows を例に挙げると「ウィンドウを作成する」という関数は OS に含まれていると考えてよく、いちいち「ウィンドウを描画する」というプログラムを普通は書きません。

しかし、同じく「ウィンドウを描画する」というクラスや関数を MFC や Qt といったライブラリも持っていますが、これらは OS が持っているとは言えません。これらは OS が持っている関数を内部で呼び出している関数(或いはクラス)という事になります。

C言語の printf 関数。OS に含まれているというよりは OS の関数を包んだラップ関数と言えます。コンソールに文字列を出力するという関数は OS 毎に異なっているため、printf で包んでおけば、ソースコードレベルの互換性を保てるよ、というのが C 言語の利点でした。


>関数というのは、プログラムを効率的に作るために先人達が作ってきた英知の結晶で、車をプログラムにたとえると、各部をジョイントするボルト、ナット類になるのでしょうか?


たぶん、ボルトやナットはただのデータでしかなく、たとえるとするなら「エンジンの動かし方」「左右の移動のし方」が関数に近いかなーと。

ライブラリというのは、関数だけのライブラリもあるし、クラスライブラリもあります。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -