[事実]プログラミングでコピペしても十分力はつく[使い方に注意]

こんにちは!好奇心おばけのかわそん (@KKohey4)です!

プログラミング初心者
「プログラミングを始めたばかりです。いろんな本とか、教材に乗ってるコードって、コピペしても力ってつくのかな。写経とどっちがいいんだろう? このあたりの話を聞いてみたいです。」
このような疑問を解決します。

本記事の内容

  • コピペでも力はつく
  • コピペの仕方にも「コツ」がある
  • 写経との使い分け

この記事を書いている僕は、年間50人以上にプログラミングを指導しています。

その中で、時々「コピペ」に関して質問をもらうことも。

それに関して、共有します。

3分だけお付き合いを(`・ω・´)ゞ

[事実]プログラミングでコピペしても十分力はつく[使い方に注意]

結論から。

正しいコピペなら、力はつく

上記の通り。

じゃあ、「正しい」ってどういうことか。

一言でいうと、

理解を助けるための手段として使う

ことですね。説明します。

考えないコピペは意味がない


「ただコピペして動かす」
これは意味ありません。

というのは、シンプルに「自分で何も作れるようにならない」からですね。

例えば、画面に"hello world"を表示するプログラムをコピペしても、、helloっていう気持ちには、、、ならないかなと。

コピペは「理解するための補助輪」として、意味があります。
思考停止はNG。

✔️コピペの使い方

コピペは、「ブロックごとにテストする」ように使うと、効果あります。

かんたんなGo言語の例をみてみましょう。

package main
import "fmt"
func main(){
fmt.Println("hello world")
}

最初にこのコードをみたときは、「??」ってなるかなと。

packageってなんだ?
importってなんだ?
そもそもこれないと、ダメなのか?

こんな感じ。

それを、下記みたいに、「切って」テストするようにすると、効果が出てきます。

package main//ここをコメントアウト
//import "fmt"func main(){
fmt.Println("hello world")
}

すると、
fmt.Println()
にエラーが出るはず。

つまり、

「あ、importすることで、fmt.Println()の部分でエラー出ないようにしてるのかも。」

みたいな「予想」が生まれるはず。

この予想がある状態で、「本当のimportの役割」と比較すると、印象に残りやすいっていう感じですね。

✔️コピペでも動けばいいのでは

ここまで読んで、

「理解しなくても、動けばいいんじゃない?」

って思う方がいるかもです。

完全に間違ってるという訳ではないのですが、、、これじゃ何も作れなかった昔の僕と同じです。

その教材を終わった後、
「さあ、自分が作りたいものを作ってみよう」
と思っても、、、いきなり手が止まるはず。

1+1=2を暗記して、2+2を理解する

みたいな勉強では、ものづくりの力はつかないし、楽しくもないですよ。

残念ですが、いいことはないです。

コピペにはメリットがある


コピペにはいいこともいっぱいです。

大きくは3つ

  • シンプルにラク
  • 効率がよくなる
  • 情報を集める範囲が広がる

上記の通り。
サクッと説明しますね。

✔️シンプルにラク

まあ、これはそのままです。

手打ちよりも、圧倒的にラクで、時間もかかりません。

ただ、「理解するための補助輪」としての役割を忘れるのがダメなのは、さっき説明しました。

✔️効率がよくなる

「ムダ」が少なくなります。

というのは、意味がわかってるコードとか、手で打つ時間をカットできますので。

例えば、htmlの雛形とか、、、いちいち書いてたら、それだけで日が暮れます。

わからないところだけ、さっきみたいに「切り分け」しつつ、考えを深めていく

これが、ベストプラクティスです。

✔️情報を集める幅が広くなる

これは、イメージつきにくいかもです。

コピペするクセがつくと、情報をたくさん集められるようになります。

コピペしてダメなら、次の情報を試す
それもダメなら、次を探す

みたいな「試行回数」が増えるので。

これはコードというよりは「コマンド」に多い印象。
試行回数が増えれば、成功確率も上がる。

もちろん、全部とはいいませんが、知らないコマンドを見つけた時に、ググっておくと知識も増えますし。

そのままコピペしても動かないことが多い


そもそも論ですが、、、
ネットで見つけたコードをコピペしただけでは動かないことが多いです。

というのは、今自分が作っているアプリに合わせて、書き換える必要があるからですね。

例えば、見つけた関数名が被ってるかもだし、CSSなら対応するクラス名が違うかもです。

✔️結局、考えることからは逃げられない

つまり、コピペするからといって、考えないで済むっていう訳じゃないです。

上記みたいに、
全く考えずにコピペしても、コピペしてからは考える方が自然。

「形を合わせる」中で、
そのコードを読むことになるので、思考もセットになるはず。

✔️プロでもコピペする

「いけるかも」
って思ったら、プロでもコピペしてます。

前お世話になってた会社のCTOの方との会話で、

「こういうコード書いてみたんですけど、どうでしょう?」
CTO
「あ、、なんか前に似たコードみたことある!
こっちの方が良さそうだから、コピペして、適当に調整しておいて〜!」

って言われましたし。

情報はオープンな時代ですし、信頼性の高い情報ほど、Googleは上位に表示してくれます。

先人の知恵を、借りましょう。

プログラミングでは写経とコピペ、どっちがいいのか

結論は、

プログラミングに慣れている
→コピペ
プログラミングには慣れてない
→写経

このあたりは賛否が分かれるところだとは思いますが、少なくとも僕の意見としては、上記の通り。

プログラミングに慣れてるなら、コピペ

コードを書くのに慣れてるなら、コピペでOKです。

というのはこの段階なら、
学習のスピード感を重視しても質は落ちづらいからですね。

コピペしても、重要なことは見落としません。

本質のところは、コピペしつつもチェックできるはず。

自分なりの学習方法を持ってるので、
それを継続すればOKです。

プログラミングに慣れてないなら、写経

コードに慣れてないなら、写経からです。

理由は2つ。

・感動を体験するべき
・プログラミングの「空気感」を感じる

上記の通り。

まずは、プログラミングっていう場に慣れる必要があります。

慣れつつ、成功体験を積むべき。

✔️最初の一歩は「理解」しなくてOK

下記のツイートをご覧くださいませ。

下記のツイートをご覧ください。

最初なら、
「自分、意外といけるじゃん」
みたいな「成功体験」から入るべきですね。

理解に比重をおくと、
たぶん、挫折しますので。

この辺りは、プログラミング初心者の挫折を防ぐ3つの方法[実体験から考えます]でお話しています。

まとめ:コピペをうまく使って、勉強を加速しよう

記事のポイントは、下記です。

  • コピペでも力はつく
  • あくまでも「理解の補助輪」
  • メリットは5つある
  • コードに慣れてるならコピペ
  • 慣れてないなら写経

こんな感じですね。

コピペする場所と、避ける場所
切り分けてみてください。

頭ごなしに
「コピペはダメ」
っていう訳はないですよ。

では、以上です。

この記事が少しでもお役に立てたなら、幸いです。

✔️参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です