某ソフトウェア企業に勤務するおじさんプログラマyasuhoです2013-03-28今の時代「写経」する人なんて、いないんじゃないの!?(現在は)ソースコードを「写経」する意義もあまりないと思う。あるブログが「写経には効果がない」という趣旨のことを書いていて「何を言ってるんだ?」と思いじっくり読んでみたら、彼の言う写経は「動くとわかってる10000行のコードを何も思考せず作業として書き写すこと」を指しているようだった。「そんなわけないじゃん」と笑ってから「もしかして世の中は写経をそういう捉えてるのか?」と不安になった。西尾泰和のはてなダイアリーそっか。最近よく聞く「写経」って言葉になんか違和感を感じていたんだけど、そういうことか。「ソースコードを何も考えずに書き写す」ってニュアンスがあるのね。確かに言葉が良くないんだな。ぼくの知る「ソースコードを書き写す作業」ってのはそんなイメージじゃないんだ。「スポーツの練習で何のための練習か分からなかったけど、後になって意味がわかった」みたいな感じかな。ごめん、よく分からないよね(笑)ぼくの知る「写経」ってのは30年以上前「打ち込み」って呼ばれてたと思う。PC-8001やMZ-80Kなど8ビットマイコンが全盛の時代は、インターネットやパソコン通信はもちろん、フロッピーディスクやCD-ROMすらなくて、ソフトウェア(主にゲーム)はもっぱら雑誌に掲載されたソースコードを見ながら対象のマイコンに入力し、実行するのが一般的だった。要はマイコンでゲームをやりたかったんだ。それだけだと「写経」って言われてることと変わらないと思う。16進のダンプリストの打ち込みなんかは単純作業で、写経にすらなってなかった。当時はBASICで書かれたものも多くて、それだとちょっと違うんだな。BASICリストを入力していると入力間違いがどうしても起こる。すると、必然的にデバッグになる。多くは入力ミスをチェックする作業なんだけど、数をこなすと、だんだん書いてある意味が分かるようになってくる。最初は「書き写す」だけだとしても、リストを見て一文字ずつ入力しているわけだから、なんとなく意味が推測できるようになってくるんだ。BASICは直感的に分かりやすいからね。REMはコメントだから入力する必要はないと分かる。デモ画面用のDATA分なんかは「まあなくていいか」と削ったり、ゲームキャラクタを別のパターンに変えて遊んだり、ということを始めるわけ。慣れてくると、ゲームバランスをいじれるようになってくる。「NPは残機数みたいだから、ちょっと増やそうか」とか「面が進んだ時のレベルアップがキツイから、ちょっと緩やかにしようか」とかね。いじり過ぎてゲームバランス壊して飽きるんだけど(笑)もっと進むと、今度は「自分でゲームを作ってみよう」ってことになる。自分で考えたゲームってのは自分が思ってるほど面白くない(笑)ので、アーケードゲームの移植とかになる。当時はマイコンでも再現可能なアーケードゲームが多かったのも、よかったと思う。そんな感じで、最初は単なる入力作業だったのが、自然とプログラミングの世界へ入っていけることが多かったんだよ。ソフトウェアの敷居も低かったし、いろんな意味で打ち込みをすることの利点があったんだ。今はゲームっていうと、なんかシロウトにはとても作れないイメージがあるよね。ソースコードが公開されてることは少ないし、あったとしてもそれを入力する人なんていない。入力したとしても、そのソースコードはプログラミング初心者に理解できるようなものじゃないだろう。そもそもプリントアウトされたものを入力する機会なんて、ほとんどない。大体はネットのコードを「コピペ」するだろう。書籍に書かれたソースコードだって、ウェブサイトに公開されてることが多い。それがなかったら、書籍に書かれた長いリストを入力なんてする?しないよね。実際には今の時代「写経」する人なんて、いないんじゃないの!?って思う。写経する意義もあまりない気がする。「写経がいい」と言う人は、たぶん昔「打ち込み」をしてその良さを理解しているから、薦めているんじゃないかと思うんだけど、今は苦行にしか感じられないんじゃないかな。:)しかもそうやって入力するプログラムは大抵学習目的のサンプルコードなわけだから、動いた時の喜びもほとんどないし、ゲームみたいに「ここ変えてみようかな」なんて思わないと思う。動いて「ふーん」でオシマイ。今の時代に「写経」をしたとしても、昔の「打ち込み」で得られたような体験は得られないんじゃないのかな。Basicみたいに、手軽に始められて、実際に体験して覚えていくやり方の方がいいと思うよ。Tumblr広告を非表示にする関連記事2017-05-12とうとう夢が叶う日が来る!これは買わねばなるまい。(22)リンクはてなブログブログをはじめる(無料)お知らせ参加グループプログラミングはてなブログをはじめよう!yasuhoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。