人気サイト様 最新記事

博士ちゃんねる ヘッドライン

管理人からのお知らせ

例によってまったく更新の時間が取れず、21日まで更新おやすみです。地球のみんな!オラにちょっぴり休みをわけてくれー!

レスの強調ウゼェー!というドクターへ

レス内の強調表示をOFFにする コチラをクリックして切り替えてください。設定は30日間Cookieに保存されます。
現在のステータス:強調有効

プログラマー「最強のプログラミング勉強法は写経」 @ [プログラマー板]


プログラマー「最強のプログラミング勉強法は写経」 @ [プログラマー板]
1: 仕様書無しさんNG NG
プログラミングを学ぶ最も良い方法は写経である。

写経とは、紙に打ち出されたソースコードをキーボードから入力する行為だ。
一見、ものすごく無駄に見える。
ネットからダウンロードすればすぐに済むものをなぜわざわざ手で入力し直すのか。

でも考えてみて欲しい。
なぜ小学校では漢字の書き取りテストがあるのか。
漢字ドリルとは、同じ文字を何度も書いて反復するのである。
ひらがなだってカタカナだってそうだ。
書いてみなければ、身につかない。
もしも、漢字を一度も書くことなしに漢字を読めるようになったとして、それにどれほどの意味があるだろうか。
英語もそうだ。
アルファベットを書くところから全ては始まる。
外国語を学ぶときに最初にやるのはアルファベットの写経であり、その次にやるのは単語の写経であることは言うまでもない。

であれば、プログラミングという「言語」を学ぶのに写経が最も有効なのは自明ではないかと思う。


しかし、プログラムの場合、ラクが出来てしまう。コピペが出来てしまう。
でもそれではちゃんと学べたとはいい難い。
以前、とある巨匠に「どうすれば絵がうまくなるんですか」と間抜けな質問をしたことがある。
答えはあまりに簡単だった。
「描くしかないよ。寝ても覚めても描くしかない。描かないやつはうまくなるわけがない」

プログラムも同じで、うまくなろうと思ったら書くしかない。
最初は目的にもなしに書くことはできないから、まず写経する。
それだけでも十分意味がある。
写経を繰り返して、一通りのプログラムの構造を学び、プログラム勘をまず鍛える。

次に、自分の表現したいことをプログラムで表現する。設計して、実装して、失敗して、再設計して、また実装する。
その繰り返しでしか、上達する道はない。
最強のプログラミング勉強法が写経である理由
2: 仕様書無しさん 2018/06/29(金) 07:21:59.23 .net
写経にたとえたか。
昭和の頃は、みんな写ソースでプログラムを覚えたもんねぇ。
4: 仕様書無しさん 2018/07/01(日) 11:05:29.34 .net
自力で設計できる前の段階として写経したソースを改造してみることかな。
>>3
ベーマガ, I/O, Oh!XX
6: 仕様書無しさん 2018/07/01(日) 15:51:30.48 .net
でも写経なんてのは、せいぜい第一段階。
その次はアルゴリズムの勉強をしないとね。

言語がなにになっても共通の「物事の考え方」をね。
7: 仕様書無しさん 2018/07/01(日) 22:38:16.54 .net
いや、自分は写経してた時期は、ほんとになにも考えずに写してただけなんで全くプログラムの能力はつかなかった。
改めて BASIC の入門書片手に勉強して始めて身につきはじめたな。
8: 仕様書無しさん 2018/07/01(日) 22:42:46.07 .net
んーと、結局1の記事を書いた人が、ただのジジーだった、と?
9: 仕様書無しさん 2018/07/02(月) 02:34:59.09 .net
清水亮はポジショントークばかりだからあまり信用しちゃだめ
プログラマに英語力や学位はいらないとか
10: 仕様書無しさん 2018/07/02(月) 02:38:28.39 .net
続々々..写経なんてやめとけ

