プログラミングを初めてからの紆余曲折を語ってみる
私がプログラミングをやり始めたのは大体四年前なのですがそれからまあ、いろいろあったのでいまに至るまでの紆余曲折を長々と書いてみたいと思います。
始めたきっかけ
始めたきっかけは単純に大学の授業です。
最初にいっておくと情報系の知識はこの時はゼロでした。ホントになんにも知りませんでした。htmlってなに?データベースってなに?ってレベルでした。
新一年生となってからプログラミング入門みたいな授業がありました、何を思ったのかその授業を私はとることにしました。
ちなみに私は学部は情報系ではありません。
何でそんな授業をとったのかというとたいした理由はなかったのですが、何となくプログラミングに興味があったというか、まあIT系の米国企業がからり盛り上がっていたので、Google,facebook,Uber,Oculus,Amazonとかね、なんとなく知っておいた方がいいのかなあとか将来必要になることがあるのかなあとか、そんな感じのことを考えて受けてみただけでそんな高尚な理由は在りませんでした。
まあそのときの授業ではJavaのオブジェクト指向の基本ぐらいまでやることになったのですが、、、
あんまり面白くなかった。
自分が何をやっているのかよくわからなかったし、こんな文法覚えたり、クラスやらオブジェクトやらいろいろ学んだけど、これをやったところで何が作れるようになるのかを全く知らなかったし、そのあと何をやればいいのかをまったく知らなかったので、少しプログラミングをから離れる時間ができました。少しですけどね。
ちなみにその間の時間は主に簿記とか法律とか実用的?なことを学んでいました。
簿記とかは自分的には将来の生存力を高めるつもりでやってました。
その後、たまたまネットでプログラミングを初めてから半年でWebサービスを作ってみた的な記事を読んで(そういう記事たくさんありますよね?)、そういう記事を他にもいろいろ読んでみてなんか自分もWebサービスを作ってみようかなあとかSNSでも作ってみようかなあとかよくありがちなこと(?)を考えました。
そしてWebの勉強をすることになりました。
そのときはWebのことなんてなにも知らなかったので、ネットでちょっと調べてみたらどうやらhtmlとかcssとかjavascriptとかいろいろ知らなくちゃいけないとう情報を手に入れて、まずhtmlの勉強をし始めました。
なんの本だったかは忘れましたが、html,css,javascriptのことが一冊でわかる的な本でした。多分。
その本でまあ基本的なことはわかったのですがまだいわゆるサーバサイドでの処理とかデータベースの使い方とかはまだ全く知りませんでした。
そこでまたWebサービス作ってみた記事を読んでどうやらWebフレームワークというものを学ばないといけないという情報を手に入れて、最初はnode.jsの本を読みました。
ただよく理解できなかった(泣
たしかオライリーの本だったのですが、全くわからなかった。
わからなくて嫌になってしばらくプログラミングから距離をおくことになりました。
そして行政書士の勉強をしてました。行政書士ってすごく簡単でした。プログラミングと比べれば。本一冊読めば合格できちゃうわけですからね。
そのあとすぐに、たまたまピーターティールの本を読んでテクノロジーについて真面目に学ぼうかなあとか思うようになるのと、起業家に憧れる気持ちが生まれて、起業家やIT企業の創業から発展についての本を読むようになりました。
イーロンマスク、スティーブ・ジョブス、ザッカーバーグについての本とか日本だと、不格好経営とか、サイバーエイジェントの藤田氏の本とかテクノロジーやスタートアップについての一般書を片っ端から読みまくりました。
そしてやっぱり真面目にテクノロジーについて学ぼうと言う意志が強くなりました。
多分この時、二十歳ぐらい。
そしてまたプログラミングをはじめからやろうと思って本屋にいき買ったのが、スッキリわかるJava入門で、まあこれがわかりやすくてびっくり。最初からこれ読んどけば良かったと思いました。
いままで大学のテキストみたいなやつ読んでたのでよくわかってなかったんですね。
このシリーズを三冊すぐに読みました。
そのあと情報系の学部のカリキュラムを参考にして、どうやらデータベースやネットワークやアルゴリズムを学ぶ必要があること知り、それについての本を読むようになりました。
データベースとネットワークの本はいわゆる現場向けの分かりやすい本を選んだのでそこまで苦労せずに基本的なことはわかったのですが。アルゴリズムでまあ苦しみました。
まあちょっと難しい本を選んだのが悪かった。
アルゴリズムの場合よく考えないといけないですし、そのときはなんでこんなことやらなきゃいけないのかよく分かってなかったので、結局アルゴリズムの本は積読になりました。
次に取り敢えずなにかWebサービスを作ってみようと思って、ネットで1番簡単といわれているPHPとサーバ(Linux)について学び始めました。
PHPの本でWebの基本というかデータベースからデータとってきて表示するとかホントに基本的なWebサービスの仕組みが分かりました。
Linuxについてやり始めたら。今度はOSやシステムについて興味が出てきてWebサービスをつくるはずが、やっぱりOSを作ろうという方向になってしまいました。
そしてシステムプログラミングやLinuxカーネルについての本とかを読みまくりました。
読みまくって知識はついたのですが、それで疲れてしまって結局OSは作りませんでした。
こうやっていろいろ学んでいくうちにこの分野のことも少しずつ分かるようになってきて、コンピュータアーキテクチャやコンパイラについての本もいくつか読むようになりました。
ここでそのとき話題になってたビットコインについての本(Mastering Bitcoin)も読んだのですが、よく理解できない、、、、
ビットコインについてはかなり興味あったので、暗号や代数、アルゴリズムについても真面目に勉強しようと思い至り。代数の本とかも読むようになりました。雪江代数とかね。
また、VRにも興味があったのでグラフィックとハードウェアも知りたいと思うようになって、電子機器の仕組みももっと知りたいと思うようになったので、エレクトロニクス的な分野についても学習するようになりました。
LSIとか半導体工学とか物性とか太陽電池とかデバイスについてとかいろいろ知りたいことがあったので、まず電磁気学や量子力学の勉強から始めることになりました。前野氏のよくわかるシリーズには大変お世話になりました。
某大学に聴講生で入学
少し前からいろいろ学びたいことがたくさんあったので某大学に非正規で入学してそこの大学院の動画をネットで見まくる作戦に入りました。(現在進行形)
この作戦は大成功で、情報系から生命科学系、エレクトロニクス系の多くの講義動画を見れるようになったのでかなり効率よくいろんな知識がつくようになりました。というか講義が多すぎてちょっと苦しい状態ではありますが。
ラムダ計算や情報理論、符号理論、ファジー理論、スパコンやセマンティックWebから脳神経やバイオインフォマティクから半導体工学、システムLSI、レーザー、光物性、デバイス、光通信、磁性体、電子材料などなど他にもたくさんいろいろ見ているのですが、全部こなすのはまあまあ苦しいです。
ただ知識は確かについてきていて少しずつ電子機器の仕組みやどう作るのかがハードもソフトもわかるようになってきました。まだまだですがね。
もっともっと詳しくならないととても革新的なものなんて作れません。
結局のところ。
なにも作ってねえええええええええええええええ。
クソです。
なにか作らないと。
ということでなんとかVRでなにかを作ろうと試みているのですがあいにくコンピュータグラフィックについてはまだろくに分からない、レンズ設計もよくわからないという怠惰な状態です。
やることが多すぎてきりがないです。
ソフトもハードもバイオも物性も数学についても、もっと知りたいのですが明らかにオーバースペックな状態です。何をやるのか絞った方がいいんでしょうが。どうしましょうか。
いつまでも充電期間とはいかないのでそろそろ本格的にまともなものを作り始めないといけないのですがね。
1番興味があるのはHMD(ヘッドマウントディスプレイ)なのでそっちに時間をかけようか、どうしようか
なんかもう就職はしたくないので、起業したいよ(願望)
絶対に起業の方が大変なんだけどね。
どう考えたって。
そろそろ自分で生活費をちゃんと稼がなきゃいけない時期になってきたので身の振り方を最近は真剣に考えています。
人生って難しいいいよおおおおおおおお
人生は大変ですね。いろいろ。まあ初見プレイだからしょうがないかなあ。
結論
彼女がほしいです