タグ別アーカイブ: Unity

C言語のポインタとギターのFコード

「プログラミングをやろうと思ったけどC言語のポインタで躓いた」なんてのはよく聞く話だが、似たような話として「ギター始めたけどFコードが抑えられなくて挫折した」というのがある。ギターやったことない人のために説明すると、ギターというのは6本の弦でコード(和音)を作るのが基本的な奏法で初心者が買うギターの教則本では大抵いくつかのコードを覚えて有名な歌の伴奏をしてみる事を教えている。そしてFコードというのは、人差し指を寝かせて6本の弦を全て押さえることが必要なのだが、初心者の場合握力が弱かったり指を棒のように伸ばす事に神経が慣れていなかったりで、まずちゃんと抑えられない。やってもやっても抑えられない。そしてFコードが押さえられないと次の段階に進んではいけないと思い込み、ギターの練習そのものに飽きてしまう。

しかし、「ギター弾きたい」と思う人が本当に弾きたいロックやポップスの曲では、まずその人差し指で6弦全て抑えるFコードを弾く場面なんてものは出てこない。もちろんF(ファ)を基音とする和音はいくらでも出てくるのだが、大抵省略形になっていたりして、少なくとも教則本に載っているような形で6弦全てを1フレット目で押さえる場面は少ない。僕は中学1年生の時にギターを始めて、同じように初心者向けの教則本から始めたのだが、6弦全て使う形のコードを押さえて好きでもないJ-POPsの課題曲をやることにすぐに飽きて来た。ある日大好きなバンドKISSのアルバム「LOVE GUN」の楽譜を楽器屋で見つけたので買って見たらそこに載ってるのは教則本に載ってるコードより押さえるのがずっと簡単な省略形の「パワーコード」ばかりであった。すぐに好きな曲に挑戦してみたら自分でも弾けることに興奮した。その体験のおかげで20年以上ギターを続けている。

プログラミングの話に移ると、僕がUnityとC#を使って一人でもゲームを作れるようになる過程において、Unityの教則本もC#の教則本も見なかった。ただ、「FPSが作りたい」という思いがあったためUnityに付属のTPSのデモの中身を見たりして、真似してみる所から始まった。ギターのFコードで挫折する人とC言語のポインタで挫折する人に共通するのは「弾きたい曲」や「作りたい物」がないことだと思う。このバンドのこの曲を弾いてみたいというのがなしに「ギター弾ける俺」を目指したって、ゲーム作りたいわけでもなく「今の時代文系でもプログラミングくらいできなきゃ」とか思ったって、そこには自分の人生を豊かにするような体験は待っていないだろう。

何故こんな話をしたかというと、直接のきっかけは「プログラミング初心者が躓く点」のような話を目にしたことだが、この手の話は前から社会の闇として気になっているのである。特にやりたいことや好きなこともなしにただ人から評価されることやかっこいい自分を目指して挫折する、いや正確には挫折感もなしにただ無かったことにする人は多い。まあそれだけなら害はない。10代の時に楽器を触って3日坊主なんてことは誰にでもある話だ。しかし、20代、30代でプログラミングの本を買っては積んだり、開発環境をインストールするだけで終わったりすることを繰り返して自己承認欲求をどんどんこじらせていく人たちがいる。何をした方が良い、何をするべき、そういう話ばかり聞かされて来た人たちが特に興味もないことをかじって時間や金を無駄にする。そしてしまいには「趣味がない」とか「友達がいない」とか「仕事に未来がない」とか言い出す。音楽が好きだから楽しみたいとかなくて「twitterで音楽の話をできる人はかっこよくて羨ましい」とか言い出す。「なんでも良いからプロフェッショナル仕事の流儀や情熱大陸に出られる人になりたい。」とか言う人はマジに存在する。イケてる自分になるためのスキルアップとライフハック、それを煽る空気がある。なんか呆れてくるしムカついてくる。わかるかなこれ。