活動報告

新着記事

カテゴリー

キーワード検索

2023.05/29 プログラミング言語

プログラミング言語あるいはコンピューター用の言語と人間が会話に用いる言語とは、「言語」の意味が異なっているように思う。コンピューター用の言語とはコンピュータへ指示を出しコンピューターを動作させるための「記号」である。


ゆえに「英語」や「中国語」あるいは「名古屋弁」を学ぶ方法と異なる。日本人が外国語を学ぶときに文法を最初に覚える。プログラミング言語でも文法を学ぶのだが、この時ハードウェアーを意識して学ぶかどうかでプログラミングのコツをつかむまでの期間が異なるように感じている。


言い換えると、ハードウェアーを意識しながらコンピューター言語を学ぶとその言語の特徴を理解しやすい。これは、人間の言語を学ぶときにその背後にある文化や文明、風俗を意識することとは似ているようで異なる。


むしろコンピューターに仕事を命令する時に気遣いを意識する、といった方が分かりやすいかもしれない。実際にプログラミング言語の設計は、人間がプログラミングを容易にできるように工夫されるので、着眼の異なる設計者により様々なプログラミング言語が生まれる背景となっている。


オブジェクト指向の考え方では、プログラミングの世界に擬人化が持ち込まれたのだが、オブジェクト指向で設計された学びやすい記号をそのまま覚えるだけで簡単にプログラミングができるようになる。


これはこれで便利なのだが、プログラミングにはバグがつきものであり、バグの中にはハードウェアーと言語設計について多少理解していないと解決できないケースが存在する。


また、C#のような完成度の高いオブジェクト指向言語でも自分であらたなオブジェクトを設計する必要があり、ハードウェアーを少し意識しなければいけないシーンも出てくる。


オブジェクト指向言語を学ぶときに人間の言語を学ぶようにハードウェアーを意識しない学び方も可能であるが、当方は社会人がコンピューター言語を初めて学ぶときに、やはりハードウェアーを意識して予約語の機能から学ぶ必要があると思っている。

カテゴリー : 一般

pagetop