新着Pick
1188Picks
Pick に失敗しました

人気 Picker
昨日電話でインタビューされた記事。

実は、昨日電話で話す前は、「教養」としてのプログラミングには少し懐疑的だった。勉強しただけではプログラミングは身につかない。外国語学習と同じで、使わなければ忘れてしまう。昨日のこの連載の記事に対してのコメントでもそのように書いた(https://newspicks.com/news/1683232?ref=user_173296 )。

実際、今や飛ぶ鳥を落とす勢いのクラウド会計サービスのfreeeの佐々木大輔氏(Googleでの同僚だ)は次のように言っている。

>> キャリアとしてのエンジニアを志す訳ではない人が、コーディングを覚えようとしてもすぐ挫折する一番の原因は、「とりあえず勉強してみようとする」ことにあるのではないかと思う。僕も何を隠そう、今までの人生の中では何度か漠然とプログラミングの本を買って、勉強しようとしてみたことがある。そして、そのことごとくは失敗に終わった。

>> 一方で、「この問題を解決したい」、「こういうものをつくりたい」という意志が明確にあるときに、プログラミングを勉強しようとするのではなくて、手段を問わないのでとにかく実現するというスタンスで臨むと、自然といろいろと理解できたり覚えたりできるものである。

(エンジニア経験がなくても自分でコード書いて起業する方法
http://qiita.com/dice-sasaki@github/items/c7756f04b5da57fd5b1b より)

しかし、電話で話す中で、プログラマー的思考とでも言うべき、プログラミングを知っていることによって得られるものがあり、確かにそれは「教養」と言うべきものでもあると思った。

プログラミングとは何か?とも電話で聞かれ、窮しながらも出した答えは、「コンピューターとの対話」。人間と人間の対話に必要なのが、「自然言語」とコンピューター用語で言ういわゆる英語や日本語という言語ならば、コンピューターとの対話に必要となるのは機械に通じる言葉。コンピューターには「あうんの呼吸」や「空気を読む」というようなことは無い。論理的に組み立て、決まったフォーマットで伝えなければならない。実は、これは人間との対話でも同じことだったりする。

つまりは、こういうことが「教養」としてのプログラミングなのだ。
特集4回目は、プログラミングを学びたい人たちが、抱きがちな疑問に答えてみました。

ご意見もドシドシお待ちしています!
バブルソートとクイックソートの違いは初心者の頃誰にも教えてもらえなかったから知って驚愕したことあり。教養大事だよねぇ
ExcelのVBAから入るのが一番効果的だというのが私の考えです。

かなり英語に近いし、マクロで記録したものを編集するだけでかなりプログラミングしてる感を味わえる。まずはそこから。
今、100ページくらいで、レイアウトがビジュアル含めて見やすくて、最高にわかりやすいプログラミング入門書の決定版を作ったら、50万部くらい売れそう。
オンライン教育があるのはとても便利ですねー。

英語で学んだ方がオススメとのことですが、どの程度の英語力で対応できるのでしょうか?
まずは、開放されているニコ動で大枠を把握した方がいいのでしょうか?

経験者の方々のコメントをお待ちしています。
連載小説があるわけですから、プログラミングの連載プチ講座もありではないでしょうか?
NPのプラットフォームがあれば、作ったプログラムをアップし、コメントで共有もできますから、インタラクティブな授業もある程度可能かもしれません。
中学3年から高校1年ぐらいの頃、とほほのWWW入門(http://www.tohoho-web.com/www.htm)を読みながら、メモ帳(notepad.exe)に書いたhtmlとjavascriptをブラウザで実行して遊んでいました。

仕組みはまったくわかっていなかったけど、こう書いたら、こう動いたってのを繰り返しているうちに自分でつくりたいものを作れるようになっていたように思います。

記事でも紹介されている通り、今ならもっと効率的に学習する方法が用意されていて、これからやり始める人が羨ましいですね。
プログラミングを「教養」として知りたいなら、教育向けプログラミングから、そして英語で学べ、だそう。一石二鳥だとポジティブに。
僕のおすすめは「Processing」。オープンソースで、サンプルコードをいじっているうちに、グラフィックが描けちゃう。はじめて触ったとき、とても感動した。
http://processing.org
この連載について
コンピュータのプログラミングが転機を迎えている。一部のエンジニアだけでなく、子供から多くの大人たちが取り組むべき対象として認知され始めたのだ。ソフトウェアを作るまでいかなくとも、プログラミングを通じて、何を創造していけるのか。次代を生き抜く「教養」としてのプログラミングをレポートする特集。