このブログでよく清水亮批判がされてるけどどれも正論だと思うよ
11: 仕様書無しさん 2018/07/02(月) 12:55:12.16 .net
世の中のITエンジニアの殆どはコピペして変更するだけ。
エンジニア?
新しい職種名が必要だろ。
13: 仕様書無しさん 2018/07/02(月) 15:56:43.91 .net
昔はプログラムを保存する手段がなかったので、雑誌のプログラムを電気屋で朝から打ち込んで、夕方遊んで、帰る

を繰り返してた
写経そのものだった

機械語をテンキーで打ち込んでも写経にならないから意味がなかったが、忍耐力の訓練になったw
14: 仕様書無しさん 2018/07/02(月) 15:58:31.55 .net
東大で主席で卒業した女性が、参考書や教科書を7回書き写せば、その教科は必ず高得点とれる、みたいな話をしていた

問題は7回書き写すだけの精神力が普通の人のは無いことだが、同じような話だ
16: 仕様書無しさん 2018/07/02(月) 19:44:13.47 .net
>>14
それ本当は1回見れば覚えるんだけど、そんなこと言っても信じるわけないから適当な事言ってるだけだからな。
信じるなよ。
17: 仕様書無しさん 2018/07/02(月) 23:54:03.11 .net
ガキの頃ファミリーベーシックのマニュアルに載ってたゲームプログラムを、長々と時間かけて打ち込んだで遊んだことはあるが、少なくともその時点では何も身につかなかった
18: 仕様書無しさん 2018/07/03(火) 15:46:39.16 .net
>>17
写経だけじゃだめかもな
ある程度、自分でもゲーム作ってみて、さらに写経で潜在意識にアルゴリズムが刷り込まれる感じ
19: 仕様書無しさん 2018/07/03(火) 18:58:35.39 .net
写経はほんとなんも身につかん
じぶんでひどいコードを組んでひとに直されるか、あるいは同じ問題を扱ったすぐれたコードを一目見る

問題を認識してなければ優れたコードが優れてるかどうかすらわからん
自分で考えてくそコード作るステップは絶対必要
21: 仕様書無しさん 2018/07/03(火) 21:22:10.11 .net
高校数学に青チャートってあるじゃん
例題を1日5問ずつ解いて2週間おきにまとめて提出するっていう課題があってさ、真面目系クズの俺は3年間写経して提出してたけど何にも理解できなかったよ
そんで浪人して今度はちゃんと時間かけて理解できるまで解答を"読んで"さ、通読して今度こそ俺は数学出来るようになった!って思ってたんだけど、実際に問題解こうとすると手が動かねえのよ
で、チラッと解答を見ると、あーそっかそっかそうするんだったってなるのよ
それを繰り返すうちにスラスラ手が動くようになるのよな

この経験から類推するに、プログラミングでも写経は無駄だよ
22: 仕様書無しさん 2018/07/03(火) 21:47:11.55 .net
そもそもお経の丸写しして仏道を究められた者はいない。
「写経」という命名からして語るに落ちている。
23: 仕様書無しさん 2018/07/03(火) 22:26:11.87 .net
写経の目的は本を増やすことにあるからな。
本が手書きだったころの名残でしかない。

ただ、文字は書いて覚えるしかない。
だから現代でも写経は文字を憶えるという意味はある。
漢字は書くのが難しいから。

韓国人は漢字を読めないし書けないけど、韓の字だけは達筆だから、自作自演がすぐ分かる。
25: 仕様書無しさん 2018/07/04(水) 00:42:29.87 .net
写経が有効というのは一理ある。
一行写経しては動かす
というのを繰り返してればそれぞれの行が何をやってるのか把握できるからな
30: 仕様書無しさん 2018/07/05(木) 14:42:55.10 .net
写経ってどういう意味で使ってるのか?
それがわからん。

何も考えずに写しているのか?
深く考えながら写しているのか?
それによって全く異なる。

結局は考えなければダメでしょ?
31: 仕様書無しさん 2018/07/05(木) 14:49:25.15 .net
射精なら得意なんだけどなー。
32: 仕様書無しさん 2018/07/05(木) 20:03:11.72 .net
PCなくてノートにプログラム書いてて、会社で完成したノートのソースビルド実験
その繰り返しで精度上げてったわ…昔話やな
35: 仕様書無しさん 2018/07/06(金) 09:28:38.92 .net
写経して手間をかけている時間に考えるから覚えるんだけど、どこぞのスレの36歳みたいなのは写経しているだけで覚えられると勘違いしちゃうんだよな。
36: 仕様書無しさん 2018/07/06(金) 09:33:52.47 .net
もともとの写経もお経の意味をかみしめながら行うものだしな
単純作業で写経する馬鹿はいないだろう
37: 仕様書無しさん 2018/07/06(金) 09:34:38.43 .net
それは写経じゃなくて転写だなw
38: 仕様書無しさん 2018/07/06(金) 10:41:59.54 .net
今htmlcssjsやってる新入社員だけどteratailで、概念理解する為に一番単純なソース下さいとか言ってもボロクソに叩かれるぞ。
コピペするなんて人じゃない犯罪者だみたいな
いやコピペするなんて言ってないんたけどみたいな

書いたら買いたて酷過ぎるちゃんと分かってんのか?これだからなんちゃらは...みたいな感じで叩かれる
web業界には近寄らないと決めたわ意識高い系じゃないし
39: 仕様書無しさん 2018/07/06(金) 11:04:46.93 .net
>>38
よかった糞プログラマが一人減った
これで助かる現場がひとつ増えるだけでもお前の功績はでかいぞ
実感することは一生ないけどな
40: 仕様書無しさん 2018/07/06(金) 12:02:22.27 .net
給料泥棒するまえに気付けてよかったな、全方向の無能
53: 仕様書無しさん 2018/07/06(金) 23:08:15.67 .net
41: 仕様書無しさん 2018/07/06(金) 12:39:07.16 .net
ほらこんなんばっかだろ?
宗教を他人に押し付けんなよw
当該トピックの様子
管理人より:青枠さんも教えてもらう態度じゃないけど、回答をするつもりのない慇懃無礼な回答者も多いな!あまり海外の類似サービスでは見ない光景で、日本でこゆのをやるのはまだ早いのかも。

参考までに、こういうアレでのトピ主さんの最低限の礼儀としては「こういうことをしたくて、具体的にこういうコード書いてみたんだけどうまく動かない。どこがおかしいかわからないんだけど、誰かアイデアない?」←こういう感じです。たとえ自力解決したとしても、このように解決した、というサマリーも後世のために残しましょう。同じ問題で悩むひとは必ずいるのだから!
54: 仕様書無しさん 2018/07/07(土) 06:53:00.87 .net
そもそも、プログラムなんて出来るようになっちゃうと
社会的地位が下がるんだもんねぇ。
奴隷として売られたりとか。
55: 仕様書無しさん 2018/07/07(土) 15:24:27.77 .net
不思議だよな。
その労力と時間を他のスキルのために使った方がよいというのならまだしも、何もしないで遊んでたようなのより下回るまである。
60: 仕様書無しさん 2018/07/08(日) 15:25:44.81 .net
>>55
言いたい事は分かる
文系の非プログラマで700-1000万の仕事って、殆どの場合、実際何のスキルも無い奴が務めてるからね
58: 仕様書無しさん 2018/07/07(土) 18:55:54.51 .net
それはそうと写経はホント大切だよな
Pyqというサイトがあるんだけど本当分かりやすいよ
Progateもコンテンツが少ない以外は良いと思う
59: 仕様書無しさん 2018/07/08(日) 15:03:45.96 .net
俺の場合
おもしろそうなものをひたすら写経して遊ぶ(なんとなくしか理解できてない)

しばらくやってて、何となく覚えてた知識が色々と噛み合う

一気に力が伸びる

