読者です 読者をやめる 読者になる 読者になる

コンピュータプログラムに関する乱暴な解釈

未来のプログラマに捧げる

コンピュータのソフトウェア、つまり電気信号の論理解釈は、コンピュータの登場以来全く変わっていない涸れた技術であり、非常にシンプルなままである。
「なぜ変わらないのか」を個人的に解釈すれば、すべての事象や物体は、或る条件に入るのか否かで無限に分類すれば、それで全てを表現できてしまうから、または表現できないことを誰も発見していないからではないだろうか。
哲学的なことはさて置いて、どれだけシンプルかと言えば、以下の基本的方法さえ知っていれば、それ以外は基本的方法の組み合わせによって実現できると言うものだ。

  • 変数の使用方法
  • 四則演算の方法
  • 比較演算の方法
  • 条件分岐の方法
  • ジャンプの方法

既に主題が述べているように上記は極論である。
文字列が扱えたり、記法や命令などが必要なだけ充実していなければ、現実には色々と差し支えるだろう。
しかし、上記は基本中の基本であることに変わりはない。

BATファイルの基本的方法

  • 変数の使用方法
    SETコマンドを使用して環境変数を設定できる。
  • 四則演算の方法
    SETコマンドを使用して四則演算の結果を環境変数に保存できる。
  • 比較演算の方法
    IFコマンドの比較構文を使用して比較演算をすることができる。
  • 条件分岐の方法
    IFコマンドを使用して比較演算の結果により条件分岐ができる。
  • ジャンプの方法
    GOTOコマンドを使用して指定のラベルにジャンプすることができる。

【BATファイルの例】

@echo off
setlocal
set i=0
:loop
if %i% geq 10 goto endloop
echo %i%
set /a i=i+1
goto loop
:endloop
endlocal

C言語の基本的方法

  • 変数の使用方法
    変数のタイプを指定して作成できる。
  • 四則演算の方法
    四則演算子が存在する。
  • 比較演算の方法
    比較演算子が存在する。
  • 条件分岐の方法
    if文を使用して比較演算の結果により条件分岐ができる。
  • ジャンプの方法
    goto文を使用して指定のラベルにジャンプすることができる。

C言語プログラムの例】

/* もちろん、C言語では薦められるコードではない ;-) */
#include <stdio.h>

int main(int argc, char **argv)
{
    int i;
    
    i = 0;
loop:;
    if (i >= 10) {
        goto endloop;
    }
    printf("%d\n", i);
    i = i + 1;
    goto loop;
endloop:;
}

さあ、飛び立つんだ

基本的方法を理解した後は、それ以外の文法、命令、関数、文化、行儀、技巧などをどんどん憶えて身に付けて行けば良い。
それらは膨大で全部憶えることは難しいが、全てのことは基本的方法の組み合わせで実現されていることを忘れなければ問題はない。