テクノロジー

私のプログラミング遍歴

ホーさん's icon'
  • ホーさん
  • 2020/02/13 22:03

もずく先生とはるか先生の両先生方から「プログラミング遍歴」について書くべしというお題をいただきましたので、学生時代を思い出しながら書いてみます。雑記ですがお付き合い下さい。

 

Content image

 

プログラミングとは無縁の学部時代

私は理工学部の出身ですが、学部時代の授業でプログラミングを学んだことはなく、履修しようとした記憶すらないので、当時はそもそも興味がなかったんだと思います。バイトとサークルをしてました。真面目なので授業はあまりサボらずに出てたと思います。なんの話だっけ。プログラミングか。

大学入学後3年間はそんな調子でプログラミングとは無縁の生活を送っていたのですが、4年生になって研究室に配属となり、卒業論文のテーマを決める際に、プログラミングが必要な研究テーマを選択肢として提示されました。

ただ、「やったことないし難しそう」とやる前から逃げまして、楽そうな(大変失礼)実験系のテーマを選択しました。データ処理も先輩が書いたコードを動かすくらいのものでした。今思えばとても勿体無いことをした。そして卒論提出前は研究室に寝泊まりしてたので結局全く楽ではなかった。

当時動かしていたのはMATLABという技術計算用言語で、一番最初に触ったプログラミング言語を挙げるとすればこれになります。当時の指導教官が「MATLABはプログラミング言語じゃねぇ。ソフトウェアだ」と言ってましたが、プログラミング言語ということにします。が、所謂コンパイル不要のスクリプト言語で、必要なモジュールが最初から(ほとんど)全てインポートされていて、簡単に書いて動かせるとなれば「なんて甘やかされた環境なんだ」と思う気持ちが今なら分かります。

 

レガシー言語「FORTRAN」

大学院では異国の地でMSc(修士)プログラムに入ったのですが、授業全てが必修で毎日びっしり入っており(2年のうち最後の半年だけ修士論文のための期間がある)、そのプログラムの導入教育の一環でプログラミングの授業がありました。FORTRANとの出会いです。

はるか先生がレガシー言語「BASIC」について記事にしていましたが、BASICの登場は1964年で、FORTRANの登場は1954年です。マリリン・モンローが来日した年だそうですよ。親すら生まれてないんだが???

そのときもプログラミングには特に興味も知識もなかったので、「化石言語www」という感想すら持ちませんでした。それまで苦手意識を持っていたプログラミングですが、いざ必要にかられてやってみたら案外楽しかったのを覚えてます。例に漏れず「完全に理解した」と仮初めの自信を得まして、修論のための研究ではFORTRANでコード書いたりしてました。あと、夏期の短期インターンでC++で書かれた実験機器制御のサブルーチンをFORTRANから呼び出すという若干トリッキーな処理の実装をやったりしました。C++ともここで出会ってます。が、すぐにサヨナラしました。

 

Pythonとの出会い

就職後はメインウェポンがエクセルパワーポイントワードに変わりまして、しばらくプログラミングと言っても使い捨てのマクロを書くくらいのものでした。VBAやシェルスクリプトをちょこちょこ書きましたがあんまり身になってません。MATLABはグラフを作るのには便利で使い続けていたのですが、ライセンスが必要なので「貴重なライセンスをグラフ作るためだけに使うのはな…」という気持ちがあり、あまり使わないようにしてました。

あるとき、同期とランチを食べているときにそういった話をしたところ、「Pythonでいいだろw」という貴重なアドバイスを頂きまして、そういうのもあるのかと思って使い始めました。Pythonとの出会いでした。

ちなみにPythonにはmatplotlibという作図ライブラリがあり、matと付いていることからも想像できるように、MATLABの作図方法とかなり近い使用感となっています。

 

WEBの世界へ

以前(もう2年近く前になりますが)、ALIS記事の検索サイトを勝手に作ったことがありまして、この時初めてWEBの世界に触れました。この時の使用言語もPythonです。よくわからずやってたので頻繁にサーバ落ちしてました。

 

「Pythonなら仕事でも使えるし」という気持ちだったのですが、億ラビ君の影響を受けて気がついたら業務外プログラミングのメイン言語がJavaScriptになってました。ここ1~2年で覚えたNode、React、TypeScriptあたりはもう完全に仕事関係ありません。前日発生したエラーが気になりすぎて、業務中に仕事と関係ないQiita記事開いたことも一度や二度じゃありません(懺悔)。

良い影響ももちろんあって、プログラミングに改めて取り組んだことでクラスやらユニットテストやらGitやらを知り、業務で書くコードに若干の成長が見られてます。また、WEBの知識も全くの無駄というわけではなくて、重たい処理の進捗状況をIncoming WebhookでTeams(Slackみたいなやつ)に投げるBotを作ったりできるようになりました。

単なる業務効率改善だけでなく、プログラミングができると仕事の幅が広がるのは間違いないので、今後も少しずつ知識を得ながら、作ったものをALISやTwitterでご報告できればいいなと思います。

 

まとめ

MATLAB→FORTRAN→(C++)→Python

→Node→React+TypeScript

 

以上、私のプログラミング遍歴でした。

 

画像素材(クレジット)

 

 

 

 

 

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 5人がサポートしています
獲得ALIS: Article like 241.01 ALIS Article tip 46.14 ALIS
ホーさん's icon'
  • ホーさん
  • @fukurou
Python/JavaScript

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
クリプト

「ハッシュ」とは何なのか、必ず理解させます

Like token Tip token
0.10 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
59.32 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS