プログラミング独学勉強法は何から?短期間で、起業家でデビューするには?

google colab構文エラーの表示画面

本サイトには、広告プロモーションが含まれております。

最初にプログラミングの独学の勉強法を志向したあなたは、プログラマー向き!

全くのプログラミング初心者であった管理人は、フリーランスのプログラマーになるまでの起業の過程で時間とお金を無駄にしました。

この経験をもとに、これから独学でプログラミングを勉強されるあなたが、気軽にスタートできて、かつ挫折しないプログラミングの学習法をお伝えします。

この記事を読むことで、プログラミング学習の初期にありがちな、①時間を無駄にする独学勉強法や、②プログラミングスクールに依存して、お金を無駄に使う学習法を回避することができます。

独学を志向した事自体に、すでに、プログラマーの素質があります。

プログラマーは、実務についてからは、なにかわからないことが起きてしまったときに、自力で解決するスキルが要求されます。

自分で書いたコードに問題があるときに、他人から、その解決策を導き出そうとしても、うまく解決できない場合が多く、解決までの間に時間がかかってしまうからです。

ただし、全くの初心者が、0から独学で勉強しようとすると、時間を無駄にすることもありますし、また難易度が高いと感じて、挫折してしまうこともあります。

だからといって、すぐにスクールに通うことも、お金や時間を無駄にしてしまうことが多いです。

プログラミング 独学 何から始める?

どのプログラミングスクールも初心者には、PHPというプログラミング言語を勧める傾向があります。

 

PHPの得意とするWEBプログラミングが、案件としての参入障壁が低い上、クラウドソーシングなどの案件募集サイトで、スクールの生徒に応募させ、案件を手掛けたという既成事実としてのポートフォリオを構築させるためです。

※ポートフォリオとは、プログラマーの作品集のようなものです。作品集としてのポートフォリオは、プログラミングの会社へ、プログラマーとして応募する際に、添付を要求されます。

一見案件を初心者がすくに受注できて、効率がよさそうに見えますが、WEBプログラマー以外には、つぶしが効かないというデメリットがあります。

たとえばサウンドプログラマーになりたいのなら、PHPからC++言語にプログラミング言語を移行する必要があります。しかし、C++言語をPHPのあとに勉強するには、障壁が大きいです。

WEBプログラマーを勧めるプログラミングスクールの中には、PHPとワードプレスというブログ構築システムを同時に学習させるスクールもあります。

ブログ構築システムといっても、世界中の企業のHPや博物館の公式HPの作成などで、使用されるプラットホームなので、制作案件の需要があるのが、その理由です。

 

 

初心者が何から、プログラミング言語をスタートすべきか?を考える3つの視点!

 

  1. 気軽に始められる。環境設定の難易度に依存しない。
  2. 次のプログラミング言語に移行するときに最初に選ぶプログラミング言語の経験が活きる!
  3. 充実したサポートが、無料で受けられる。公知の言語で大多数のユーザ−がいる。

 

VBAは、気軽に始められ、案件を受けるために必要な言語に移行しやすいです。

VBA(Visual Basic for Applications)とは、ExcelやAccessなどのOffice製品のアプリケーションソフトで利用できるプログラミング言語です。

VBAはエクセルやアクセスの中にプログラミング言語やライブラリーなどの統合システムが、組みこまれていて、あらたに統合システムをPC内に構築する必要がないからです。

 

またエクセル作業の自動化をプログラミングできます。

その結果、今現在、エクセルで仕事や学問をこなしているビジネスパーソンや、学生さんのモチベーションは、上がります。

日々のエクセルで何時間もかかるルーチン作業を、ボタンワンクリックで1秒で自動でこなしてくれるプログラミングを誰でも、作れるからです。

自動化することを、コンピュターの世界では、マクロといいます。マクロをプログラミングする言語は、他にもあります。

とくに、マイクロソフトのオフィスのアプリケーションソフトを自動化するためのマクロをプログラミングする言語は、VBAといわれます。

 

他のプログラミング言語の本などで、独学で勉強をスタートすると、目的がないまま勉強が進むので、挫折率が高いです。

ウインドウズユーザーなら、通常エクセルはofficeとセットにして、OSと一緒にインストールしているので、エクセルさえ起動することができれば、簡単にプログラミングの環境設定ができます。

※ライブラリーとは、プログラミングに使用するメッソッド(特定の作業をするためにコーディングされたもの)を集めたもの!

※統合システムというのは、単にプログラミング言語をマシン言語に変えて、コンピューターに実行するための環境にとどまらず、コーディングにあたって必要なシステムが、全てそろったものを意味します。上記ライブラリーも必要なシステムの一種です。

VBAからPHPやPythonへ

