プログラミングなんてか・ん・た・ん・だ!
ここ最近、1年ぐらいちょくちょくとプロゲートで勉強しながら、WEBアプリ作ってシステム屋に就職しました、って人多い。聞けばフリーターやってたけど、単純作業が面白くないからが理由が結構多いのですががそりゃそうかも。でもそういう単純作業の人が頑張っていて社会が成り立つということも忘れてほしくはないのですが。
世の中、プログラム組むのが相当高度な専門職に思われ気味ですが、真面目に取り組めばたぶん小学生高学年でもできるレベルの難易度だと個人的に思う。あんまりこれを言うと他のIT業界の友達から怒られそうですが(笑)。俺も小学生デビューですし。最初はBASICからで途中からマシン語、それにするためのニーモニックと呼ばれるもはや言語ではない気もするのですが。
これ、ホリエモンはアタマが良いからとかと違ってこの学習法や、ガチで王道なのですが、そのホリエモンが言ってたサンプルプログラムを打ち込んでそれを改造してたらだんだん覚えていくのは、たぶんホリエモンの年齢からすると、当時のPC-8801時代のN88-BASICあたりのことを言っているのだろうと思います。
当時、パソコンに付属する2冊ぐらいのマニュアルがあって、一通りの基本的機能を動かすプログラムが載っていました。例えば白色の円形を書くのにはcircle文に座標と、カラーコード入れて動かせとか。
その改造は、BASICグラフィックだったら、白のカラーコードは7だから、青にするには、カラーコード1にするとか、座標を変える、円の半径でかくする、円の中をペイントする。カラーコードを変数にして、input文で入れたコードで出すそんなこんなで、しまいに円を横に動かしてやろうと思うと、BASICの限界にぶつかりマシン語覚えだす。
今でこそTHEマシン語みたいなニーモニックはやらないんですが、それを実現している人のニーモニック読む、すると論理演算が必要になるとか。
こういうことって、当時、月刊マイコンとか、Oh!PCに載ってましたね。
するとVRAMのメモリマップの構成と、いずれかマシン語で論理演算させて次に動かす位置に来るドットのカラーを先に読んで論理演算式でその位置は次のカラーに書き換えするべきかどうか、そして移動後の座標のドットは残すのか残らないのかとか、色をどう戻すのかとか。そもそもメモリをブロックで考えるのかビットで考えるのか。
ゲームのようにハイスピードを求めていなければ、BASICの得意なところと高速処理させるところは分けてもいいと考えたり。
マシン語で頑張って論理式組めば答えが出るのでそれに従ったメモリの書き換えをするとか。今どきのパソコン、そんなややこしいことせんでえのですが。
今の言語も同じで、いきなり参考書読んでいきなり書くのは俺はできないです、そんな神様みたいなこと、一応プロのプログラマーでも難しい。
人の書いた簡単なコードを写経(他人のプログラムのコードの丸写し)してなんかわからんがとりあえず書き方を慣れる、これ、ほんまに慣れてくる。
同じコードを何回も写経してその理論構造だけ分解して構造の理論がどうなっているのか、考える。そして、その理論構造を確かめながらまた写経する。それ3回程度。
そして、その写経コードを改造してみる。幅を変えたり、色を変えたり、サイドバーを右から左に変えてみたり。
ここが大事かと。
他人のプログラムの改造を何回かやって自分なりの改造をしてみる、ここからだんだんと楽しくなる。この改造は血となり肉となるところ。
そして頭に入ってきたら一度自分で同じプログラムを書いてみる。多分そうは簡単に素直には動いてくれない(笑)。
ここで、上記に書いた理論構造の記憶が生きてくる。
自分で書こうとはしてはならない。
今の時代、わからないことは、すべてGoogle先生が教えてくれる。ようは、エラーメッセージが出ていれば、そのメッセージをコピーして検索、同じようなことでつまづく人なんて、日本中に山のようにいるのです。
なんとか知恵袋にいきなり質問しても、「調べてから質問してください」と冷たい言葉が返ってくる。それは冷たい言葉ではなく、温かい助言です。
まずは「Google」で調べる。そこにヒントとなるものがいっぱいヒットする。そこに、原因となることが必ず書いてある。
これができるようになったら、後一歩でプロのプログラマーです。
どんなベテランプログラマーもわからない、動かないことは普通です。動くほうがむしろ怖い。なぜなら、大きなバグというミスを含んだまま完成にしてしまう可能性がある。
もう、その繰り返し。そうするとまったく同じものが自分の力でできる。
そして、自分が作りたいものを作っていく。
例えば、自分が作りたいWEBサービスを作る程、モチベーションが高いものはないです。
ここまでくるのに、他人や自分の経験てきに普通、半年〜1年、半年ぐらいでもなんとかなります。そこは頑張り次第。
最近多いのが、ドットインストールみて、初めてゲーム作ってAppStoreとかGooglePlayStoreで売れちゃいましたとか。
WEBアプリはプロゲートという学習アプリが得意とし、スマホアプリや環境構築も含めたいわゆるシステム屋的に全体を網羅しているのはドットインストールが個人的に好きですね。
プロゲートは確か無料で、ドットインストールは無料と、プレミアム会員があって月額1000円ぐらい。
ドットインストールはプレミアム会員でわりと結構頻繁に見てますね。というか、全部自前でやってて教えてくれる便利な先生もおらん、というか、知り合いですごい人おりますが、恐れ多くてよう教えてもらう気にもならんです(笑)。というか、人間様に教えてもらう勉強いう行為が確実に体質に合わん。コレ小学生からですが。
前にドットインストール使っておおよそReactをマスターしたのですが、今までの、「せいのーどん」で画面が遷移するHTMLやPHPのWEBアプリじゃなくて、いまゆるシングルページアプリケーションでAPI経由でDBアクセスさせてシングルページでどんどん画面が変わる、というスマホアプリなら当たり前なのですが、WEBアプリだと結構めんどくさい。しかしReactで開発するとめちゃくちゃ楽ちん。
これサンプルで持っていくと、操作も画面切り替えも超高速なので使ってくれる人も喜んでくれる。
使ってくれる人が世界のどこかで喜んでくれるって想像できる仕事ってそうそう無いと思いませんか。
そんな仕事が、プログラマーです。
今は、インターネットで世界中がつながっています。その先々で笑顔を作るう仕事、こんなに楽しくやりがいのあることはありません。
この記事が気に入ったらサポートをしてみませんか?