プログラミングって何だろう?

そんなことを考える機会があったので、いろいろ書いてみる。

プログラミングは楽しいか?

  • a. 数学や創作が楽しいのと同様、プログラミングも楽しい
    • ネットワーク時代のプログラミングは、コラボレーションも楽しい
  • b. プログラミングという手段によって、目的が達せられるのが楽しい
    • ロボットが動くとか...

素質

何か不思議なものがあったとして(たとえば電子レンジ、とか?)、その仕組みを探ってみたいと思うか、思わないか。
使えればOK中身に興味は無いって言う人は、本格的な言語より、お手軽なものが向いているかもしれない。
EXCELのワークシート関数は便利だが、あのレベルで苦手だという人にプログラミングは勧められないかも。

キャリアパス

キャリアパスというのは表現が良くないかもしれないが、他の言い方を思いつかなかったので、暫定的に。

  • a. ちょっとしたWebのシステムを作るために(たとえば)PHPに挑戦し、同じところをうろうろ
  • b. きっかけはどうであれ、基本的なところからきちんと勉強して、様々なプログラミングを満喫

問題: 動けばいいと思っているプログラマ

自分の作業とか研究とかのために自分だけが使うのであれば、問題なし。
他人に使ってもらおう、お金をもらおう、というなら、それじゃ続かないだろう。

問題: 動けばいいと思っている発注者(たとえば経営者)

何かトラブルが起きて、たぶん問題に気づいて、それなりの対策をとるはず。
国益を損なう大きな問題かもしれないが、ここでは無視する。

問題: 困った仕様

PHPの仕様が変だとか、Webの仕様がセキュアで無いとか、いろいろあるが、うまくフレームワークを用意してやって、その上でできることだけやっている間は、特に困ることは無いはず。

何を学ぶべきか?

  • 1st
    • 短いサンプルコードをたくさん眺める
  • 2nd: 文法を学ぶ
    • サンプルコードを見ながらが学ぶ
    • 定数、変数、型、宣言、参照、制御構造、サブルーチン、データ構造
    • 正規表現、クラス、例外処理
  • 3rd: テクニック