プログラミング関連の略歴
- 小学時代 (地元の公立小学校)
小学校のクラブ活動のパソコンクラブにて LOGO言語がベースの日本語プログラミング言語ロゴライターと出会う
プログラミングとの邂逅である が、クラブの先生は構文の説明等だけでプログラムの組み方のノウハウを教えてくれるわけでもなく
3年間所属したがまともなプログラムはついには一度も組めなかった
(まともなプログラム組める子は数人はいたが俺含めほとんどの子は何も作れなかった、俺の卒業後そのクラブは廃止になったらしい…)
(そもそも週1のクラブ活動の時間しかパソコンを使えないため色々と厳しかった(そんな中でもまともなプログラム作る子いたのですごすぎ))
(まともなプログラム組める子らは何故か1年間しか所属してない子ばかりだったので…ほぼ才能の差だな…)
(ゲームプログラマに少し憧れてたが才能の無さに気づいたのでこの時点で潰えた) - 中学時代 (地元の公立中学校)
ゲーム好きの子からゲーム雑誌としてのベーマガを教えられて素人によるプログラム投稿の存在を知る
図書室からベーマガを借りて掲載の投稿プログラムからN88-BASICやVisualBasic2.0などを知る
親が中古のパソコン(PC98シリーズ,Win3.1)買ってきて自宅にパソコン環境が出来る(もちろん家族共有PC)
N88-BASIC実行環境を得る、CARealizerの体験版によるウィンドウズプログラミングの環境も手に入る
ベーマガの投稿プログラム(ゲーム)をいくつか入力して遊んだ(CARealizerへの移植なども試みたりもした) (N88-BASICは組み込みのROM-BASICというやつ?でFDDやHDDにアクセスできずプログラムの保存できないのが辛かった)
(CARealizerはどマイナーBASIC言語、VisualBasicみたいな感じ、付属マニュアルがほぼ英語だったため辛かった) - 高校時代 (地元の公立高校、卒業者の半分強くらいが大学へ進学するレベルの進学校と言えるか微妙なラインの学校)
親がWin95の中古パソコンを買ってくる(例のごとく家族共有PC)
VisualBasic6.0LEも入手して多少まともなウィンドウズプログラミング環境を手に入れる
Win95のCD-ROMにQBasicを見つける(QuickBasicのサブセット)
VB6とQBasicによりベーマガの投稿プログラムで遊べるプログラムが増えた
VB6のLEとはLearning Editionのことで、一番安価なEdition。(Professional EditionではPCのインストール要件を満たせなかったためLEとなった)
パソコン雑誌の付録CDなどからLSI-C試食版やBoralndC++ComplierなどC/C++環境も入手したりもしたが
図書館からC言語の入門書を借り覚えようとしたが色々と難しくて挫折して諦めた
Win95にExcelとか入ってはいたがVBAとかは触らなかったので未だにサッパリ分からない
(なお古いほうのPC98は貰って俺専用PCとなったがあまり使わなかった) - 大学時代 (1浪して入試偏差値50弱の電子情報工学部へ進学した)
パソコンはWin95のままだったが親がプロバイダ契約してインターネット環境が出来る
インターネット環境によりHTMLやJavaScriptに興味を持つ(興味を持っただけ)
教養科目の授業で簡単なJavaアプレット作るみたいな授業を受けてJavaを知る
教養科目の授業で簡単なSQLの基礎をやるが理解できず
専門科目のプログラミング入門の授業で初歩的なC言語を学ぶ
専門科目でデータ構造とアルゴリズムの授業を受けるが全然理解できず
専門科目でOSの仕組みの授業を受けるがほとんど理解できず
専門科目でコンピュータアーキテクチャの授業を受けてVHDLとCASL2を知る
専門科目で基本的なネットワークの授業を受けてTCP/UDPなどを知る
専門科目の班ごとの実習の授業で顔認識の課題を出されるが我が班は歴代最低最悪の認識率だとお褒めの言葉を頂いた
(大学の情報系はバリバリプログラミングするようなとこかと期待したがそういうのは専門学校でやることらしく大きな勘違いで進学した)
(入学案内にはコンパイラ作成など色々なプログラミングの授業が列挙されてたが情報系の先生が不足という謎理由でほとんどが実施されなかった(実施された情報系の科目はそこに挙げた6つだけで、他は全部電子系の授業・実験だった…))
(プログラミング入門の授業ではクラスでは俺以外全員プログラミング初心者だったため実装系の課題提出はほとんどが1番乗りだった(アルゴリズム系の課題に関してはむしろ全然ダメで遅れを取ったが…))
(データ構造とアルゴリズムの授業はテキストはC言語での説明だったのに課題提出はJavaScriptだった(自宅にパソコンを持たない学生への配慮らしかった))
(VHDLは授業で使用したテキストに書いてはあったが授業では取り扱うことは無かった(当然テストにも出なかった))
(インターネット環境によりJBuilder(Java)やDelphiの無料版を入手したりもしたが結局一度も使わなかった)
(尚、卒論なしで卒業できる大学を選んだため、普通の大学生が経験するようなゼミや卒業研究は一切経験せず卒業した…)
(大学時代の半ばの頃くらいに親がWinXPの家族共有パソコンを買ったが結局大学在学中は自宅では課題以外ではVB6しか触らなかった) - ニート時代 (新卒で(心情の問題で)就活をまともにできず、既卒ニートに突入した)
ガラケーアプリに興味を持ちJavaMEなどの環境を作り、(自分用に)簡単なアプリをいくつか作った
とあるオンラインゲームのゲーム結果集計サイトが閉鎖したため急遽それの代わりとなるサイトを作った、その際にPHPとMySQLを知った
ニートになってからの数年間のプログラミングは上記のことくらいしかしなかった
とあるオンラインゲームの人気が落ち暇になった頃(2013年9月あたり)にCodeIQやpaizaやAOJなどで遊び始めた(主にC言語とJavaで)
CodeIQでコードゴルフに多少の興味を持つようになる
paizaのPOH!で使ったことないプログラミング言語に興味を持つようになる
TopcoderやAtCoderなどの競技プログラミングの類で遊ぶようになる(2015年頃から)
POH!vol.6+にてRubyに惹かれ競プロでRubyを使うようになる
Rubyでmap,zip,reduceなどが関数型言語由来のような話を聞きHaskellに興味を持つようになる(が、結局は使えるレベルには至れなかった)
CodeIQでBrainf**kを見かけて興味を持つようになるが未だにプログラムを書けないでいる…
C++,Python,Go,F#,VB.NETなどのプログラミング言語をお試し感覚でたまに競プロで使ったりもするようになる
尚、GitHubに登録したキッカケはCodeIQの登録のためである(当時CodeIQはOAuth認証でしか登録できなかったため)
その後、リポジトリサービスはSourceForge.JPやBitbucketやGitLab.comにも登録はした、SourceForge.JPのアカウントは解約済み
2012年半ば頃に自分専用のネットブックPC(Win7Starter)を入手するなどもした
スマホアプリ作ってみたくて2015年半ば頃にAndroid4.0の中古スマホを買ったりもしたが未だにスマホアプリは作ったりはしてない…
C言語やJavaやデータ構造やアルゴリズムなどはニートになってから分かるようになったに思う…大学時代は本当何も理解してない感じだた 現在、競プロでときどき遊んだりするもののアプリ作り等のプログラミングはほとんどしてない状態…
(まぁそもそもアプリ作りは昔からほとんどやってないがw)