どうも、ロベールです。
みなさん、「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
この講座の著作権はロベールが保有しています