クリップログ

ライフハック、インターネット、音楽、マネープランなど幅広く発信していきます。

インターネットサービス

プログラミング学習は学ぶ順番が超重要

投稿日:


こんにちは。プログラミングを始めて学ぼうと思った場合、山のように勉強するものがあって本当に混乱しますね。HTML、CSS、Javascript+jQuery、とサーバー言語とか・・・。


始めてプログラミングを始めようとしている人は沢山の言語の中からどれがいいかな?と迷う人もいるかもしれません。そんなことについて書いてみます。

プログラミング言語を決める前に目的を決めろ!


プログラミング言語を選択するときは本当に自分が何をやりたいのかを決めたほうが良いです。それが無くプログラミングを始めてしまうと挫折率が半端なく上がります。


始めてプログラミングを学ぼうかぁなぁと考えた人はいろいろ言語情報を探すでしょ?そしたらやっぱり人気のあるJavaだったりPythonだったりが出てくる。そうして取り合えず何も考えずどれか一つを始めてみるんだけど、それの挫折率が半端無いんです。


結構色んな人が意見としてプログラミング第一言語をPythonがいいよRubyが良いよなんてアドバイスしてくれるんだけど、やっぱりどのプログラミング言語が良いか?よりも何がやりたいか?なのが大事なのは明らかですね。


ウェブ系開発を俺はやりたいんだよ!という明確な目的がある人ならいいけど、なんでも良いからプログラミングをやろう~ってな具合で、ジュンク堂に行って平積みのお勧めPython機械学習入門(初心者用)みたいな本を手に取る人は、


まぁ~挫折しますね!


プログラミング言語の学習で一番大事な事ってやっぱり目的をはっきりさせておくことだと思うんです。

私はTwitterやSNSサイトみたいなフォロー、フォロワー関係と”いいね”のシステムが作りたいと思ったから独学で始めました。そしてあまのじゃくな性格だから日本で人気のあるPHP(Laravel)やRuby(Rails)ではなくPython(Django)を勉強しております。理由はDjangoでインスタグラムとピンタレストが作られているから。


やっぱり目的が無いのに、もしくは目的と違うのに一冊目の本がいくら初学者対応とはいえPython機械学習の本を買ってしまったら続くものも続かない。自分の目的をはっきりさせることは本当に重要ですよ!

成果物重視でプログラミングの学習素材を選べ!


プログラミングで初学者が一番大事にしたほうが良いなと思うのは”入力したコード”が出来るだけ視覚的な形で表現されることだと思いますね。そしてその成果物が自分の目的に合致している!これだけですね。


ウェブ開発だったらHTMLとCSSを学ぶだけで企業サイトぐらいは出来ちゃうから(問い合わせフォームは無理だけど)。その出来たサイトをみて”おお、動いてる!”という感覚が一番大事なんですよね。


そういう意味では初学者がHTMLとCSSから入るのは良いような気がします。とにかく成果物第一主義ですね。プログラミングの勉強は。


Pythonの機械学習書籍を一番最初に買ってマルコフ連鎖(所与の条件から次に起こる状態の確率が決まること)を学んでも、それを視覚的に表現する内容じゃないと面白くないよね。コマンドラインで文章を生成してもつまらないわけです。


凄い余談なんですが一つ書籍を紹介するとPythonプログラミングパーフェクトマスターという書籍があるんだけど(Python学習で私が2番目に買った本です)、この本はAmazonのレビューランキングだと物凄い酷評されてます。理由は誤字脱字が多くてコードが散乱しているから。

でも個人的にみたら良書だと思いました。なぜなら視覚表現を重視しているというコンセプトは間違っていないから。やっぱりプログラミングは成果物を作ってなんぼ。確かに誤字はイラっとするけど(校正してないのか!)、少しづつ成果が出来ていく感覚ってのは本当にプログラミング学習においては大事です。

この本はピティナという人工知能を育てていくという設定で学習が進むんですけど、他の退屈な人工知能本だと真っ黒なコマンドライン上で人工知能を構成していくだけの本とかあります。初学者対応なのにそれはないだろ~という本が存在するんです。

成果物があると自分の好きなように脱線しながら学習できます。私は上記の人工知能学習本で勉強しているときは ピティナ の顔を好きなキャラクターとか女優の写真に置き換えてモチベを保っていましたよ。(きもいいうなよ)

やりたいことが無いならWEBから!


やりたいことは無いけど技能としてプログラミング言語を学びたいんならWEB系をやるのが一番です。理由は簡単で一番、プログラミングの基本が学べるからです。

一般的なWEBサイトをすべて自分で構築するためには
・HTMLとCSS
・javascriptとJquery
・PHP、Rubyなどサーバー言語
・データベースの知識
・Linuxの知識(クラウドサーバーやVPSの知識含む)
・ネットワークの知識
が必要になってきます。

これらを覚えるだけでも本当に大変です。っていうかこれらが全部理解出来て自作できるなら、もうスキルパンパンスーパーマンですよ。私は都度都度グーグル先生に教えを請いながら四苦八苦しています。


ただWEBプログラミングとメディア運営との違いははっきりとしておきたいところです。メディア運営としてのプログラミング知識ならば上記で記載したうちの
・HTMLとCSS
・javascriptとjquery
だけで全然問題ないです。大事なのは見た目を整えるフロントエンジニアの領域ですね。


アクセスの多いメディアサイトをみて”こんなサイトを自分で作りたい”と思った場合はわざわざPHPやRuby覚えるよりもWordPressなどのCMS独自のルールを知るほうが大事だったりします。

まとめ


一言語目からJAVAとかC言語とか学ぼうとする人は、成果物が想像できるのかな?という風に感じたことがあります。とにかくプログラミング言語という理由でこれらの言語を先に選んでしまうとプログラミング言語学習がとてつもなく難しいものに感じるはずです。


もちろんjavaにはAndroidアプリ制作、C言語系(C#など)はゲーム開発など他にも応用できますが、基礎学習の期間に成果物があまり生まれないから飽きるのも早そうだな~と感じたことがあります。


例えばJavaのベストセラー書籍
スッキリわかるJava入門 第2版

を私もわかりやすく読ませていただきましたが途中で成果物が発生しないので(すべてテキストベースで進行)”面白く”はなかった。個人的な考えだけどもやっぱりどんな小さなものでも”これは自分がつくった”があったほうが良いと思います。



てなわけで、これからプログラミングを始めてみようと思う人は自分の目的に合っているプログラミング言語、そして進行度に応じて成果物が次々と出来るような教材を選んで始めるといいじゃないかなと思いました。

-インターネットサービス
-,

Copyright© クリップログ , 2019 All Rights Reserved Powered by AFFINGER5.