はじめてのプログラミング

人事の先輩 id:tomomii から、"プログラミングを勉強したいのだけれど。"と相談を受けての話。

id:hakobe932 さんなどを交えていろいろ話をしていたのですが、とりあえず言語は
ruby が良いのでは?という話になりました。(perl の会社ではありますが)

なぜ ruby を選ぶのかというと、いくつか理由はあって

  1. おまじないと言われるような、初心者には意味不明なコードを書かないで始められる
  2. よい入門書がある
  3. 当面の目標がwebアプリケーション

というような事項から ruby をお勧めしました。

おまじないが少ない

今日は実際に hello world ぐらいまでのチュートリアルもしたのですが、その辺りまでだと、ターミナルの使い方やディレクトリの概念のほうが難しい話題でプログラミング自体のほうは何も問題が無いように見受けられました。ここで、#include とか出てくると、プログラミングに入ったところでまた、悩み事が増えてしまうので、おまじないが少ないことは重要だと思っています。

Processing: A Programming Handbook for Visual Designers and Artists

Processing: A Programming Handbook for Visual Designers and Artists

おまじないが少ないという意味では、processing も良いと思います。IDEが一緒になっていて、エディタをどうするとか、ターミナルの使い方で悩むということが無いのも素晴らしいです。ただ今回は、webアプリケーション作成が目標なので見送りました。

よい入門書

初めてのプログラミング

初めてのプログラミング

このrubyで書かれた入門書がプログラミング初心者には非常に良いと僕は思っていて、専門学校で教えていた時も参考にしていました(言語はJavaでしたが)。"コンピューターがいかに単純な命令しか受け付けないか"という説明から入るイントロダクションがとても重要で、これから読む人にはぜひイントロダクションを飛ばさずに初めてもらいたいものです。わりと読み物として読めるようにできているので、忠実に従いながらコードを書いた方が理解が早いのではないかと思います。

webアプリケーションを書くなら

Sinatraが簡単で、良いのではないかと!

自分がプログラミングを覚えたのは

Basicが初めで loop とか if とかあるのは理解したのですが、具体的にファミコンのゲームのようなものができるわけでもなく挫折した記憶が鮮明に残っています。

id:akipponn3 さんが書いている(http://d.hatena.ne.jp/akipponn3/20100609/1276075462)ように、やりたいことができるまでの道のりが長すぎて途中で挫折するというのは、プログラミング入門時にはとてもありがちな話ではあります。自分も、

  • ゲーム作りたい > BASIC > 英語に挫折
  • デスクトップマスコット作りたい > DLL作成 > DLL?ポカーン

と挫折を繰り返しながら此処まで来ています。

挫折する確率を低くするには、作りたい物が片鱗でも見えるとモチベーションが上がって効果的です。そういう意味では、それほど ruby の仕様を知らなくてもSinatraは理解できるようにはなります。なので、適当なところで実際に web アプリケーションを作ってみてもらえるように仕組んでいきたいところです。