レイヤの考え方

環境によって「低レイヤ」って考え方が違うのかなぁとか思いました。


考え方によってはアセンブリを「すごくすごく使いやすくした」のがC言語ですし、
C言語に対しオブジェクト指向ジェネリックプログラミングなどの機能を与えたのがC++ですし、
C++の煩雑で難しいところを簡単にしようぜー、ってそぎ落としたのがJavaですし、
Javaとか面倒だからもっと軽くいこうぜーって言い始めたのがRubyだったりPythonだったりしますし。

そして、レイヤってステップみたいなものだなぁと思っているところがあります。
少しずつあがっていくにしたがって「面倒だな」と思っていところが「楽」になっていくので、
違った楽しみがあります。


僕はC言語から落ちてZ80に触れそこからのぼってきたとき
C言語は乗算ができるハッピー!!! 除算ができるよハッピー!!!」とか真面目に思ったので、
C言語は高級すぎる」=「人に優しすぎる」(易しいではない)
とか思います。(見方が変わりました)


でも、オブジェクト指向するには面倒な事が多いので、
もっともっと人に優しいC++とかJavaが好きです。(C++は優しくないよって?)


けど、こやつらはコンパイラの柵に捕らわれているので、
コンパイルなんていらないよ、って言ってしまうPythonが好きです。


どれも欠点だけじゃなくて、良いところを持っています。


プログラムって面白いよね、っていう話をしたとき、
JavaPythonだけを触ってきた人たちは、
アセンブリやCを知らないなんて勿体ないなぁ、と思うのです。


「仕事で使わないからいらない」って凄く正論だから無理には勧めないのですけどね。
でも、プログラムが「好きなら」Cは触って欲しいです。