20年前に覚えたプログラミングは今でも役に立つ?

Solo Life Design|ひとり人生設計

20年前に覚えたプログラミングは、今でも役に立つのだろうか。

最近、そんなことを考えることがある。

ITの世界は変化が速い。

20年前に使われていた技術と、現在よく使われている技術ではかなり違う。

新しいプログラミング言語が登場する。

開発環境も変わる。

クラウドが普及する。

そして今ではAIに質問すれば、プログラムまで作ってくれる。

そう考えると、

「20年前のプログラミング経験なんて、もう意味がないのでは?」

と思ってしまう。

でも、自分は最近、必ずしもそうではないと思うようになった。

昔覚えた言語そのものは古くなる

自分が昔使っていたものの一つにVB6がある。

今から新しくプログラミングを始める人に、

「まずVB6を勉強したほうがいい」

とは自分も言わない。

現在なら、もっと新しい選択肢がたくさんある。

つまり、20年前に覚えた知識の中には、そのままでは使いにくくなっているものもある。

これは仕方がない。

IT技術は変わるからだ。

ただ、ここで、

VB6が古くなった=自分がVB6を使って仕事をした経験も全部無価値になった

と考える必要はないと思う。

言語と経験は、少し分けて考えたほうがいい。

If文の考え方まで消えるわけではない

例えば条件分岐がある。

「この条件ならこの処理をする」

「そうでなければ別の処理をする」

という考え方だ。

VB6にもある。

Pythonにもある。

書き方は違っても、考え方そのものが完全に別物になるわけではない。

繰り返し処理も同じだ。

変数。

関数。

配列。

エラー処理。

データベースへのアクセス。

言語が変われば文法は変わる。

しかし、

「プログラムをどういう順番で動かすのか」

という基本的な考え方には共通する部分がある。

20年前にプログラムを書いていた経験があれば、新しい言語を見たときにも、

「これは昔のあの処理に近いな」

と考えられる。

ゼロから始める人とは、少し違うスタート地点になる。

一番残っているのは問題を分解する考え方かもしれない

プログラミングをやっていると、大きな処理をそのまま考えるのが難しいことがある。

そこで問題を小さく分ける。

まずデータを取得する。

次に条件を確認する。

必要なら計算する。

最後に結果を表示する。

一つずつ処理を作る。

これは20年前でも現在でも重要だと思う。

エラーが出たときも同じだ。

全部を一度に疑うのではなく、

入力は正しいか。

SQLは正しいか。

変数には何が入っているか。

条件分岐は通っているか。

どこまで正常に動いているか。

少しずつ確認する。

この考え方は、特定の言語が古くなったからといって消えるものではない。

SQLの経験は今でもつながりやすい

昔の経験の中でも、特に現在へつながりやすいと感じるのがSQLだ。

業務システムではデータを扱う。

検索する。

登録する。

更新する。

削除する。

集計する。

そのためにSQLを使う。

もちろんデータベース製品や機能は変わっている。

それでもSELECTやJOINなど、昔勉強した考え方が土台になる部分はある。

20年前の知識だけで現在の仕事が全部できるとは思わない。

忘れている部分もある。

新しく覚えなければならないこともある。

ただ、一度経験しているものは復習すると、

「そうだった」

と思い出すことがある。

これは結構大きい。

古いプログラムを読めることが役立つ場合もある

企業のシステムが全部最新技術で作られているとは限らない。

長期間使われている業務システムもある。

そうなると、新しい技術だけではなく、昔のプログラムを理解できる人が必要になる場面も考えられる。

例えば古いシステムを新しいシステムへ移行する場合。

古いプログラムが何をしているのか分からなければ、移行する機能も正しく理解できない。

画面を見る。

コードを見る。

SQLを見る。

仕様書を見る。

そして、

「このシステムは何をしているのか」

を整理する。

ここでは昔の技術を知っていることが、逆に入口になる可能性がある。

20年間使っていなければ当然忘れる

もちろん、一度覚えたら20年間何もしなくても大丈夫という話ではない。

使わなければ忘れる。

自分も昔覚えたことを全部正確に覚えているわけではない。

文法を忘れる。

関数名を忘れる。

細かな書き方を忘れる。

久しぶりに見ると、

「これ、どう書くんだったかな」

となる。

でも、一度経験しているものは、完全なゼロから覚えるのとは少し違う。

本やコードを見ると記憶が戻ってくることがある。

だから昔の経験は、

完成された現在のスキルというより、学び直すための土台

として考えたほうがいいのかもしれない。

AIがあることで昔の経験が使いやすくなった

ここは20年前との大きな違いだと思う。

今はAIに質問できる。

例えば昔のVB6で書いていた処理について、

「これをPythonならどう書く?」

と聞くこともできる。

エラーが出れば、原因を調べる手掛かりにもできる。

知らない構文を説明してもらうこともできる。

もちろんAIの回答が必ず正しいわけではないので、自分で確認する必要はある。

それでも、昔プログラミングを経験した人が新しい技術へ戻るハードルは以前より低くなっていると感じる。

昔の知識と現在のAIを組み合わせる。

これは意外と相性がいいのではないかと思っている。

昔と今を比較すると勉強しやすい

新しい技術を学ぶとき、

「昔の知識を全部忘れてゼロからやろう」

と考える必要もない。

むしろ比較したほうが理解しやすい。

VB6ではこう書いた。

Pythonではこう書く。

昔はこの方法でデータベースへ接続した。

今なら別の方法がある。

昔は自分で調べるのに時間がかかった。

今はAIにも質問できる。

こうやって昔と今をつなげる。

すると20年前の経験が、新しい技術を理解するための比較材料になる。

仕事につながるかは別の問題

ただし、

「20年前にプログラミングをしていました」

というだけで仕事が決まるとは思っていない。

企業が必要としている技術。

現在どこまでできるのか。

最近何を勉強しているのか。

実務で何を経験したのか。

こうした部分も当然見られる。

だから昔の経験だけに頼るのではなく、

昔の経験+現在の学び直し

にする必要があると思う。

VB6を経験していたならSQLを復習する。

Pythonを触ってみる。

小さなプログラムを作る。

AIも使ってみる。

そうやって20年前と現在をつなげていく。

20年前の自分をゼロにしなくていい

年齢を重ねてから新しいことを始めると、

「若い人より遅れている」

と思うことがある。

確かに最新技術については、若い人のほうが詳しい場合もある。

でも、自分には自分の過去がある。

20年前にプログラムを書いた。

エラーで悩んだ。

SQLを書いた。

システムを動かした。

うまくいかなくて調べた。

そういう経験まで全部ゼロにする必要はない。

最新技術ではなくても、その経験から使える部分を拾えばいい。

結局、今でも役に立つ?

自分の答えは、

そのまま全部使えるわけではない。でも、十分に土台にはなる

だ。

20年前のプログラミング言語が現在では古くなっていることはある。

忘れている知識もある。

そのままでは仕事に使えない部分もある。

それでも、

プログラムを読む力。

処理を分解する考え方。

エラーを調べる習慣。

データベースの知識。

業務システムを扱った経験。

こうしたものまで20年で消えるわけではない。

だから自分は、昔の経験を捨てるのではなく、もう一度取り出してみたいと思っている。

そして現在の技術やAIと組み合わせてみる。

20年前に覚えたプログラミングがこれからどこまで役に立つのか。

答えを考えるだけではなく、実際に試して確かめてみたい。

コメント

タイトルとURLをコピーしました