The Dragon Scroll

Be just and fear not.

ふりかえり(4)〜言語との戦い

さて、晴れてIT業界の一員となれるとなると、次にやることは、
プログラミングの習得です。
なにせ、私の場合は完全に素人です。
なんとか、初級シスアドは、大学4回生の春に取れたものの、
プログラミングが全くわからないのに、安穏としていられませんでした。


目標は、基本情報技術者の取得です。
重要なのは、午後試験のためにどの言語を選択するかです。
当時、私が受験したころは、いまにようにJavaがありませんでした。
選択肢は、C言語か、COBOLか、CASL。
いくら素人の私でも、これから覚えるのであれば、C言語だろう、
ということで、C言語を選択しました。


文法はひととおり勉強したものの、演習問題がさっぱり解けません。
「この変数iに1を入れて、ぐるぐる回って、iが3以上なら、
 今度は、変数jに1を入れる…。っで、ぐるぐる回って…」
素人文系プログラマーの最初の壁は、間違いなくアルゴリズムです。
やたらぐるぐる回る英文を解き明かす、なんて退屈なんだろうって
思いましたね。


アルゴリズムとともに、私を苦しめたのが、やはりポインタでした。
ポインタ・構造体、これはC言語の難関、双璧です。
「変数があって、それをさすのがポインタ。*って記号ね。
 そのポインタの変数があって、そのポインタがさしているのが、
 さっき宣言した変数。その変数が構造体だと…」


正直、半泣きの思いでしたが、この時覚えたC言語、アルゴリズムは、
その後の仕事でも、非常に役に立ちました。
C言語は、エンジニアの基礎となる存在ですね。
オブジェクト指向言語への移行もスムーズにできるように思います。
最も、下記の本を読んでなければ、挫折していたかもしれませんが。

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

Java 謎+落とし穴 徹底解明 (標準プログラマーズライブラリ)

Java 謎+落とし穴 徹底解明 (標準プログラマーズライブラリ)

(良書です)