funny rain, sweet breathing

知ってるか?世の中って思った通りにしかならないんだぜ?

新しく挑戦してることのステップ2〜4くらいの所在と位置づけについて

たまたま、code.orgというサイトを見つけた。

Anybody can learn | Code.org

"Hour of code"っていうのがちょっと前に流行ったのか? 全世界で6億行のコードが書かれたとか、カーン・アカデミーがダウンするくらいトラフィックが増えたとか、すごかったらしい。

Code.orgの提唱した「Hour of Code」、2週間で2000万人が学び、生まれたコードは6億行 - TechCrunch

プログラミングは、エンジニアとかになりたい人でなくてもこれからの時代において敷居が低くなるのは凄くいいことだと思う。特定の言語で何か作れるようになるっていうのは素敵だけど、そうでなくてもコードを書く上で、コードを書くよりも大切なロジックを作るっていう経験は積んでおいて損はない。

それはインターネッツ業界が大好きな意識高い人々が嫌いそうな日常のコツコツと進める業務然り、家で作る料理然り、ねこあつめから艦これに至るまで例えランダム性が支配する中でもうまくゲームを進めていくコツ然り。ロジックを組み立てて物事を進めていくっていうのは、ロジックなんて格好つけなくったってどこにでも存在しているし、どこであっても使える技術だ。

というわけで、多くの人が初めてだけどやってみようって思える環境がどんどん作られてるのはとても素敵。日本史は勉強すべきだと思うけど。っていうか、日本史の代わりにプログラミングを教えろとか言う人って頭悪いと思ってて、それなら「はーい、今日の授業はみなさんに某K栄じゃないけど◯◯の野望を開発してもらいますぅ。」でいいじゃんと。プログラミングかつ日本史だぜ?最高じゃん。

僕はエンジニアではないし、なる気もないけれど、仕事柄何か思いついたことをサクッと自分でコード書いて試作品レベルを作れたら色々捗るので、プログラミングは勉強している。HTML、CSSJavaScriptは中学の頃から書けたので、あとはWord Pressを軽くいじれるPHPとDBの知識あればいいやって思ってたんだけどね。

自分の指向性というかただの嗜好なのか区別はつかないが、もうちょい色々言語を駆使してPC上で動くプログラムや、Rasberry PiやArduinoを制御してヘンテコガジェット作りなんかをやりたくなった。

初めての挑戦。

プログラミングの話だけど、上記code.orgだけでなく、その他にも便利な入門用の学習サイトは存在する。日本語のものもあるけれど、義務教育レベルの英語力があればあとは単語さえ調べるだけで、もっと大量のリソースを参照することができる。

いい時代だね。

さて、ここで具体的なプログラミングの中身に入っていくわけですが、どの学習サイトを選んでも、

Hello Worldを表示させる
・変数って何?を学ぶ
・if文やループ処理系の書き方を学ぶ
・ちょっと頑張って、人や動物等に例えてクラスの考えを学ぶ

とか無理くり単純化すると、共通して学べる。

その後はその学習教材次第だけど、簡単なゲームを作ってみたり、ちょっとした掲示板みたいなんを作ってみたり。あるいは「これらを組み合わせると、こんなのもできるよ!!ぜひチャレンジしよう!!」

って感じ。

僕がまっさらの素人で特にITにも強くなかったら、ここで躓くと思う。ステップ0〜ステップ1をクリアしたくらいで宙に放り出された感じになるだろうなって思う。

このステップ0〜1と、ステップ2〜4くらいのところに大きな溝があるんじゃないかと考えてしまう。調べてもさ、やれGitだ、やれHerokuだ、やれ仮想環境だ・・・ってそういう情報がもしかして一番多いんじゃないか? と。

そう、基本的なプログラミングの作法や文法を覚えた上で、次に実際何かを作ってみようと思って調べだすと体感的に一番眼に入るのが環境構築系の話。あとは、それなりに動くプログラムを書ける人の問題解決情報。

なんか、ある部分欠けているというか極端に情報が少ないポイントがあるんじゃないかな。

「ごたくはいい!!とにかくコードを写経しろ!!」っていうのは、うん、わかるよ。僕もそんな感じの経験はしたし、役に立ったし。だけどね、これだけ「万人に!」っていう雰囲気の世の中で、まだそれが唯一の最適解ってなってしまうのもどうなんだろう。初学者に「Git Hubを漁って、簡単そうなコード見つけてきて勉強しろ!!」ってのも同様ね。

プログラミングに関しては、ひと通り文法とかをさらってみた状態の人が、だいたいそこら辺で終了する初学者向けのコンテンツの先へ進むには?っていうの。誰もがプログラマーにはならないけど、プログラミングに関して造詣を深めてもらうにはけっこう大事なポイントだと思うのよね。

あとは、何をもってどれくらいのステップにいるか?っていうのも決めるのは難しいけど、明確にあったらいいなと思う。

ざっくばらんに言うならば、「上級者、そのドヤ顔の上から目線やめれ!! 中の下くらいの人、臆せず現状の苦労話と乗り越えた経験談をどんどん出してくれ!!」っていうのがまず欲しい。そうしないと、大げさに言えば世界中で書かれた6億行のコードが、6億行の"Hello, World!!"っていう笑えない事態になるんじゃないかな。

ってプログラミングの話をしたけど、例えば僕の他の趣味でスノーボードというものがある。とりあえず滑れるやつに引っ張られてガクブルでリフトに乗って、降り場でこけて、板の装着に苦心して、最後に「じゃ、下で会おう。」と放置される。それが初心者。

そこから頑張って練習して、ターンができるようになると一つ区切り。で、その先。僕の場合よくわからないけど、グランドトリックという、くるくる回ったり飛んだりはねたりっていうのをできるようになりたくて、そっちの方向に進んだ。

普通にゲレンデを滑る→滑りながら飛んで360度回転してまた滑ってく。

どういう練習ステップを踏めばいいかわからなかったので、一気にやってしまった。ゲレンデ行く度に、首がむち打ちになっていた。それでできるようにはなったんだけどさ、本当ならその間にオーリーとかノーリーっていう、まずは普通にピョンって飛ぶ技術とかがあった。

多分、ステップ1から、2とか3をすっ飛ばしてステップ4を目指してしまったんだと思う。知らんよ、だってYou Tubeとか見てるとみんな格好良く華麗に飛び跳ねてるんだもん。おかげで、回転ができるようになってから、普通のジャンプ(オーリーとかノーリー)をちゃんと練習するはめになった。こっちができないと、きれいに回れないし、怪我の危険も高いと思ったから。

スノボに関しては僕の情報収集が適当だったっていうのはあるね。

ただ世の中的に、人の学習曲線の各段階においてそれに見合った情報ソースの入手しやすさやボリュームのバランスが合ってないものって多いよね。

長くなりすぎたので無理やりまとめますた。

はじめてのプログラミング HSP3.4+3Dish超入門

はじめてのプログラミング HSP3.4+3Dish超入門

14歳からはじめるHTML5 & JavaScriptわくわくゲームプログラミング教室Windows/Macintosh対応

14歳からはじめるHTML5 & JavaScriptわくわくゲームプログラミング教室Windows/Macintosh対応

たのしいプログラミング Pythonではじめよう!

たのしいプログラミング Pythonではじめよう!