Pythonを独学で勉強しています。
入門書や入門サイトを使って基礎から順序だって学んでいくつもりだったのですが、知人から違う形の勉強アドバイスを受けました。
たとえば入門書の序盤の所を読んでいたのですが、知人はPythonで何をやりたいかが重要だと、それによって作るコードも全然違うという事だと、だから入門サイトの終盤にある、実際に目的に沿った実践的な所をやったほうがいいとの事でした。順序だって学ぶのではなく、何か課題を決めてそのサンプル通りに実際にコードを、わけわからなくてもとりあえず書いて作る、結果を見たあと、そのコードでわからない所を調べて勉強するといいとの事でした。
例えば顔の検出などのサンプルコードが入門書の終盤に載っています。
入門書の最初から順序だって勉強するのではなく、まず何か課題を決める→顔の検出のコードを組むのを課題にする→書いてRunする、結果を見る、コードでわからない部分を調べる、こうした方が良いとの事です。根拠がわからないのですがこういう勉強方法のほうがいいのでしょうか?
この場合ほぼコード全部わからないので、ひとつひとつ調べるどころかひとつひとつの部分の勉強のための勉強、その勉強のための勉強という事になり、こういうやり方だと検索も引っかからなかったり、引っかかってもよくわからなかったりして非効率だと思うのですが。
こういうやり方より基礎から学んだ方が良い気がするのです。しかし基礎からというのも、素人では自分がPythonで目指す目的のものづくりとは関係ない部分の勉強部分があっても気づきませんし、知人のやり方も一理あると思います。基礎は大事なのはわかっているのですが事情によりもう本当に時間がないので効率を気にしています・・・。
質問の要点としてはどちらの勉強方法がプログラミングの勉強として適しているでしょうか?
ちなみに仕事ではありません。事情により時間は迫っているのですが。将来的には仕事のためですが。
プログラミング経験者からは、基礎ばかりやっていては時間が間に合わない(事情により)ものだし、成功した皆最初は序盤をひとつずつやっていくより、応用課題のサンプルコードをほぼアルファベットを羅列して書くだけの気分で書いて結果を見てを繰り返していくことで感覚をつかみながら学んでいくものと聞きました。
ではやはり、感覚をつかんでいく形でも良いということでしょうか?
python入門書はいろいろ読んできましたがプログラミングのプも知らないレベルの入門書ならともかくpython入門書はどれも、これこれこういうサンプルコードを書いて実行するとこういう結果になる、程度しか書かれておりません。実行して結果を見たあと、コードのひとつひとつを調べていく、たとえば最初のfrom importとは何か?ただモジュールというツール的なもの?を入れる程度の知識だけじゃなく調べてもっと深く知ってから次の行に書いた文法を調べる、という方法を取っていました。しかしこれでは一つのサンプルコードを読み解けるまでに数日かかります。基礎が大事とはいえこれでは時間がかかりすぎてしまい、仕事にいかせないまま終わってしまいます。
それよりはわけわからなくてもコードを書いて実行、結果を見る、次のサンプルコードもわけわからなくてもとにかく実行して結果を見る、これを繰り返せば文法なんて調べなくても同じようなコードを書くのでだんだん感覚が身についてくる、という事らしいです。
まるで英語がわからなくても英語のCDでリスニングしていれば英語を覚えていくみたいな感じの話でした。最適な勉強方法とまではいかずとも、間違ってはいない、こういうやり方も一つの正解と言えるでしょうか?
これまで沢山であって来たプログラマーが仕事にしている人も趣味でやっている人も、
最初の最初から基礎は少しかじった程度にしてあとはアルファベット書くだけのようなコード書きで感覚をつかんでいく学び方、教科書学習方法ではなくリスニングのような回数をこなして感覚でこういうものだと見につけていくやり方の人だらけだったので、そういうものなんだと思っていました。しかし最近アルファベット書くようなやり方では覚えないという派の人も出てきて混乱したので質問した次第です。
しかしそんな二つのどっちが正しいのかどころか、どちらがよさそうかもしれないか、ぐらいでもどうとも言えないほどのもので、どこの話でも割と結構意見が割れてしまうものなのですよね・・・。
しかし逆に言えばこれは、どっちかのやり方が間違っているとは言えないともとれるわけで。
・・・数学や英語のように基教科書方法で基礎からで良い、と単純に答えが出せるようなものではない。
難しいですね;
回答12件
あなたの回答
tips
プレビュー