どうも、ロベールです。
みなさん、「C/C++言語は難しい」と思ってはいませんか? はい、その通り、難しいです。...なんて言ってはミもフタもないですね(笑)。ここでは、難しいとみなさんが「思いこんでいる」であろうC/C++言語を易しく解説していきます。簡単だと「思いこむ」ことが大事です。自己暗示、自己暗示。
著者の使用している環境はVC++なので、とりあえず説明はVC++に準じてしていきます。言語に関する部分ではこのことはあまり関係ないのですが、ツールを扱う部分については Boaland C++ 等を使用している場合は、自分で読み替えて下さい。(^ ^;
突然ですが、みなさんは「高級言語」という言葉を聞いたことはあるでしょうか? 高級言語というのは別にキットの値段の高い言語ではありません。ハードに依存する部分を少なくして、プログラムをもっとわかりやすく、簡単に組めるようにしたものです。これと対をなすのが「低級言語」です。低級言語はハードにベタベタに依存していて、マシン語に近いものになります。
高級言語の代表といえば、やはりBASICでしょう。で、低級言語の代表はやはりアセンブリ言語です。(俗にアセンブラとも言われます)
BASICでは文章を表示したければ
PRINT "表示してね"
とします。簡単ですね。ですが、低級言語になると、作業の環境によってプログラムが変わってきます。アセンブリ言語(MASM)+16ビット機+MS−DOS環境であれば、
CODE SEGMENT ASSUME CS:CODE, DS:CODE ORG 100H START: MOV AX, CS MOV DS, AX MOV AH, 09H MOV DX, OFFSET STRING INT 21H MOV AX, 4C00H INT 21H STRING DB '表示してね$' CODE ENDS END START 赤いところが文章を表示するところ。その他はプログラムの初期化や終了処理など。
となります。たった一行表示するのに大変ですね。
では、C/C++言語はどちらになるのでしょうか? 普通は高級言語と言われています。上と同じ事をしようとすれば、
#include <stdio.h> int main() { printf("表示してね"); return 0; }
となります。充分短いですね。ですが、C/C++言語は特殊な一面があります。それは多くの初心者を惑わせる「ポインタ」の存在です。「メモリ」を意識してプログラムを行うというのは、低級な作業です。そのほかにも、ハードに依存する場面にも出会うことがあります。これでは高級言語と断言することはできません。実際に、どちらにするかは意見の分かれるところのようです。
著者はどうかというと、間をとって「中級言語」だと思っています。そこがC/C++言語の便利なところでもあり、難点でもあるのです。いろいろなことができる反面、少し面倒なのです。
ですので、特別な用途にしか使わないのであれば、それ用の言語の存在を確かめるのがいいでしょう。(Mathematica など。)その上でC/C++言語を選んだのならば、是非頑張って...否! 楽しんでC/C++言語を習得しましょう。
このHPがそのための助けになれば幸いです...。
Last update was done on 1999.2.20
この講座の著作権はロベールが保有しています