プログラミング力を身に付けたいけど、何からすればいいの?
本とか読んでみたけど専門用語ばっかで初心者には意味不明!
こんな初心者の悩みにお答えします。
プログラミングは最初がわかりにくい…
僕はちょうどプログラミングを初めて一年ほどになります。
今でも最初に何からとっつけばいいのか全然わからなかった初心者の時のことを覚えています。
僕が思うに、プログラミングって始めよう!って思って実際に動かせるようになるまでがハードル高すぎると思うんですよね…
そんで、「なんなんこれ、意味不明」ってなってやめちゃう。
正直言いますと、最初の三ヶ月間は全然成長しませんでした。
というのも、
- まずそもそものインストールに手こずる
- パソコンの基礎知識が全然付いていない
- コードを書くのに準備が面倒
- 何をすれば伸びるのかわからない
- プログラミングを実際にどう使うのかわからない
だったり、プログラミングに
で、もう何をやればいいのか初心者には全然わからない状態でした…
【おすすめしません】最初は本とググりで勉強していました
僕が一番最初にプログラミングを始めようと思ってとった行動は、
「プログラミング 始め方」
で検索することでした(当たり前か笑)
そもそもプログラミングってなんなんだ???何ができるんだ???
って状態でしたが、まあやってみればわかるだろうと思ってました。
そこで、プログラミングには色々な言語があることを発見します。
C言語とかPythonとかなんとなく聞いたことあったので、納得です。
他の言語とかも色々調べてみました。新しい概念でしたので、適応するのに大変でした。
初心者にはPythonがいいということと、単純にヘビ(Python)が好きだったのでPythonを勉強することに決めます。
そして、初心者向けっぽい本を買いました。
オライリーっていう会社が出しているPythonの入門書です。
正直に言いますと、
プログラミング完全初心者の僕がこの本で勉強を始めたのはかなりダメだったな…と思います。
ちなみに、オライリー社はエンジニア向けの本を出版している超有名会社です。
これからプログラミングをやるなら必ず何冊か読むことになります。
ただ、結構難しいです。
決して初心者向けではありませんが、今になってみれば、買ってよかったなって思っています。ある程度プログラミングのスキルが付いてから読んだら、内容がすっと入ってきました。すごくいい本です。
この本に挫折した僕は、Pythonのもうちょっと簡単な本を探そうとします。そして、これを見つけました。
この本はわかりやすくて、初心者の当時の僕でも一通りさらっと読めました。
これ一冊である程度のPythonの基礎知識はつけることはできました。
ただ、悩んでいたのが、コードを実際に書く経験の不足です。
もちろん、実際にコードを書くことはしていたのですが、なんかあんまり身についている感覚がしませんでした。
例えてみれば、教科書の超超基本的な問題を繰り返し解いてる感…
もうちょいレベルアップしたPython用練習問題集みたいなものが欲しかったです。
本だけではちょっと限界を感じました。
ここまでの勉強で感じたのは、
全くのプログラミング初心者が本で勉強するのは超非効率である
ということです。
【超おすすめ】paiza、Progateで実力が超伸びました
サークルの先輩にプログラミングがあんまり身についてる感がない悩みを相談したのですが、
「paizaやってみたら?」
と言われました。
それなんぞや…?
paizaとは…?
paizaは動画でプログラミングの授業が受けられ、それをみながらコーディングを実際にできるWebサービスです。
僕がやろうと思っていたプログラミング言語のPythonは完全無料でしたし、やってみたらめちゃくちゃ楽しかったです。
個人的に一番大きいメリットだと思うのが、環境とか整えないですぐにコードが書けることです。
最初に説明したように、パソコン上にプログラミングができる環境を作る(インストールする)のは非常に大変な作業です。初心者にとって最初の山場です。
環境構築はいつかはやらないといけないですが、まずはプログラミングというものに触れることができるというのはとても大きいことだと思います。
スキルチェックのための問題もレベル別に豊富にあり、自分の勉強した言語で実際に解くことができます。
こんな感じで動画で学習できます。
こんな感じでレベル別に問題が大量にあります。
paizaはコーディングをしっかりガリガリ書くことができ、今までの本での勉強よりも圧倒的に効率がいいです。
これから始めればよかった…って後悔しました。
今からプログラミングを始める人でしたら、paizaをおすすめします。
Pythonを勉強しようと思っている人でしたら、無料でできるのでpaiza一択じゃないでしょうか。
Progateとは…?
paizaで三日ほどでPythonの授業を終えてプログラミング力がついてきているのを実感した僕は、
「動画学習サービスだったら他の言語も習得楽勝なんじゃね…?」
と調子に乗り、他のサービスも探してみました。
そこでProgateを発見します。
Progateは動画学習サービスではないのですが、paizaのように実際にコードを書いて練習することができます。
僕はProgateで有料会員登録をして、Python以外にも、HTML、CSS、JavaScript、Swift、PHP、Rubyなどのいろんなプログラミング言語を短期集中で詰め込みました。(今ではだいぶ抜けています笑)
一つ感じたのが、何かしら一つプログラミング言語を習得(とは言ってもまだ全然でしたが)すると、他の言語の学習がとてもしやすくなる、ということです。
結構似てるんですよね。
paizaは有料会員登録しなかったのでどんな感じかわからないんですが、やっぱりこういったサービスで勉強するのが最速だなと実感しました。
問題を解きまくってプログラミングに慣れよう
paizaとProgateのおかげで無事に無知からPython初心者になれました。
次に僕がしたことは、Web上の問題を解いてみて、プログラミングに慣れる、ということです。
上記サイトに問題がいっぱいありましたので、ひたすら解く、と言った感じですね。
実際に使うことがプログラミング学習において最優先すべきことです。
ですので、ゴリゴリ解いていきましょう。
Pythonで仕事を意識!どんな道があるのか知ろう!
もし、Pythonでのプログラミングを仕事に使いたい!って少しでも思っているのでしたら、どんな仕事がああるのか、そのためにはどうすればいいのかなどの情報を知る必要があります。
その知識を身につけるために最適な、超有名ベストセラー本があります。
これはPythonの基礎から、仕事の取り方まで全て俯瞰できる貴重な本です。
仕事を意識しているのであれば必須です。早いうちに目を通しておきましょう。
感想とか詳細とかはこちらで書いています!
アルゴリズム・データ構造を勉強しよう
問題を解いていく中で、
- どうしても今のレベルでは解けない問題
- コードはかけるけど処理に膨大な時間がかかって実質解けない問題
が必ずでてきます。
このような問題を解けるようになるために、
アルゴリズム・データ構造の勉強をすべきです。
この技術はプログラミングで一歩上を目指すに当たって必須になるでしょう。
僕は購入した三冊をご紹介します。
【超おすすめ】プログラミングコンテストの対策本(通称:螺旋本)
僕が今ちょうど勉強している本です。有名な本で、螺旋本と呼ばれています。
アルゴリズムとデータ構造について初心者でもわかりやすく勉強できます。
どうすれば効率のよく、速く動くコードがかけるのかや、問題を解決するためのステップがよくわかります。
この本は、上で紹介した問題集サイトに載っているサイトの一つである、
AIZUオンラインジャッジ
というプログラミングコンテストサイトの初心者向けのチュートリアル問題を抜粋して、解説しています。
なので、実際に自分で解きながら勉強することができ、実力がつきます。
プログラミングに慣れるにおいても、技術を高めるにおいても、超おすすめの本です。
【難しいです】プログラミングコンテストチャレンジブック(通称:蟻本)
【螺旋本あれば必要なし】データ構造とアルゴリズム
まとめ:勉強の流れについて
- paizaでゴリゴリコードを書きながらお勉強(progateでも可)
- paizaのスキルチェック、その他問題集で問題をバンバン解いていく
- ある程度慣れてきて解けない問題がでてきたら、螺旋本で勉強
- 入門python3で抜けてるところを補完する感じで勉強
この順番で勉強しましょう。
ここまでくれば、ある程度の知識がついているはずです。
Pythonを勉強すれば、データサイエンティストや、AIプログラマーなど、かっこいい仕事がいっぱいあります!僕もまだまだ勉強中ですので、この先このブログで成長過程を書いていけたらなと思います!