この記事は、中高生プログラマ Advent Calendar 2015 の8日目です。


これ、私がずっと気になってたことなんですが、最近の若者の皆さんってどこでプログラミングに興味を持つんでしょう。
部活でとかなら分かるんですが、独学でやってる人も多いらしく、そうするときっかけは何なんだろうってのが謎です。
ピアノとかサッカーみたいに、親に習わされたとかテレビで見たとか、そういうのが無いじゃないですか(あるの?)、プログラミングって。
今から考えると知恵袋とかQuoraあたりにpostするべき話だったのかもしれませんが、上記のアドベントカレンダーに参加したので、まずは自分がどうやってプログラミングに興味を持ったのか、覚えている範囲で書いてみようと思います。要は自分語り。

電子工作がやりたかった

元々自分はつくってあそぼを欠かさず見て真似してつくってあそんでいた様な子供だったんですが、大きくなってくるとさすがにティッシュの空き箱とトイレットペーパーの芯でロボットを作るのにも飽きてきて、こうボタンを押すと動くものが作りたくなってくるわけです。
ただまあ小学生の財力で電子工作なんてできる訳もなく、親のWindows98のPCで、Macromedia Flashがふんだんに使われたサイトを見ながら、
これ欲しいなあやってみたいなあと悶々とする日々が続いていたわけです。
(あまりの懐かしさに衝動買いしそうになったが生産終了してた諸行無常)

そしたら小学校で配られたペットボトルロケット大会のチラシの裏の左下に超小さく自律ロボット大会開催!参加費無料!PCもロボットも支給する!みたいなことが書かれていて、😜に⚡️が💥したのを感じて、即友人に出ようぜメール送って…ってことがあったのを鮮明に覚えています。
この頃が人生のピークだった気がする。

でその大会でこんな感じのビジュアルプログラミングやって、なかなか面白いなとなったりした。

そのあとも色々とロボット大会に出たりしたのですが、どうしても優勝しているのは高いパーツを使っているチームだったりして、"お金をかけずに何でも自由に作れる夢の世界ないかなあ" なんて考えていたら、"あれソフトウェア作るだけだったら材料いらないんじゃね?金かからないんじゃ" と閃いて…というのが自分がテキストプログラミングに興味をもったきっかけでした。

その後

C

世界で一番使われている言語はCらしいというのを聞いて、苦CでC言語を学び始めるも、案の定ポインタで苦しみ、俺には無理だー⤵となる

JavaScript

知り合いの知り合いがプログラミングスクールを始めたとかなんとかでJavaScriptを教えてもらうと、プログラミング楽しィーーーー⤴となる

PHP

JSやったから次はサーバーサイドだなってことで始めるが何もフレームワークを使わずに素で書いていったため途中で汚さに圧倒され断念

Python

Zen of Pythonに一目惚れ。
次はでかいフレームワークだなってことで先にPHPで書いたものをDjangoに移植したりした。
移植ってのは新しい技術を学ぶ時にベストな方法だなあとか思ったり。
その後PHPの気軽さも欲しくなって現在はFlaskをメインで使ってます。
データサイエンス出来ない><

Haskell

某Qiitaの騒動で気になって始めた。
今までやってきた言語と文法ももちろんそうだけど根本的な考え方が違う。
そのせいか入門書読んでるだけで超楽しい。
Stateモナドのあたりは常時にやけながら読んでた。
業務では一生使えなさそうな気がするけど、中高生なんだから好きな言語で遊んでいいよねということで。

Elm

惚れてます。
foo = (+) 100 <~ Mouse.yと書くとfooにマウスのy座標を+100した値が入る。
さらにマウス座標が変わったらfooの値も自動で更新してくれる。
語弊しかない説明をしたけど、そんな感じでこっちが変わったらあっちを変えるってのを自動でやってくれるaltJS。
Haskell風の文法だけど、エラーメッセージが分かりやすくなっただけでマイナーバージョンが上がるほど初心者に優しいので、安心して試してみては。

最後に

技術について話す為のアドベントカレンダーはたくさんありますが、

日頃、どんな活動をしているか、何について勉強しているかなどを発表するアドベントカレンダー

なんてありそうでなかなかないので、Tsuzuさんありがとう!ということを述べて記事を終わります。

あ、そうだそうだ、最初にも言いましたが、この記事を書いたのは、"他の人って何がきっかけでプログラミング始めたんだろう…" ってのが気になってのことなので、画面の前の若い頃にコード書き始めた人はコメントでもはてブでも良いので教えていただければなあと思います。

私、気になります!