プログラミングを独学で覚えたいならスクリプターを目指そう

独学法

プログラミング 独学

ボンジュール! 継続の錬金術士なおキーヌです。

Twitterを見ているとプログラミング学習をしてエンジニアになりたい人の割合が増えているような気がしますね。

そのうちの何割が脱落していくのか個人的にはすごく知りたいです(ゲス顔

プログラミングスクールも増えてきているようで、時代の流れを感じざるを得ません。

個人的にはプログラミング学習を挫折したくないならまずスクリプターを目指せと言いたいので、
今回はスクリプターになるために必要な技術を紹介します。

スクリプトとプログラムの違い

スクリプトとプログラムの違い

スクリプトって聞いたことあるけど結局なんなの?プログラミングとどう違うの?
って方は結構多いんじゃないでしょうか?

厳密な定義を話し合うと戦争になりかねないので、簡単で完結に説明します。

スクリプトは命令を組み合わせて1つの処理を作る行為。

プログラムはその処理をどう動かすか指示をする行為。

ということです。もっと簡単に言うと

スクリプト=作業者

プログラム=管理者

ってことですね。

プログラマがやっている行為は基本的にはスクリプティング

一般的な認知だとプログラミングっていわゆるナゾな文字を打ち込んで
アプリを作ったり自動的にパソコンを動かしたりするイメージがあるかと思います。

実はコレって殆どがスクリプティングなんですよね。

スクリプトで処理をたくさん作って、それを組み合わせて
1つのプログラムにするのがプログラミングです。

なぜスクリプターを目指すのか

スクリプターを目指す

たぶん大体のプログラミング初心者はプログラマーとは、
コードをガリガリ書いてるスクリプターをイメージしてるんじゃないでしょうか。

結論から言いますと、先ほども言った通りコードを打ち込むのは
基本的にはプログラミングではなくスクリプティングなのです。

スクリプティングをマスターしてしまえばあとはどのように組み合わせるかがプログラミングなので
プログラミングを勉強するということはスクリプトを勉強することと同意です。

仕事と同じようにペーペーな人間がいきなり管理者になれないのと同じで
管理者になるには作業者からしっかりとやりましょうという話です。

スクリプトがどのように動くのかを分かっていないと
プログラムを組む順番なんてわかるはずもありません。

なのでプログラマーを目指す前にまずスクリプターを目指しましょう。

スクリプターって何すればいいの?

まずはテキスト処理を覚えると良いでしょう。

使っていくプログラミング言語にもよりますが、テキスト処理はスクリプトの基本中の基本です。

Webアプリで例えるなら、データベースからデータを取得して扱いやすいように形成して
画面に表示するという一連の流れを作るのがスクリプティングです。

プログラムは上から順に動いていくということは何度も聞いたことがあると思います。
聞いたことない人は、学校の運動会のプログラム表をイメージしてもらえるとわかりやすいでしょう。

あれも上から順に競技が実行されます。

それではWebアプリのスクリプティングの例えをもう少し噛み砕いてみましょう。

データベースからデータを取得するスクリプト

これも1つのスクリプトの1種です。

最近の言語はライブラリを使えば1つの命令を呼び出すだけでDBにアクセスできたりしますが
それは置いておいて、噛み砕いてみてみましょう。

まず、データを取るにはデータベースにアクセスする必要があります。

データベースにアクセスするにはIDとパスワードが必要になりますので
IDとパスワードをデータベースにアクセスするためのメソッドに渡してあげましょう。

ここでもしIDやパスワードが間違っていた場合にエラーと表示するように設定します。

そして実際にIDとパスワードをデータベースにアクセスすします。

接続に成功すればデータベースのデータが返ってきます。

接続に失敗すれば先ほど設定したエラーと表示される命令が動きます。

そう、これがスクリプトの一連の流れになります。

そしてこのスクリプトを1つの命令にまとめることを関数化と言います。

実はここでもう1つのプログラミングは完了している

驚く

俺はスクリプトを組んでいたと思っていたらプログラミングをしていた。
な、なにを言っているのかわからねーと思うが、俺にもわからなかった……

って感じでデータベースに接続するためのプログラミングは完了したということです。

え?今やったのはスクリプティングじゃないの?って思うかもしれませんが、
よく考えてみてください。

Webアプリを作るプログラミングというのはそのデータベースに接続するための命令や
他の命令をスクリプティングして1つのアプリにするということです。

データベースに接続する1つの命令を作るためにスクリプティングして関数化することで
1つの命令分が出来上がったというわけです。

屁理屈なようですがこれってプログラミングですよね?

はい、あなたは今からプログラマーです!

スクリプトを制する者はプログラミングを制す

プログラミングが難しいって言っている人は十中八九いきなりWebアプリを作ろうとしているからです。

組み立てる順番がわからなければそりゃ難しいと思います。

先ほどの例のようにWebアプリを作るためにデータベースに接続する命令を作るように
Webアプリを作るために動かす命令をスクリプティングする所から始めればいいでしょう。

まずは何をして、どのように動かしていけばいいかが理解できるようになれば
自然とプログラミング技術は身についていきます。

作業をしていると思っていたら管理をしていた。

そんな感じです。

プログラミングは作りたいモノの最終形態をイメージして、
その最終形態はどんな機能を持っているのかを洗い出し、
その機能はどのようにして動いているのかを知り、
動かすためにどのような処理が必要なのかを考える。

──ブログ毎日更新は68日目。

プログラミングを勉強していて、ある程度まで行くとなんか成長した感じがないなと思ってたのは
アウトプット不足なのだと記事を書いていてよくわかります。

自分の中で確かにあるのですがふわふわとしている状態だったからというのが大きいかもしれません。
記事にアウトプットすることで確かなものとして可視化されるので良いですね。

それでは。