「初心者」をセグメンテーションせよ

「初心者」って言葉を使ったとたんに話が分散するから使わない方が良いと思うけど。

Brainf.ck – 初心者が最も実装しやすい言語
C – 最も言語実装初心者向け
JavaScript – 最も初心者に身近
Perl – 最も初心者に(も)優しいコミュニティ
Python – 最も自言語初心者に優しいユーザーたち?
Ruby – 最も初心者に優しい言語の父

404 Blog Not Found:初心者向け言語もいろいろ

上の弾さんのエントリは多少僕の言いたいことを書いているけれど、要は「初心者向け」とかいうんじゃなくて、
誰のどういう動機に対してどの言語が向いているのか
という話をしなければならいんじゃないだろうか。まだ駆け出しプログラマの動機としては例えば以下のようなものがあるだろう。

  • プログラミングの実行環境を整えるのが面倒
  • 「面白い」って友達に勧められたプログラミングだけど、面白さ分からない。分かりたい
  • 「抽象化」ってなんじゃらほい。「関数型」ってなんじゃらほい。「オブジェクト指向」って
  • 兎に角ちゃっちゃと動かして遊びたい

とかまあ色々あると思う。またプログラマを管理する立場にあるプログラマとしては、

  • セキュリティホール量産困る
  • バグたくさん、困る
  • 読めないコード困る
  • すぐに戦力になってもらわんと困る
  • 時間がかかってもいいからスーパーハッカーに育てたい

とかまあそういう事を考えているであろう。そういう風な動機に対してそれぞれ向いている言語を提示するべきで、セグメンテーションすることもなく「初心者向け」とか書いて議論していても、結局それぞれが頭の中に浮かべているシチュエーションが違う訳で、話が噛み合う訳もない。