2022-11-04、
本日のお題は、「プログラミングを覚えようとして、途中で挫折してしまう人のために」です。
独学で書籍やWEBサイトを利用する場合と、学校で習う方法がありますが、最初、どちらで学ぶにも共通した事柄がありますので説明します。
私の場合、40年以上前に、コンピューターの学校で学びましたが、最初の2,3か月は、十行程度のプログラムも作れませんでした。悩みました。 悩んでいたせいもあり、バイク乗りですので、学校帰り、一人で小樽の林道を爆走していて、バイクに巴投げをくらい、右肩の靭帯を延ばし、病院で手術をするために、10日間ほど入院して、その間、授業中に書かれた小さなプログラムを集めて、何回もそれを書き写していました。
学校に復帰して、プログラミングの授業中、黒板に問題の答えになるプログラミングを書くのですが、すぐに手を上げて、解いてしまいました。先生は、ちょっと驚いて、急にできる様になった私に向かって「どうした、事故って、頭でも打ったか?」とほざきましたので、「そうかもしれません」と病院で何をやっていたのかを話しませんでした。本当に、授業が簡単すぎて、逆につまらなくなった事を覚えています。
こんな事がありまして、先生は、私が大学を卒業後、社会に出て務め、金を貯めて、この学校に入ってきたことを知っていましたので、授業でやらない面倒な処理プログラムの仕様書を渡してくれて「これを作ってみなさい」と何度もお世話になりました。
結果「バイクに巴投げをくらい頭を打ったおかげで、プログラミングができる様になった」違うわ!
1.まず、大事な事
人間、何か新しい事を始めようとする時に、目の前にニンジン(金になる)がぶら下がっていても、自分自身の「脳」を簡単には騙せないのです。頑張れる人と頑張れない人が居ますが、通常、すぐに覚えても金にならない新しい仕事だと頑張れないのです。将来の為に、自分の「頭」に投資しようとする考え方が、しっかりと頭の中に描けないと無理でしょう。
そして、ある程度、覚えるまでは根気が必要で、根気を保つモチベーションをしっかりと持てるかどうかでしょう。例えば、これを覚えて何がしたいのか?ちゃんと頭の中に信念が無いと、「脳」は、無意識に嫌がり、途中で挫折するでしょう。
2.何を覚える必要があるのか?
プログラミングを覚えると云いますが、一番最初に何を覚えるかと云えば、アルゴリズムでしょう。
いきなりアルゴリズムなどと難しい言葉を使いましたが、どう記述すればどのように動いて処理、計算してくれるのかを掴むことです。そして処理のパターンがありますのでこれを早く覚えれば、あとは組み合わせです。 処理パターンを覚えて、それをうまく組み合わせる事ができる様になれば良いのです。
プログラミングは、知能(IQ)の高い人間にはかなわないのは、この事なのです。物事を認識する能力が高いのと、覚えるスピードが速いので、パターンを認識してすぐに覚えてしまうのです。
途中で、挫折しない様にするには、難しい事から覚えようとしない事です。
何で、こう記述すれば、計算してくれるの? という単純な事から始めるのです。
元々、組み合わせれば複雑なことができますが、バラしてしまえば、単純な計算処理なのです。
1)簡単なアルゴリズム(手順や計算方法)を覚える事です。
最初は簡単な10行くらいのプログラムでも良いんです。
例えば、1から10まで足したらいくらになるのか、計算結果を画面に表示させる。これくらいでしたらプログラミング言語:VB(ビジュアルベーシック)なら、10ステップ(1行1ステップという)くらいで記述できるでしょう。
A=0
A = A+1
こう書けば、Aに1を足して、Aに1を入れる。 A = 1 になっているでしょう。
A = A+1 を繰り返す(ループ)には?
A=0
Do Until A> 10
A = A+1
Loop
これは、Aの値が10より大きくなるまで、A = A+1 の計算を繰り返すと言う記述です。
「Do Until」は、繰り返しの命令文で、その中に、A = A+1 を入れておくと、勝手に計算してくれます。
多分、この程度の意味をスッと認識出来ない方は、苦労するでしょうが、ここが一番、キモになる部分なのです。
さて、答えは、Aの値は、いくつのなる?
このように、どう動くのか? 理屈がわかれば簡単でしょう。 これが分からないと、ちょっと、頭の回転が悪いと思いますが、慣れれば、できるでしょう。
文法も大事ですが、初心者はまず、どう記述すれば、どう計算結果が出てくるのかを複数のサンプルプログラムを自分で書いて、そのパターンを覚える必要がありますが、これは、文法が違うだけで、どのプログラム処理も同じようにアルゴリズムを組み立てるのです。
私も、最初は、凡人ですので、言語を決めて、処理上、色々な処理パターンの問題(サンプルプログラム)を作ったリ、作ってもらい、参照して、この処理の時はこう記述すると覚えれば、作れるようになるのです。
最初、1か月くらい、簡単な処理も作れませんでしたが、問題(処理内容)と回答のプログラミングを何回も、紙に書いて写しているうちに、ある日突然、本当にある日突然ですが、プログラムを書けるようになっていたのです。
多分、パターンを覚えてしまえば、もうこっちのものですね。
これができれば、後は、細かい「文法」表現などは、その都度、調べて覚えれば良いだけです。
3.どんな言語できっかけを作ればいいのか
1)WEB系の言語
HTML、CSS、JavaScript、PHP
どれもWEBページを作成するのは大事な言語ですが、ホームページやブログサイトを作りながら学ぶ事が出来ますが、これらでは、ある分野に特化しすぎた言語ですので、これ専門にやる方なら良いですが、プログラミングの基礎を学ぶには、あまりお勧めできません。
「将来性が高いプログラミング言語」で云えば、1位は同じく「Python」、2位は「Java」、3位は同率で「C言語」「JavaScript」「PHP」という結果となっていますので、知能の高い方なら。いきなりこのような言語を学習できるでしょう。
2)基礎から学ぶのでしたら、VBA(Visual Basic for Applications)がお勧めです。
なぜなら、ExcelやAccessといった事務作業でよく使われるソフトのツール開発で人気の高いプログラミング言語です。
・初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法
ですので、環境の無い方でも、「Microsoft Office」のExcelやAccessでもあれば、練習できます。「Excel」のマクロは、VBA言語で書かれていますので、すぐにでも練習できます。
プログラムと言うのは、言語が同じなら、その処理を部品としても使用できますので、色々な処理を作れば作るほど、処理を記述するプログラミングが蓄積してゆきます。 パソコンですので、いつでもCOPY、張り付けして、その資産を使う事ができる様になるのです。
作れば作るほど、自分でコーディング(記述)した「ソース プログラム」が蓄積してゆきますので、同じ言語で作業する時に、圧倒的に有利と云うか、効率的になります。
どうでしょうか、このプログラミングのための「アルゴリズム」をさっさと覚えてしまいましょう。
そうすれば、どの言語でプログラムを作る時に楽になると云うか、基礎ですので、これを覚えなければ、プログラムは一生作れないでしょう。
小さな会社で、業務処理プログラムシステムを自社で作りたいなら、Accessが、一番導入しやすいのではないかと思います。Accessは開発者用ではなく、元々、コンシュマー向けのデータベース作成システムプログラムなので、Excelのマクロを使いこなしている方なら、プログラミングの知識が不足していても、開発することが可能でしょう。
4.日本のIT業界
日本の会社のプログラマーになりたいと思っていても、水をさすような言い方をしますが、日本のIT業界は、通常のソフトウエア会社に就職できたとしても、人月商売の比率が高く、世界に類を見ない「多重下請け構造」があるから、自分が思い描いていた様な仕事にありつく事は無いかもしれません。
海外のGAFAで働く様な夢を見ても、叶わないでしょう。
—関連記事—
・マイクロソフトの「Access」の便利な機能を使って、業務アプリケーションを作成して活用する。
・Microsoft社のデータベース作成ソフト「Accessの勧めと言いたいけれど。。 。」
・第1回 マイクロソフトのオフィスアプリの一つ「ACCESS」でデータベースを作成(開発)するには
Sponsored Links