テクノロジー

私のプログラミング遍歴 ②

もずく's icon'
  • もずく
  • 2020/02/01 06:56

もずくです。

の続きです。

 

② 大学院の時代

大学院に進学して、博士課程を修了するまでの5年間、基本的にC言語でプログラミングをしていました。(当時の研究システムの写真を載っけている記事

この間にWindowsも研究開発用途で使われるようになり、そのメイン言語であった C++ を使用する学生も出てきました。とある先輩からは「C++はいいぞ」と何度も薦められましたが、私の指導教員から「C++だけはやめて」と禁止されていました。

 

当時大流行していたJavaやC++とC言語の一番の違いは「オブジェクト指向プログラミング」に向いているかどうかという点でした。オブジェクト指向プログラミングの基本となる「クラス」という概念を実装する方法が、C言語の仕様にはなかったのです。

しかし、時代は猫も杓子もオブジェクト指向。首振りカメラや映像切替器を制御するだけの私の研究でもオブジェクト指向で書いてみたくて、C言語の構造体関数ポインタという仕組みを使って擬似的にクラスを表現していました。当時(現在でも?)C言語を使わざる得ない人たちの間では、C言語でオブジェクト指向プログラミングをするために様々な試行錯誤がなされていたかと思います。

 

そんな感じで、私はC++にひっそりと憧れを抱きつつ、指導教員に影響されて「C++は悪」という宗派に属していました。また、当時のJavaは計算がまだ遅くて、私が扱っていた実時間での制御プログラムには使用できませんでした。Javaに関しては、学部時代の授業で良い印象がなかったということもあります。未だに意味なく嫌いです。

プログラミングは研究の用途以外にもちょくちょく使っていて、ちょっとしたテキスト処理や画像処理ツールの作成などをしていました。そこではせっかくなのでC言語以外のプログラミング言語も触ってみたくて、C++とJava以外のオブジェクト指向言語をいろいろと物色していました。

 

そんなときにちょっとハマったのが Objective-C でした。Objective-Cはその頃登場したMac OS Xの公式プログラミング言語でした。記法は独特でしたが、C言語のマクロ的拡張(別の言語ではなくて、C言語にオブジェクト指向的な記法をラッピングしたような感じ)ということもあって、アンチC++/JavaのC言語使いからすると救世主のような言語でした。

学内の書籍部でObjective-Cの本を買って、その足で「珠緒ビューア」という、さとう珠緒の写真だけを見られる画像ビューアを作りました。当時好きだったんですよね、さとう珠緒。

Objective-Cにハマったのは、Mac OS Xへの純粋な憧れもあったと思います。あの頃、お金があれば確実にMacを買って、今でもApple信者をやっていたと思います。ターミナルが使えて、綺麗なGUIでも操作できて、Microsoft Officeも(不安定でしたが)使える、最高のUNIXですよね。研究で使いたかった…

 

その他、Tcl/Tkというプログラミング言語を必要に迫られて研究で使っていました(正確にはTclという言語とTkというツールキット)。当時メインで使っていたLinux上でGUIを作ろうとすると、Tcl/TkかQtくらいしか選択肢なかったんですよね。QtはC++だったので必然的にTcl/Tkになりました。

それと、比較実験のために3次元CGでシーンを再現する必要があり、3ds MAXという3次元CGソフトウェアのスクリプトに少し触れました。このスクリプト言語(MAXScript)、当時も少し話題になっていましたが、ソフトウェアの付属品にしてはよくできたプログラミング言語でした。

 

あとは、Rubyというプログラミング言語をテキスト処理に使っていました。最初はPerlというプログラミング言語でテキスト処理のスクリプトを書いていたのですが、私と同じ大学出身の日本人が開発したプログラミング言語ということでRubyに興味を持ちました。

Rubyは今でも一番好きなプログラミング言語です。ちょっと何言ってるかわからないと思いますがリテラルまでがオブジェクトという徹底ぶりで、例えば、「5.times 
{ 処理 }」って書いたら処理を5回繰り返すんですよ、すごい。用途的に丸かぶりのPythonに駆逐されつつあるのが悔しい。Ruby on Railsみたいなのが出てきて復活してほしい。

 

③ 助教の時代につづく

 

 

 

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 4人がサポートしています
獲得ALIS: Article like 85.89 ALIS Article tip 43.12 ALIS
もずく's icon'
  • もずく
  • @mozk
主要な記事はHiÐΞに移行中

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

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

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

約2年間ブロックチェ-ンゲームをして

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

Uniswap v3を完全に理解した

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

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

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

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

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

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
ゲーム

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

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

彼女でも分かるように解説:ディープフェイク

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

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

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

ALISのシステム概観

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

iOS15 配信開始!!

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

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

Like token Tip token
270.93 ALIS