2007-09-25

プログラム学習

http://anond.hatelabo.jp/20070924220240

最初の頃は単なる知識を得る作業だから仕方ない。つまらないが、最初に知識をかき集めるその方法が一番効率がいいから、テキストはそういう構成になっている。面白いのは、手元に材料が一通り揃ってから、「この課題を解決せよ、手段は問わない」という類の問題が出される段階になった時。

2chプログラミング板の宿題スレに一時期住んでたんだけど、一番面白いと思った課題は「迷路を解くプログラムを作れ。実装方法はいっさい問わない。速いプログラムほど良いとする」というもの。「迷路は壁=1、通路=0みたいなテキストデータで与えられ、入り口と出口は壁に隣接…」みたいな仕様だけは与えられたが、それ以外何もなし。

解決方法を考えるのは楽しいし、自分にできない事をやってくれるプログラムというのはコンピュータが自分で考えているみたいで妙に愛着が湧く。

プログラムにやらせたい作業が見つからない、というのは多分想像力の欠如でもなんでもなく誰もが通る道。実際、日常生活でそんな機会はなかなか無い。

自分の場合、Perlwebサイト関連ツールを作るところから始めたかな。フォームに入力した内容が追加されていくだけの簡単な日記帳とか、後はカウンターとか、そんなものをチマチマ作る事から始めた。ほとんどはもう使ってないが、タブ区切りテキストデータhtmlのtableに直すスクリプトは地味に今でもしょっちゅう使う。

2chdatを読み込ませて書き込み数の遷移を出すプログラムhttp://www.tv2ch.info/?3 みたいなの)も、時間辺りの書き込み数データテキストで書き出すところまで作ったな(Excelコピペしてグラフツールを使えばこのサイトのようなグラフが書ける所まで)。テキスト周りの処理が出来るならば簡単に書ける。

あとは、Ragnarok Onlineで時間辺りダメージを最大にするためにはどのようにステータスを成長させれば良いかの算出をプログラムにやらせたりもした。あり得るステ振り全てに対し総当り探索。(分かる人だけに注釈を入れると職業ハンターで、算出値は鷹ダメージ込み。敵のdefに応じてダメージが変わってくるんで複数パターン出した)

ネトゲだと、某ゲームでアイテムの相場入力すると、儲かりそうな生産レシピを出力してくれるプログラムも書いた。書いたが、打ち込むべきデータを集めるのが面倒すぎて使用は断念した。

総当りで思い出したが、HTMLで色見本を書き出すプログラムも書いた。http://www.tohoho-web.com/wwwcolor.htm の216色見本みたいなのをプログラムで生成させた。

教科書でやった課題は、ソートプログラムくらいかな。アルゴリズムの流れだけ理解したら、教科書を閉じてそのアルゴリズムを自力で実装する。写経は面倒でやれなかった。

記事への反応 -
  • 仕事でとあるプログラミング言語が必要になる予定だけど、学習が激しくつまらない。 例えば文字を一行表示、とか、テストで80以上だったら優、60以上だったら良、40以上なら可、39以下...

    • http://anond.hatelabo.jp/20070924220240 最初の頃は単なる知識を得る作業だから仕方ない。つまらないが、最初に知識をかき集めるその方法が一番効率がいいから、テキストはそういう構成になっ...

    • 何か自分の作りたいもんでも考えれば良いんじゃない? 言語なんて丸暗記するようなもんじゃないし書きながら関数とか調べるためにリファレンス何回も読むけど、あんなのは楽しいと...

      • http://anond.hatelabo.jp/20070924221401 プログラミング言語ってなんか色々作れるらしいけれど、具体的に何が作りたいか、何が作れるかっていっても何も浮かんでこない……自分の要求が漠然と...

        • どの世界もそうだろうけど、まずは模倣から入るのが良いと思う。 普段使ってみて便利だなとか思うソフトウェアはないの? そういったものの一機能を実装してみたりすれば、見える世...

          • http://anond.hatelabo.jp/20070924224733 普段使ってみて便利だなとか思うソフトウェアはないの? 普段よく使うソフトは……まぁタブブラウザとかFLVプレイヤーとかTerapad辺り? それこそメモ帳...

            • プログラミングだけを仕事としてやる分には発想力は然程必要ないかもしれない。 基本的に発注された仕様をコードに落とし込む作業だからねぇ、削ったり企画出したりってなると話は...

        • http://anond.hatelabo.jp/20070924223518 確かに最初は何が出来るかが分からないから何を作りたいかも漠然としか思いつかないだろうなぁ、俺もそうだった気がする。 既存の完成しているソフトや...

    • あなたがやっている作業が面白くない理由は、「学習のレベルが低すぎて君に合っていない」か「そもそもあなたは、現在必要としているわけでもないのにただ情報を頭脳に蓄積するだけ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん