ブログ管理者のP.Hです!
下記記事で、Scratchの使い方について紹介しました。
学校の教育に使われるということでどんなものか興味がありました。使ってみた感想と、そこから実際にプログラマーになるためには何か必要か、私の個人的な思いを書いてみたいと思います。
コーヒーブレークとして、気楽な気分で読んでください。
Scratchはプログラマーへの道の第0歩
Scratchを使ってみた感想は、
- プログラミングというよりはScratchで遊ぶという印象
- パソコンやプログラミングに興味を持ってもらうものという印象
- 小学生くらいが対象
プログラミングの導入と割り切って使っていればよいのですが、残念ながら、Scratchを勉強してプログラミングができるようになることは、たぶんないと思います。
Scratchよりも英語を勉強すべき
Scratchで"論理的思考が身に付く"とよく聞きますが、算数や理科でも論理的思考は身に付くと思います。それよりも、英語の勉強にもう少し力を入れた方が良いのでは、と個人的には思います。(まず、ちゃんとした日本語を勉強すべきという意見も最もだと思いますが。。)
英語を勉強した方がいいと思う理由 その1
プログラミングのコードは英語の文章の要素が含まれていると思います。if文などは英語そのものですよね。コードを読んでいるときは、英語を翻訳している感覚に襲われる時があります。もちろん、全く同じではないのですが、変数や関数名は英語ですし、その単語の意味が分かればおおよそコードの内容がわかります。
英語を勉強した方がいいと思う理由 その2
プログラミングをしていて、何か困ったときはインターネットでほぼ間違いなく調べます。有益な情報は英語サイトに書いてあることが多く、英語が読めないと問題の解決に時間がかかります。翻訳サイトを使えば、最近は技術文章もかなり精度よく日本語にしてくれますが、英語が読める人のほうが圧倒的に有利だと思います。
プログラミングができるようになるために必要なもの
なぜ初心者はポインタやクラスを理解できないか
初心者の壁はポインタやクラスを理解することではないかと思います。理解が難しいのは、以下のような理由があると思います。
- 参考書には、使い方は書かれているが、どういう時にポインタやクラスを使うのか想像ができない
- これを使うと何が便利なのかわからない
- 例題はあるが、自分の作りたいものではないので、実感が伴わない
参考書の例題は、ポインタやクラスの使い方の説明のための例題になっていると思います。仕事レベルの規模のプログラムを実際に作らないとポインタやクラスを使うことで、コードを管理しながらきれいに書ける、と実感できないのです。
自分でコードを書いて、自分で問題を解決する
参考書では、コードの書き方や例題のプログラムの作り方は書いてあります。ただ、これを真似しただけでは本当に技術を習得したことにはならないでしょう。技術を習得する流れは
- 明確に作りたいものがある、仕事等の何らかの理由で作らざる負えないものがある
- 自分でコードを書くが、うまくいかない
- どうしても作りたいので、自分で調べて、問題を解決する
- 自分の技術となる
こんな感じだと思います。3.をできるかどうかは、1.の条件が絶対に必要です。参考書の例題では、3.への取り組み方が違ってきます。
仕事はプログラマーになる最高の方法
プログラマーになるには、明確に作りたいもの、作らないといけないものが必要です。それには仕事としてプログラミングをするのが一番でしょう。何か問題にぶち当たった時に、何とかして問題を解決しようと努力する ⇒ その結果、技術を習得できるのだと思います。
7:2:1の法則
この言葉は本当に実感できます。
- 7割 ⇒ 仕事上の経験
- 2割 ⇒ 薫陶(尊敬できる先輩等からのアドバイス)
- 1割 ⇒ 研修
知識だけではだめで、仕事する(明確な目標をもってコードを書く。その過程でいろいろなことを考えて、問題を解決して、自分の技術として習得する。)という経験が1人前になるには必要ではないでしょうか。これはプログラマー以外にも通じるところがあると思います。
久しぶりに思いを書いてみました。共感して頂ける方いるとうれしいのですが。。それなりに仕事をしているといろいろと思うところはありますね。今後も思ったことを記事にして、いろんな方から意見を頂いて、私も成長していけたらと思います。