言語でも理論でもない。最後に立ちはだかったのは、意外すぎる“敵”だった
うわっ、まさかそこ!?——今振り返っても、プログラミングで一番苦労したポイントは、当時の自分の想像を完全に裏切っていました。
■ プログラムで一番難しかったのは何だろう?
今では自動でできるようになったことも、昔は一つひとつが壁でした。大学時代、C/C++の分厚い本を常にカバンに入れ、電車の中でも、空き時間でも眺めていました。理解できない。読んでも腑に落ちない。それでも何とか分かろうとして、サンプルコードを何度も作り直す。コンパイルエラーと格闘しながら、頭を抱える日々でした。
■ 社会人になって、Javaで「ジャバジャバ」
社会人になると、言語はJavaへ。ここで立ちはだかったのがオブジェクト指向です。「オブジェクト指向とは」という本が、完全にバイブルになりました。クラス、継承、インターフェース。理屈は分かるけど、なぜそう設計するのかが分からない。何度も読み返し、コードを書いては壊し、少しずつ感覚をつかんでいきました。
■ DBは意外とシンプルだった
一方で、DBは思ったよりも分かりやすかった。スキーマの考え方さえ理解できれば、要は整理しているだけ。データをどう分類し、どう関連づけるか。ロジックというより、頭の中をきれいに整頓する感覚でした。
■ オブジェクト・パターンとの格闘
デザインパターンは正直、苦戦しました。理解できないパターン、結局使えなかったパターンも山ほどあります。それでも「知っている」ことが後で効く場面は確実にあった。全部を使いこなせなくても、引き出しに入っていること自体が価値だったのだと思います。
■ 本当に一番苦労したのは「空白」
そして、最終的に一番苦労したのは、まさかの「空白」でした。インデント、スペース、タブ。どのテキストツールを使うのが一番良いのか、という悩みも重要でした。IDE(統合開発ツール)の機能がどんどん拡張されていったのもこの頃。でも結局、シンプルで軽快なSakuraエディタが一番しっくりきた。気づけば20年以上使い続けているのは、ExcelとSakuraくらいです。
■ いつの間にか、言語は増えていた
使えるようになった言語は、C/C++、Java、Cobol、JavaScript、Python、VB、各種Script、SQLなどなど。今では、ほぼ全部「読める」。プログラムは本質的に似ているので、いくつか経験すると「あ、これはあの感じだな」とつながってくるんですよね。
■ 最大の敵は、やはりバグ
社会人になってからの時間を振り返ると、10分の1くらいはプログラミングをしているかもしれない。そのうち、半分以上はバグ探し。プログラミングとは、バグ探しとの闘いです。途中で諦めて、闇に葬ったコードも正直ありました。
■ AI時代でも、この経験は消えない
今、AIによってプログラミングは劇的に変わりつつあります。それでも、あの時悩み、迷い、空白に苦しんだ経験は、確実に自分の血肉になっている。理解できなかった時間も、無駄ではなかった。
私ならできる!明日から踏み出す
コメント
コメントを投稿