今回の記事は、現在プログラミングに興味があって、これから始めようかなと思っている人。
既にプログラミングを始めている初心者の人で、更に上達したい人を対象に書きます。
情熱はあるか
まずはあなたの中にプログラミングを学びたいという情熱があるかを確認してみましょう。
そしてなぜプログラミングを学びたいのか、プログラミングを学んで何を作りたいのかを出来るだけ明確にしましょう。
明確にしたらそれを完成させる為に必要だと思われるものごとを、簡単な箇条書きでいいので、紙やノートに書くと良いと思います。
それらを理解できた時には、自然と作りたいものが完成しているはずです。
作っている最中に抜けている部分を見つけてしまったりするので、その場合は新たにリストに書き加えて随時更新していきます。
まあ中には上司にやれと言われて、これからイヤイヤながらプログラミングを学ぶ人もいるかも知れません。
そういう人は可哀想だとも思いますが、プログラミングが出来れば、仕事をコンピューターに押し付けることができます。
その分あなたは、あなたの好きなことに時間を費やすことができるようになります。
そんなこんなでやってるうちに楽しくなってくるかも知れませんので、プログラミングは、とりあえず誰にでもやってみる価値があることだと私は思っています。
何から始めよう、まずは本を読む…?
やっぱりね、基本として、プログラミングを学びたい人はまずは本を読みましょう。
という時代は終わったと思っています。
と言いますのも、今や動画を見たほうがより具体的に理解できると思うからです。
本というのは動画がなかった頃に情報を伝える為、苦肉の策として講じられた手段と言っても差し支えないでしょう。
動画ならより具体的にプログラミングの環境作り、実際のコーディングまでを見よう見まねで学ぶことができます。
Udemy
たとえば、Udemyってご存知でしょうか。米国シリコンバレー発祥の世界最大級のオンライン動画学習プラットフォームです。プログラミングに限らず、さまざまな動画学習コンテンツを販売しています。
ここは度々セールをやってて、今も夏の学び直しキャンペーンというものをやっているようです。
このUdemyの中で、たとえばウェブサイトの作り方が知りたいという人は
こういうプログラムを1200円で購入すれば、いつでも好きな時に動画を見ながら学習することができます。
本一冊以下の価格でこれが見れてしまうという…現代すごい。
ドットインストール
それにプログラミングに関して言えば、ドットインストールも素晴らしいですね。
こういうふうに、いろんなプログラミングの学習コンテンツが動画で配信されています。
順番に見ていくだけで、その言語、フレームワーク(仕組み)の大まかなところがわかりますので、新しい仕組みを学習する時にはここをみて、それを使うと、どういうことができるのかという一番重要な部分を飲み込めるので重宝します。
プログラミング言語というのは、あくまでも道具です。
プログラマーが作りたいものは、アプリケーションやウェブサイトです。
大工仕事に例えればアプリケーションやウェブサイトは家ということになります。
家をつくる為には定規やノコギリやカンナなどの道具が必要になります。
これらがプログラマーにとってのプログラミング言語ということですね。
適切な状況で適切な道具を使うことで、効率よく家を立てていくことができます。
そのために道具の特性を知り、どういう時にどの道具を使えばいいのかということを知っておくことがとても重要です。
本は本でも電子書籍がおすすめ
今でも本には本の良さがあるとは思いますが、プログラミングに関して言えば、紙の本よりも電子書籍の方がいいかも知れません。
ちょっと感覚的な話になって申し訳ないのですが、プログラミングというのは基本的には覚えるものではなく、掴むものです。
要は設計が重要であり、設計が終わった細かい部分については毎回調べながら作っていくことになります。
たった一つのプログラミング言語においても、人間が全部を覚えておくことは基本的に不可能だと思います。プログラミング言語自体のバージョンもどんどん上がっていきますしね。
なので、プログラミングの本というのは「地球の歩き方」みたいなガイドブックと使い方が似ている気がします。
まずざっと全体を見通して、自分が行きたい場所をチェックして、「ああ、こういう所があるのね」と頭の片隅にいれておき、いざその場所に行ったときに、改めてそのページを熟読するような感じです。
なので、何回も参照できるような仕組みを持っている本が良いということになり、突き詰めると電子書籍になるんじゃないかと思います。
普通の本でも、付箋を貼ったりすることで再参照性を高めることはできると思いますが、付箋も剥がれたり、折れたり、汚れたりします。
電子書籍ならば検索にかけるだけでその場所をさっと開くことができますし、何度も見そうな場所にはブックマークを設定することですぐにジャンプできます。
モニターに写しておけば、本を開いて固定しておく手間もありませんし、プログラミングのお供としては最適だと思います。
ちなみに、プログラミングを志す人ならばかならずLinux/Unixの使い方を知っておくべきだと私は思います。
その上で、このブログでも何回も紹介していますが、この本は非常におすすめです。
まずはこの本の、豊富な図解によってざっと概念を理解したあとに、詳細な活字で書かれた本を読むのが一番の近道だと思います。
Linux/Unixを学習するコストを大幅に引き下げてくれますよ。
LinuxやUnixに触れるということは、プログラミングというものの理解を深める意味で最も合理的だと思います。
アウトプットする
動画によって学習したり、本を見て学習したりしたら、今度はアウトプットすることが大切です。
というよりも、アウトプットする(作る)ために動画や本を見ているんですもんね。
学んだことはなるべく早く、作りたいものを作るために使ってみて、そこでやったことはできるだけ詳細にどこかに書き残しておきましょう。書くことで理解の抜けていた部分を改めて発見できたりします。
ブログでも、Evernoteでも、紙のノートでもなんでもいいです。
ただ、ここでもやはり再参照性が重要となってきますので、できれば検索が効くものに書き残すのが良いと思います。
自分がやったことというのは自分がやりたかったことです。
自分が望んでやったことと言うのは、かなりの確率でそれ以後も何度かやるんですよね。
きっとムダにはならないはずですので、自分がやったことは書き残すようにしましょう。
5年、10年後、きっとあなただけの大きな資産になっているはずです。
作りたいものがない時は
作りたいものを作り終えてしまって、とくに何もやることがないという時もあるかと思います。
そんな時には腕試しをするのも面白いかも知れませんね。
書き記すだけがアウトプットではなく、こういうアウトプットも良いものだと思います。
コードクエスト
上記のサイトでは、ある状況が提示され、プログラミングの技術を使ってそれを解決するというゲームができます。
実はプログラムが書けなくても、論理的思考だけで解ける問題もいっぱいあるので、自分がプログラマーとしての素養があるかがわかるかもしれませんね。
これに加えて、ちょっと前までcodeIQというサイトでちょこちょこ遊んでたことがあったのですが、もうなくなってしまったようです。
パズル間隔で気軽に暇つぶしできて面白かったんですけどね…。
今調べてみたら転職案内サービスみたいになっていました。残念。
しかしこういう腕試しパズル系のサイトは今後エンジニア需要が増えるのに伴って増えていく気がしますね。
また何か見つけたらご報告したいと思います。
ということで今日はプログラミング技術の上達について、僭越ながら語らせていただきました。
プログラミングと楽器の演奏って、私はなんだか似てる気がするんですよね。
どちらもまずは全体を俯瞰して、うまく行かない細部をあぶりだし、そこを集中的に改善していくという流れになります。
その合間に基礎練習をすることで、一つのプロジェクト(曲)が終わった頃には一つ成長できています。
どちらも、目標を持ってなにかを完成させようという気持ちが、上達を促してくれるものだと思いますね。
人生は長いので、着実に一歩一歩成長してゆきましょう。
では、また。
更新情報をお届けします
この記事へのコメントはありません。