VBAは、C++から派生したプログラミング言語です。C++は、プログラミング言語の基本型といわれる言語なので、VBAからPHPやPythonへ言語を移行することが容易です。

他の言語では、この統合システムの環境設定をするためのハードルが高く、初心者では、この環境設定の段階で、つまずき、挫折してしまいやすいです。

たとえば、Pythonでは、Anacondaと言われる統合システムの環境を設定しないと、プログラミングができないという難点があります。

※Pythonは、google colaboratoryを使ってもプログラミングできます。ただし、Pythonを使用する上でのライブラリーを都度、コードを打ち込んでgoogle colaboratoryに読み込ませなければ、ならなく、初心者には、かなり困難を伴います。

C++がわかるようになると、たとえばWindows、macOS、Linuxなどの、OSをカスタマイズするといった高度のプログラミング

も可能になります。

VBAなら、公知のプログラミング言語なので多くの先輩ユーザーに無料で聞ける!

無料のプログラミング専用の質問サイトやQAサイトを利用すると、VBAに関しては、公知のプログラミング言語で、ユーザー数が多いので、すぐに質問にたいする回答が得られます。

代表的な無料プログラミング専用 QAサイトを紹介しておきます。

 

QAサイト テラテイル

https://teratail.com/

 

  1. サイトの利用料は、完全無料なのに、質問への回答率は、90%以上です。
  2. 独学で、プログラミングを勉強している人には、最適です。
  3. メールアドレスだけで、アカウントを作れます。

プログラミングの独学勉強法は本を読んでも、無意味?

コーディングには、プログラミング言語を超えて、型のようなものがあります。

たとえば、①関数の宣言や、②関数に引数があるものと、ないもの、③引数に数値やデータを入れて、その関数で処理した結果を、値にして、④戻すといった共通の型のようなものがあります。

③で利用するのが、⑤変数です。変数の中に、値を入れて、その変数を引数にして、関数の処理を行わせます。

コンピューターに入力した値を、変数に記憶させ、この記憶された変数をプログラミングによって定立した関数に代入して、処理します。処理した結果を、値の形に戻して、出力し、この出力結果を、人が、プリントアウトしたりして利用するわけです。

関数で引数のないものは、関数での処理がプログラミング作業の中で、一回だけ行うものです。

引数というのは、その関数での同じ処理パターンを、入力する値を変えて、何度か行うときに必要な概念です。異なる値を使用させる際の公式の一部のようなものです。

処理が一度きりの関数なら、公式として、定立させる必要がないのです。

このような型は、どのプログラミング言語でも共通している型です。
個々のプログラミング言語によって、関数の宣言の仕方や、引数の書き方、変数の代入の仕方、変数をその関数に代入して処理した結果を出力する方法、などをコーディングしていく際に、表現方法に差が出てくるだけです。

こういう型は、ある意味で、実際にコーディングしてみて、わかることです。

5チャンネルより引用!

35:以下、5ちゃんねるからVIPがお送りします 2021/12/25(土) 09:31:13.866 ID:vU7A9QRg0XMAS

老舗のヒューマンアカデミーとか職業訓練校は流行り物は勉強してないけど基礎がしっかりしてるから積極採用している

流行り物なんて入社後にどうにでもなるからな
論理思考や基礎の方が重要

論理思考や基礎をしっかり指導するヒューマンアカデミーの資料はこちら

流行りもののプログラミング言語よりも、基礎的な型を教えるスクールは、企業の評価が、高いです。

入社後に、スクールで習った言語とは、異なるプログラミング言語で仕事をさせても、吸収が早いからです。

VBA以外では、初心者は、どんな言語で勉強すべき?主にMACユーザーへ!

たとえば、MACのPCを使用しているプログラミング初心者は、OSで、ウインドウスを利用するわけではなく、エクセルをウインドウスで使用するようなインターフェイスで、使用することが、できません。

そこで、主にMACのPCユーザーのプログラミング初心者は、どのようなプログラミング言語を選ぶべきか?ウインドウスユーザーとは、別個に考えなければ、なりません。

というのも、上記VBAは、ウインドウスでエクセルを開いたときのインターフェイスでのみ、プログラミングが可能だからです。

MACユーザーはC言語とPythonがおすすめ!

結論からいうと、MACのPCユーザーのプログラミング初心者は、google colabo で実行できるプログラミング言語を選ぶのが、得策です。

この観点からは、C言語とPythonをおすすめします。

というのも、どんなプログラミング言語も、実行環境を初心者のPCに、インストールすること自体が、つまずき箇所となってしまうからです。

google colaboなら、ブラウザにGMAILとグーグルクロームをインストールするだけで、MAC・OSでも、問題なく利用できますし、C言語とPythonなら、コーディングと実行が可能だからです。

 

