しおブロ!

ITの知見や備忘録、レビューなど。しおぽん(shiopon01)のブログ

コピペプログラマー

コピペプログラマーとは、思うに、頭の中のコンピュータを鍛えられるプログラミング教育を受けてこなかった、受動的なプログラマーの成れの果てなのではないか。(この記事でも、プログラミングの習得方法に問題があったのでは、と言われている)

kuranuki.sonicgarden.jp

自分もプログラミングの授業は沢山受けたが、頭の中のコンピュータを鍛える教育はごく一部であり、プリントや教科書に写ったプログラムを写経するだけの授業も沢山あった。写経させるだけのプログラミング教育で給料を貰えるなんて、いい仕事だ。

まともなプログラマーになろうとするならば、とりあえず、コンピュータと仲良くなるところから始めれば良い。一般的に、初歩的なコンピュータサイエンスを学ぶことがこれに当たる。コンピュータとは、5大装置とは、2進数とは、…などを学び、コンピュータの気持ちをなんとなく理解できるようになろう。これ自体はプログラミングに直接関係無いことかもしれないが、プログラミングをやる上では大切なことだと思う。

その上でプログラミングを学び、例えば、記事にあった以下の問題。

英語で書かれた文字列中に含まれる英単語の個数を単語ごとにカウントする

これを見て、「頭から、文字列の長さ分調べよう」「スペースで区切って単語をカウントしよう」などがすぐに思いつくなら、もうコンピュータと仲良くなりつつある。もしあなたがコピペプログラマーだったなら、多少努力すればすぐに脱出できると思う。もしそうでないなら、アルゴリズムの勉強を始めるべきだ。また、それと同時に、プログラミング言語で何を出来るのかも知ろう。

アルゴリズム車輪の再発明によって簡単に、比較的楽しく学ぶことができるだろう。代表的なものではソート系、文字列の検索や挿入になる。ハノイの塔やエラトステネスの篩はもはやアルゴリズムの勉強の域ではない気がするので、推奨はできない。