Flashゲームを作りたくてアクションスクリプトの本を買ってもらったんだけど、本の通りに書いてもエラーが出て動かなかった。
今になってみると何故動かなかったのかの見当がつく、セミコロンとコロンを打ち間違えてたんだ。
もし最初の本が初めてプログラミングに触れる初心者向きで、それこそ変数とは?関数とは?どんなことに気をつければいいのか、というところから一歩ずつ書いてある本なら投げ出さずに済んだかもしれない。
大学に入ってからJavaScriptやPHPを少し触るようになった。
小学生の時の挫折があったからなのか、周りの学生よりも多少理解が早かった。
エラーが出たらエラー文でググる、がこの時の私の対処方法だった。
カッコの閉じ忘れや変数名間違いで数十分悩むこともザラだった。
しょーもない間違いを積み重ねていくうち、なんとなくエラーの原因に見当がつくようになってきた。
他人のコードを見ても、どこまでが元から用意されている機能で、どこからがこの人が新たに定義した何かなのかがわからない。
上手な人のコードは簡略化されすぎてて、私にはまるで理解できない。
JavaScript、関数の書き方が何通りかあって、それぞれの違いがよくわからなかった。
困るのは見たことない書き方を見てもそれをググれないこと。記号が入り混じってて検索ワードとして成立しなかったり、そもそもプログラミングやってる人からしたら常識だったりして、わざわざ空は青いですよ、みたいな分かりきったことは書いてくれてないのだ。
たまたまプログラミングの得意な先輩に教えてもらう機会があって、色んなことを教えてもらった。
例えばツール。
閉じ忘れや変数名間違い、全角スペースで数十分悩む必要は無い。だってツールが教えてくれるから…。
それまでメモ帳に毛の生えたようなテキストエディタを使ってたんだけど、SublimeTextとかVS Codeとか色んな選択肢があることを知った。すごいんだよ!コードを補完してくれる機能があったり、閉じ忘れてると教えてくれたりするの…。
こんな便利な関数があるよ、それは古い書き方で今はこんな新しい書き方が主流だよ、とか。
インデントは揃えようって口を酸っぱく言われた。確かに揃えた方が読みやすいよね。
エラーが出た時の対処方法も自分とは違ってた。そうか、これ、原因になる行がエラー文に表示されてたのか…。
どこまで値を渡せてるのか順番にコンソール出して確かめればいいって発想が自分に全く無かった。そうだよね、どこで失敗してるかわからないものね。
んで、就職して社会人になったわけだけど、コードを書く機会はほとんどない。あ、いやたまにある。ランダムでおみくじを表示させる程度のものとか。
プログラミング、まあまあ好きだと思う。
でも自分にはその素養が無いって常々感じる。なんか根本の考え方が上手な人と全然違うみたい。
初心者がエラー文読まない、読んでも見るだけで理解してないのはガチ。
どうやったら上手な人と下手な人の溝が埋まるんだろう、ってたまに考えるんだけど、
人間やっぱ得手不得手ってあるよね。
誰かに教えて貰わずともボール蹴るのが上手な人も居れば、教えて貰っても下手な人もいるわけで。
でも学校の体育ってやり方教えてくれないよね?
跳び箱ぐらいかな、コツ教えてくれるの。踏切の位置や手をつく位置、あれを上手くやれば高い段もするんって跳べる。