マザー言語の要素を兼ね備えたC言語とPython

初心者が取り組むべきプログラム言語としては、プログラミング言語のマザー言語とでもいうべき、基本を備えた言語が理想的です。

というのも、初心者が、中級者へと、進化していく際に、最初に習うプログラミング言語を、特殊な言語で習得してしまうと、別の言語の仕組みを理解するのが困難になるからです。

C言語は、初心者が、勉強する言語としては、あらゆる言語の、基本となるべき要素を、兼ね備えています。
ただし、この言語を極めようとすると、かなり難解と言われています。
とくに、ゲームやアプリを実装する言語として、極めようとすると、かなり困難な言語です。

 

Pythonも、初心者が、勉強する言語としては、あらゆる言語の、基本となるべき要素を、兼ね備えています。
ただし、この言語の機械学習の分野を極めようとすると、かなり難解と言われています。
とくに、深層学習をさせようと、コーディングをするには、行列などの大学数学の知識が、要求されてきます。

そこで、C言語では、ゲームソフトやアプリとして実装するレベルまではいかずに、またPythonでは、深層学習までは、行わずに、ごく基本的な内容をコーディングして、その内容を実行するレベルの勉強を行います。

このような内容の勉強でしたら、google colabo で十分に機能します。

初心者のうちは、プログラミングした内容の文法エラーや、構文エラーなどを、どう修正するか?をコーディングを通じて、学ぶ時期です。

google colaboでは、文法エラーや、構文エラーを、英語で、表記してくれます。さらに、エラー内容を、詳解したページのリンクを貼ってくれます。

英語のエラー内容が、どんなものか?理解できないと、中級者になれず!

google colabo構文エラー表示画面
中央に、SyntaxErrorという表記があり、下部に、詳解するためのリンクのタブがあります。

英語が苦手な方でも、google colaboで、エラーを詳解したページを、グーグルクロームで表示して、英訳すれば、日本語でなんとか、理解できるレベルで、内容がわかります。

英語をググるのも、プログラミング初心者としては、重要な勉強のプロセスです。
ほとんどのプログラミング言語のエラー表記は、英語で表示されてしまうからです。

まずは、基本的な内容をコーディングして、その内容を実行し、プログラミングした内容通リの結果が、実行されているか?を確認するところから、スタートしましょう!

そのためのコンパイラや統合環境を、PCにインストールするのは、意図した通リのプログラミングが、実行できるようになってからでも、遅くはありません。

初心者は、コンパイラーや、プログラミング言語とその環境を具備させる様々な統合環境を設定するところで、すぐに挫折してしまうからです。

まずは、初心者として、できなければならないことを、クリアし、その後、中級者としてできなければならないことに進むようにしましょう!

そうでないと永遠の初心者で、プログラミング学習を終了してしまう可能性が高いからです。

エラーを修正すると、実行した結果が、google colaboに表示!

google colaboでC言語の構文エラーが、修正されて、実行ができた画面

前喝の構文エラーの原因が、%%が、小文字になっていない点にあったので、小文字に修正し、実行が、無事完了した画面!

プログラミングの独学勉強法は、コーディングも書籍の精読も両者必要である。

 

プログラミング言語を超えた型のようなものは、書籍で勉強するだけだと、気づかないことが、多いです。このため、プログラミングはとかく手を動かすもので、本を読んでも何も得られないということがスクール系のブログや書籍でまことしやかに囁かれることがあります。

ただし、この型は、コンピューターの動きが、入力→記憶→処理→出力という流れに沿って、手続き的に進行していくという基礎知識がないと、なぜ異なるプログラミング言語で共通しているということに気づけないのです。

このようなコンピューターの基礎知識は、書籍などを通じて、系統立てて理解しないと、身につかないものなのです。

プログラミングを何から始める!コーディングからか?書籍を読むことからか?

いずれかという発想ではなく、ゴール達成に必要な要素なら、いずれも必要という発想が重要です。

どの分野のプログラマーになるとしても、実務にて一人立ちしてからは、独学で問題点の解決策を探したり、必要とあらば、検索した情報を組み合わせて、解決策を作ることも要求されてきます。

そのためには、コーディングのスキルだけではなく、ハードウェアーの基礎知識やプログラミングがなぜ動くのか?といった原理的で体系的な理解と知識が必要です。

自分の書いたプログラミングが、エラーを起こした際に、当該、エラーが、入力レベルでのトラブルか?処理レベルでのトラブルか?出力レベルでトラブルか?によって、解決策の方向性も変わってくるからです。

このような知識は、定評のある書籍を読むことで、得ることが可能です。

参考図書
コンピュータはなぜ動くのか-知っておきたいハードウエア&ソフトウエアの基礎知識-
著者名 矢沢久雄