プログラミングが上達するたった一つのコツ
みなさんこんばんは!TDerです!
今日はプログラミングが上達するたった1つのコツについて書いていきたいと思います。
世の中ではプログラミングが流行りに流行っていますよね。
この記事を読んでいる方の多くはプログラミングをしてみたい、
仕事で使ってみたいと思ってらっしゃるのではないでしょうか。
私はあるプロジェクトで、自分で実際にコーディングをして、
プロジェクトで使用するツールを作成しました。(Excel VBAとAccess VBAですが、、笑)
そこで強く感じたことが今回の記事を書くきっかけとなりました。
プログラミングが上達するたった1つのコツとは、、、
目次
実際にアプリケーションやツールを作ってしまうこと
なんです。
仮にプログラミングの知識があったとしても、プログラミングの構築となると別の課題が色々と出てきます。
知識があるのと、実際にやるのとでは全然違うので、やってみたら全然うまくいかない~なんてことは多々あります。
私はJava Silverの資格を持っていて、ExcelやAccessのVBAについては資格を一つも持っていません。
でも、どの言語を使ってツールやアプリを構築できますか?と聞かれたら
確実にExcel/Access VBAのツールを構築できます、と即答します。
(もちろん難易度が違うだろって意見はあると思いますが。)
もちろん知識をつけることは無駄だと言うわけではなく、あるに越したことはないですが、
頭でっかちになるのではなくて手を動かしてみようよってことを言いたいわけです。
■プログラミングの入門知識をつけるためには
頭でっかちになるな、とは言ったものの、頭の中にプログラミング知識が1ミリもないと
手がまったく動きませんよね。笑(当然ですが。)
そこで私は最初に市販の本で体系だった知識をつけることをオススメします。
最初ググったりして調べてもアプリを作るために何が必要なのか
網羅的に知ることが難しいです。
初心者の方はここで心折れちゃうので、ある程度の基礎知識を最初の段階で得ておく必要はあると思います。
私が読んだ本をご紹介しておきます。
◯Java
スッキリわかるJava入門
Javaとはなんぞやというところから、オブジェクト指向の解説などを
かわいいグラフィックを使ってわかりやすく説明されてます。
Javaを学ぶ際の一番最初はこの本から!本当にオススメです!
スッキリわかる Java入門 実践編
スッキリわかるシリーズの実践編です。コレクションやラムダ式などについて説明されています。
考え方が高度になってくるとイメージがなかなかやりにくいのですが、
イラストで分かりやすく記載されているので本当にわかりやすいです!
ここまで読めば、API調べて自分でアプリを作ることは可能ですよ!
Java Silver問題集
Javaの勉強をしていた社会人1年目の頃は資格厨でしたので、
勉強したからには定量的に図ることができる資格をとろうとJava Silverの勉強をしておりました。
正直アプリを作るのに資格はまったく必要ありませんが、
自分の知識が正しく定着されているか体系的に確認することができるので
そういった意味では勉強してよかったなと思います。
ちなみに民間資格なので受験料が非常に高かったです。。(26000円ぐらい。笑)
◯SQL
スッキリわかるSQL入門
JavaでおなじみスッキリわかるシリーズのSQL編です。
私はスッキリわかるシリーズに全幅の信頼を置いておりますので、
(もちろん回し者ではないですよw)
SQLを勉強した時はまずこの本からはじめました。
わかりやすかったですし、辞書的に使って即コードを書いていました。
◯Excel VBA
入門者のExcel VBAー初めての人にベストな学び方
私がExcel VBAをはじめた時はこの本から始めました!
VBAの基礎的な部分に触れながら、実際に本に沿ってツールを作成していくことで、
基礎の部分の知識を習得・定着させる流れになっております。
私はこの本を読んで実際にツールを作成していきました。
正直この本だけであとはググることでツール作成は対応できますよ。
VBAエキスパート
もし資格としてExcel VBAを取っておきたい場合は、下記のテキストがオススメです。
公式ですので、試験問題からズレた記載はないですし。
私はツール作成の際の辞書的な立ち位置で使っておりましたが、資格を取りたい人にはオススメです!
なお、Access VBAやPythonの本を記載していない理由は次の章に記載しております。
■プログラミングの横展開
色んな言語に触れていると良くわかるのですが、正直各プログラミング言語で似通っている部分で多々あるのですよね。
例えばAccess VBAのツールを作った時はAccess VBA特有の勉強なんか
まったくと言っていいほどやっていません。
というのも、Excel VBAと構造がほとんど同じなので、
Access特有の機能をググって調べてやりたいことを実現するための最短距離はなんなのか、
考えて作成するだけでした。
別に上記の話って世の中そこら中にある話だと思うんですよね。
例えば野球のルール知っている人ってほとんど何も知らなくても
ソフトボールは楽しむことができるみたいな感じです。
大枠が同じで細かいところがちょっと違っていたりするだけなんですよ。
Pythonも同じ話で、 Javaを勉強していたおかげで、Progateでコースをやっただけです。
先ほどの章で記載していたように、Access VBAやPythonを入門編の本から始めなかったのは上記が理由です。
ですので、この記事を読んでいる方の中で、あるプログラミング言語を習得し、
アプリ等を作成した方、基礎は学んだ方についてはどんどん他の言語に挑戦し、
自分があっていると感じる言語を楽しんで欲しいです。
一つの言語で止まらず色んなことに触れることは非常に大事だと思います。
Javaを勉強したことで、労力少なくPythonを勉強できましたし、逆にJavaの理解も増えました。
今はPythonでアプリを作っている最中ですが、完成したらこのブログでも記事にしたいと思います!
■実際にアプリケーションを構築するために
アプリケーションを構築するために、
今だとProgateみたいな自分で手を動かしてプログラミングの知識を得られちゃう、
みたいなサイトがあります。
月額980円で学びたいホーダイとかなりお得ですよね。
本を読んでもなかなかイメージできないことが実際にコードを書くことでよりイメージしやすくなるんですよね。
私自身もProgateに入ってPythonを勉強しました。
コース自体の難易度も丁度良く、グラフィックも可愛いので勉強しやすいなーと感じながら実践できました。
■Progateで学んだ後は?
Progateで学んだ後は、実際に自分が作りたいアプリケーションをググりながら作っていっちゃっていいと思います。
コーディング能力とか使わないとサビつきますし、アプリケーションを作ることで身につく技術の方が多いと思います。
プログラミング言語って日々で進化しているんですよね。
Versionが更新されて今までなかった機能が追加されるため、
ググって最新版の情報を調べて対応することがコーディングの技術を洗練させるコツだと思います。
本だけで勉強できない理由はここにもあります。
本で基礎を学んだ人は手っ取り早くググってツール作っちゃてもいいと思います。
プログラミングってスポーツに近いように感じます。
技術だけを本で学んでも実践するのが難しい、やっているうちにいつのまにか出来るようになってる、
みたいな感じです。
野球をずっとやっていて、今は別の競技をやっていると、
プログラミングってほんとスポーツみたいだなーって思いますよ。
作りたいアプリケーションとかないよーって方ももちろんいると思います。
そんな方にはこちら。
https://twitter.com/kohe91/status/1023879432438599685
まだリリースされていませんが、
有名なアプリを元にして、ポストProgateの方向けに、アプリを作ってもらう経験をしてもらうサービスです。
私自身サービスがリリースされればすぐに登録するつもりです。
■最後に
ここまで読んでくださりありがとうございます。
私自身、大学生の頃はまったくパソコンに触れない生活をしており、
プログラミングのプの字も知らなかったですが、1年後まさか仕事で使うとは思ってもいませんでした。
本で基礎を勉強して実際にツールを作ってみて、自分の力がついたなーといまでは思います。
プログラミングが自分の一つの特徴になるなんて思ってもみなかったですが、
お客さんやチームの仲間に感謝されると非常に嬉しくてまた頑張ろうって思えますよね。
この記事を読んでいる皆さんにも同じような気持ちを味わっていただければ幸いです!
以上、ありがとうございました!