英語や日本語のような言語がたくさんあるように、プログラミング言語にもいろいろな言語がある。
C、Java、Python、Ruby・・・
私の専門はC言語だが、自分のキャリアアップのために多言語化に対応しようと、今猛勉強中。
まずは、Javaから着手。
9月の頭から開始して、約1週間。
Javaの特徴がなんとなく見えてきた。
JavaとC言語は、文法的には非常によく似ている。
しかし、概念が大きく異なる。
無理やり例えると、オーストラリア英語とアメリカ英語、イギリス英語は同じ英語だが、文化が違う、というのに似ているように思う。
英語としての基本的な文法は同じでも、使われ方が違ったり、同じ英語でも背景(文化)に違いがある。
C言語が分かれば、Javaもある程度は理解できるが、概念を理解していなければ使いこなすことはできない。
多言語を学ぶということは、その言語の原理・原則を学ぶことであり、その奥にある概念や文化といったことを理解する必要があるということだ。
そして、その理解の過程の中で、これまで習得した言語における、新しい発見と深い理解を得られるのだということに気づく。(今更ww)
知っていることと、理解していること、更には使えることは全く違う。
新しいことを学ぶ過程で、これまで得た知識や技術に対する理解が深まる相乗効果。
何となく知っているから、それっぽく使えるから、と怠けていた自分に謝らなければいけない。
常に学びの姿勢を忘れず、新しいことに挑戦していくことを決めることができた自分に、感謝しなければ。
歳をとってから一から学びなおすということは、かなり大変なことだが、こんなに楽しいことなのだということを、改めて知った。
知ってしまった以上、面白くてやめられない。
このプラスのループを死ぬまで回し続けていきたいと、心から思うのでした。
最後に、ゲーテの名言をひとつ。
Knowing is not enough; we must apply. Willing is not enough; we must do.
知ることだけでは不十分だ。それを使わなねばならない。
やる気だけでは不十分だ。実行しなくてはいけない。
昔の人は、いいこと言うなぁ!