paizaラーニングという、progateみたいなプログラミング学習サービスがあります。
最近、ここで、「挑戦するだけでamazonギフト券が当たる!」という、プログラミング問題があったので、やってみました。
プログラミングはつまりパズル
やっていて思ったのが、プログラミングってパズルだなーということ。
頭をこねこねしている感覚が少しだけ気持ちがいい。しかし、これが全然解けません。twitterで検索をするとラクラク解いてる方もいらっしゃるので、自分の頭の悪さに辟易します。
パズルは時間がかかってつらい
悪い癖なんですが、あともう少しでなんとかなりそうだと思ってしまうと、何時間もそれに取り組んでしまうんですよね。そんなことしてる場合じゃないのに。
ものすごく答えが見たかったです。
結局正解できなかったんですが、何時間も向き合って、久しぶりに「うじうじ悩む」以外で頭を使った感じがしました。こういう頭を使ったという実感があると、気持ちいいですね。なんだか頭が良くなる気がします。今回実感したのは自分お頭が悪いということですが。
頭が良いのはアルゴリズムを作れるということでは
今までなんらかの作業フローを作るのに苦労したことはなかったのですが、そういえば初見の数学の問題って苦手だったんですよね。それは他のクラスメイトと比較しての話ですが。なんかどこに当たりをつけていいのかわからなくなってしまうんです。
で、思ったのが、数学的な頭が良いってことは、ちゃんとしたアルゴリズムが作れるってことなんじゃないですかね。広い意味で、イベント運営の作業フローなどはアルゴリズムなのですが、法則性を数字に落とし込むというのは別の才能がある気がします。いいなあ、頭の良い人。
英語もプログラミングも「鍛えられる勘」があると思う
最近、個人的に英語を勉強しているのですが、英語やプログラミングは鍛えられる勘の様なものがあると思います。完全に創造性を発揮するのは難しいですが、英語も数学もある程度はアルゴリズムパターンで、それに慣れてしまえば勘が発揮できるようになるのでは、と。
アウトプットをするのが最短で鍛えられる
で、そのアルゴリズムパターンを学ぶには、なんらかのアウトプットをするのが良いのではと思っています。普通に問題集的な対応をしていても、問題集に対応するアルゴリズムとして自分の身に刻まれるだけなんですよね。実際はすべてのことはアウトプットのために使用されるので、アウトプットの想定されない勉強は効果が薄くなるのではと思っています。外国人と話したり、プログラミングで作品を作るのが大事だと思っています。
アウトプットは怖いけどしたほうが良い
しかし、アウトプットって怖いんですよね。未熟なものを出したらそれで自分の評価が固まっちゃいそうだし。固まっちゃったらもう挽回できなそうだし。
とはいっても、長期的な目線に立つと、悪い評価を持たれたとしても、たくさんのアウトプットをしたほうが良いと思います。
あんまり遠回りな発想をしては良くないのですが、どんな反応が来るかというのは、応用の効く財産になるからです。また、ここはインターネットで、もしかしたらダメなアウトプットも価値を感じてくれるにしてくれる人がいるかもしれないんです。
ということで、ぼちぼち自分のためにアウトプットをしていきたいとおもったのでした。