って感じだったな
61: 仕様書無しさん 2018/07/08(日) 15:38:17.25 .net
>>59
それは写経じゃなくて、コピペでも可能なプロセスだな
62: 仕様書無しさん 2018/07/08(日) 15:44:13.41 .net
>>61
全然そうは思えないな
見えてる世界が違うのだろう
63: 仕様書無しさん 2018/07/08(日) 20:01:54.85 .net
>>59
なんとなく、それわかる。いろんな技術学ぶと、ある時、いろいろ繋がって理解度とか理解力が一気に増す
64: 仕様書無しさん 2018/07/08(日) 20:21:09.57 .net
基礎を学んでない奴の理解は偽りの理解
70: 仕様書無しさん 2018/07/10(火) 23:25:15.17 .net
物理的な行為の強い因果ではなく、「分かろうとする」気持ちがあってこその因果だと
71: 仕様書無しさん 2018/07/10(火) 23:57:53.95 .net
理解力は完全個人差の能力なので、写経で良い影響を得られる奴もいれば。写経では何も得られない奴もいる

個人的精進の目的なら実際に写経やってみて効果あるかないか体感できるが、新人教育などで他人に対して強いて効果があるかは甚だ疑問
75: 仕様書無しさん 2018/07/16(月) 09:42:50.45 .net
・何が分からないのかが分かるようになる
・その言語の定石を理解するのに役立つ

この2つが大きいと思う
76: 仕様書無しさん 2018/07/16(月) 14:13:49.79 .net
写してるだけではそのどちらもできるようになりません。
78: 仕様書無しさん 2018/07/16(月) 14:37:46.72 .net
コピペじゃダメなん?
79: 仕様書無しさん 2018/07/16(月) 15:16:45.04 .net
言い回しというか構文的なものは頭に叩き込まれると思う

その意味はともかく
80: 仕様書無しさん 2018/07/16(月) 16:50:39.41 .net
書かないと頭に入らないタイプと。目視だけで同じ効果を得られるタイプといると思う
81: 仕様書無しさん 2018/07/23(月) 14:16:29.74 .net
プログラマの最強の選別法はTOEICのスコア
面倒なコーディング面接よりTOEIC800点未満のポテンシャルゼロ人材を排除すべきだ
83: 仕様書無しさん 2018/07/23(月) 22:21:55.11 .net
>>81
はぁ?800以上なんて30人に1人いるかいなかだよ?
90: 仕様書無しさん 2018/08/05(日) 00:24:22.98 .net
センス無ければ写経しようが射精しようが無駄ってことだよ
93: 仕様書無しさん 2018/08/05(日) 23:27:25.96 .net
>>90
センスある奴が射精したら何が起こるんです?
91: 仕様書無しさん 2018/08/05(日) 00:30:59.73 .net
できるやつは最善の勉強法を無意識に編み出して実践してる。
教えられるようじゃ、上手くならない
発見する側にならないと
それが出来ないと、なにやってもダメ
92: 仕様書無しさん 2018/08/05(日) 03:34:58.00 .net
まぁすごいハッカーになるんであればそうかもしれないけど、普通にコード書いて食ってくぶんには
そんなに意識高くなくて大丈夫だよw
73: 仕様書無しさん 2018/07/11(水) 07:15:07.49 .net
結局
ダメなやつはなにをやってもダメ。

うーん、写経か!
今どきの人間にはちょっと受け入れがたい昭和の精神論の名残りであり、スレ住人の意見は半々てとこですが、写経だけじゃダメだというのは共通してます。

写経というか写ソースは管理人も1回だけやったことがある。スレでも出てた「マイコンBASICマガジン」に載ってたゲームのやつ。
せいぜい500行くらいでしょうか、高校生くらいのときあまりにもヒマだったので、けっこう時間かけてタイプした結果…シンタックスエラーで動かず!どっか写し間違えてたんでしょうが、脱力したのをよく覚えてます。
当然自分がなにを書いてるのか全然わからない。人生でベスト10に入る程度には無駄な時間を過ごした気がしますね。

