見出し画像

ある機械屋のプログラミングとの出会い 後編

こんにちは、イノカドです。

前回に引き続き、私のプログラミングとの出会いを語っていきたいと思います。

前編でお話ししたように、当時の私にとってプログラミングとは、精神的な苦痛に満ちた苦行だったわけです。

ですから、当然プログラミングは嫌いで自学・自習をしようなんてこれっぽっちも思っていまでんした。

ですが、ある人との出会いによって、私のプログラミングへの思いは180度変わることになりました。

彼の名前をアオキ君とさせていただきます。アオキ君は機械学科の中では変わり者で、車や飛行機に関心が無く、PCやガジェットの方に興味がある方でした。

高校から、わざわざ大学の機械学科に進学するような連中というのは、総じて女っ気など無く、世間一般で言うところのオタクの集まりです。

ただ、我々の主な関心が、アニメなどのサブカルチャーよりも、最新のエンジンや機械式時計の構造とか、鉄道・車両・航空機・ロケットなどの設計にありまして、ここが機械学科のオタクの特徴ですかね。

こんな風にコテコテのハード人間の集団である機械学科で、アオキ君はPC・スマホ・ガジェットに興味があるソフト人間で、どうして電気系や情報系に行かなかったのか不思議な人でした。

前置きが長くなってしまいましたが、私とアオキ君との出会いは学部2年の春、実習の授業でした。私はアオキ君と同じ班になり、そこで初めてアオキ君と会話した訳です。

先ほどもお話したように、アオキ君はソフト人間ですので、ハード人間の私にとって彼は不思議な人で、彼との会話は刺激的でした。

まぁ、白状しますと、彼の語る技術用語のほとんどは分からなかったのですが。(アオキ君、知ったかぶりしてました。ごめんなさい)

さて、実習ですが、データをひたすら取得して、その後、エクセルで分析してグラフ化して、レポートにまとめる作業をする訳です。

これが中々大変で、平日の空いている時間はずっとレポートに取り組まないと終わらないような作業量でした。(ただ、私の学科ではwordでのレポート作成が許されていたので全然マシです。とある学科では、このご時世に手書きでのレポート作成を科していました。)

学部2年の冬、実習でプログラミングの課題が科されました。内容はある関数の線形近似と、ニュートンラプソン法にまつわるものなのですが、正直お手上げした。

その年に初めて科された課題のため、過去レポを見ても参考になりません。しょうがないので、自分なりにコードを書いてみますが、プログラムは全然動かず。

どうしようも無くなったので、プログラミングに詳しそうなアオキ君に教えを請うた訳です。

そして、出会った訳ですよ。神エディタそう、VScodeに!

今振り返ると笑える話ですが、組み込み関数や、for、if、while文に色が付き、自動インデント、リンター機能などのどんなエディタにもある当たり前の機能に、当時の私はめちゃくちゃ感動したのです。

使う道具が変われば、くだらないバグ取りから開放されるので、プログラミングの能率は爆速になります。そして、ようやくプログラミングの醍醐味であるアルゴリズム の設計に触れることが出来たのです。

アオキ君に教えてもらいながら、四苦八苦して書いたコードが初めて動いたときは本当に感動しました。アオキ君、本当にありがとう。

そして、もう一つ衝撃的だったのは、彼のコードが簡潔で美しく読みやすくその上、実行速度も早かったのです。これは、かなり悔しかったですね。

この時、私のプログラミングへの考えが180度変わったのです。プログラミングも機械設計と同じように面白く、同じように自分で考え、設計し形にする行為なのだと。

こうして私はプログラミングに出会い、好きになりました。この後、プログラミングにハマって競技プログラミングに手を出すようになるのですが、その話はまた、どこかでしたいと思います。

この記事が気に入ったらサポートをしてみませんか?