しかし、それよりも衝撃を受けたのは、そのコードにつけられた編集者のコメントでした。
「○○くんもこのコーナーの常連で、掲載料だけでそろそろ新しいハードが買えるころだと思う。さらなる洗練されたコードを見てみたいものだ」みたいなこと。
当時のPCと言えば、まず25万はくだらない価格で、ちょっといいやつなら平気で30万や40万は吹っ飛ぶ金額。えっ、それじゃ掲載料って1回何万とかそんなもらえんのか!?とビックリしたものです。そして管理人は、そのソースコードの丸写しすらできんとは!('A`)

個人的には写経にまったく意味がないとは言いませんが、意味もわからずタイプして得られるものといったら、APIやメソッド名のつづりを覚えられるとかそんな程度だと思う。
特定の分野の学習において、反復練習が重要だというのは本当ですが(計算力など)、プログラミングにはあまり当てはまらないと思う。
フランス語のわからないひとが、一生懸命フランス語の文章を真似して書いたっていつまでたっても理解できないのと同じです。意味のわからない単語のつづりを覚えてもなーんも役に立たない。

写経にせよコピペにせよ、その意味をわかったうえでやらないとダメですね。
ネットに転がってるソースコードをコピペして少しいじったら、なんかよくわかんないけど動きましたぁー、みたいなのは、その後メンテナンスするときに困る。
そのメンテナンスをさせられるのが、別の不運なマだったりするので、そういう場合怒りを誰にぶつけてよいやらわからないもんです。だから2chのマ板はグチばっかりなのだ!

じゃあ逆に、写経や反復練習がダメなら、どうすればマのスキルが上達するのか。これは難しいですね。
管理人の職場に新人マがいるから、ここんとこずっと教えてるけど、教えるべき内容の多さに我ながら驚くばかり。まず最初は「コンピューターの仕組み」「インターネットの仕組み」から教える始末ですよ、気が遠くなる。

プログラムの基礎は個別に見ればちっとも難しくないので、それら単純な要素を組み合わせて複雑なものを作っていくわけです。レゴブロックとまぁ同じです。
レゴブロックの形を見て、これとこれを組み合わせればあれができるし、これと組み合わせてこうもできるな…という無数のバリエーションを頭に思い描ける必要があります。逆に言えばシステムに求められる要件を細かく分解できる能力だとも言える。だから「想像力を鍛える」のが遠回りなように見えて一番近道なのか…と思うことも。

しかしこの「想像力を鍛える」というのは、なかなかもって簡単にはいかないでしょう。プログラマーを志す段階で想像力を鍛えはじめてもたぶん手遅れ、だから向き不向きが大きく分かれるような気もしますね。

以下本題と関係ないですが、、最近若きIT戦士たちから、当サイトのマ板の記事が好きだ、というお言葉をたまにいただきます。Twitterとかコメ欄でね。
今のエンジニアは、管理人が若かったころよりいろいろ複雑になって大変だと思うけど、負けずにがんばってほしいです。慣れればなんてことないんすからね。大変なのは最初だけだぜ!(後半にウソがあります)

昔はマなんて職種は(大げさに言うと)4人に1人は5年持たずに壊れて死ぬ、みたいなことを世間で言われてたわけで、これでも労働環境は大幅に改善したのではないかと思う。
覚えるべきことは多いけど、昔よりはマシなんだと日々を生きてほしい。そう強く願っております。('A`)

なぞり書き 般若心経 写経用紙 20枚入り+筆ペンのセット
和紙の井上紙店
売り上げランキング: 45,301



人気サイト様 最新記事

博士ちゃんねる ヘッドライン

    • ※1 : ドクター・ノオ・ネーム
    • 2019.2.5 21:43
    できないプログラマーの意見やな。
    結果的に書くことにはなるけど、それは行為であって目的じゃない。
    なにかをする中で写経っていう行為が存在するだけ。
    上達するために写経を目的にしてる人間じゃ、底辺プログラマーにしかなれない。
    • ※2 : ドクター・ノオ・ネーム
    • 2019.2.5 22:46
    高校数学が得意な人はプログラマー向いてると思う
    本当の奥深い数学じゃなくて公式をパターン通り組み合わせるだけのあれ
    • ※3 : ドクター・ノオ・ネーム
    • 2019.2.5 23:26
    何が笑えるって、ソフトウェア業会としては人材育成に完全に失敗して出来損ないしかいない国のプログラマー(笑)が偉そうに語っているところやw
    • ※4 : ドクター・ノオ・ネーム
    • 2019.2.6 10:11
    >>その言語の定石を理解するのに役立つ

    こんな奴等が多いからバッドノウハウが広まっていく
    そしてそれを広めた本人達が後にこの方法はバッドノウハウなので気をつけてくださいとやってるのをみるとアホなんだなと思う
    • ※5 : ドクター・ノオ・ネーム
    • 2019.2.6 10:35
    最初は俺、ライブラリのソースコードやmanをぜんぶ印刷して、
    電話帳くらいのファイルに綴じて、それを持ち歩いて赤青鉛筆で書き込んだな...
    あれが原点だわ。

    写経がいいとか悪いとかはおいておいて、時には力技で身につけるのが一番速いってことは確かにあると思う。今でも知らん分野に挑戦して身につけたいと思う時には、まず馬鹿正直に力技から試すわ。それが泥沼に見えてもね。
    ケツから効率重視で攻めるのはそれが失敗したあと。
    • ※6 : ななし
    • 2019.2.6 18:31
    数学はイメージ湧けば解けるよ、プログラミング学習方法は何回もてを動かして打ち込むことだよ。わかんないことあったらプログラミングできるこのななしさん答えるよん
    • ※7 :
    • 2019.2.6 19:13
    経験上、低スキルの人のコピペほど怖いものはないんだが。
    手打ちしたほうが、今打ってるこの処理って何?
    という感覚が芽生えるかも知れない
    • ※8 : ドクター・ノオ・ネーム
    • 2019.2.6 19:38
    写経か、意味も判らずに書いて理解するってのは出来ないと思うけどな
    字は上手くなるかもしれん
    • ※9 : ドクター・ノオ・ネーム
    • 2019.2.6 22:32
    自分で試行錯誤して、作ってんなんぼ、動かしてなんぼの世界
    何も考えずにただ写すだけじゃ駄目だよ
    • ※10 : ドクター・ノオ・ネーム
    • 2019.2.7 0:24
    自分は1行ずつ理解しながら写してましたね
    • ※11 : ドクター・ノオ・ネーム
    • 2019.2.7 7:56
    プログラマーになる50の方法とかの一つくらいに
    加えてもいいけど、絶対に「一番の」とは言えない
    • ※12 : ドクター・ノオ・ネーム
    • 2019.2.7 11:37
    未だに教育ノウハウすら構築できていない業界が
    コンピューターのプログラムをしているというお笑い
    • ※13 : ななし
    • 2019.2.7 15:46
    広く知れ渡ってる言語ならドットインストールやプロゲートに教材があるからそれやればいい
    ある程度勉強したら実践しかない バイトでもいいから働いて仕事で使うこと
    • ※14 : ドクター・ノオ・ネーム
    • 2019.2.7 17:40
    それぞれの発言者の内容よりも、その発言者が今何者かが重要。
    稼げてない、食えてない、まして成れてない者が何を言っても
    意味ないものね。
    • ※15 : ドクター・ノオ・ネーム
    • 2019.2.9 4:31
    要件定義からリリースまで模倣するならいいと思う。コード書き写すだけよりは読みながら別言語に移す方が効率いい。
    人によってはただの計算みたいな粒度の小さいのは面白くないんで、ビジュアルノベルスクリプトとかの粒度の大きいものを選ぶのもいい。
  1. トラックバックはまだありません。


コメ欄での議論はおおいにけっこうですが、当サイトではドクター同士の罵り合いは禁止となっております。反論する際には、相手の意見・人格を尊重し、どうぞ冷静に。