シロッコの青空ぶろぐ

高卒シニアが低学歴コンプレックス脱出のため、放送大学の人間と文化コースで学んでいます。通信制大学で学ぼうとする人を応援したい。学んで成功する人が増えれば、私のやる気も燃えるはず。

【プログラミング独学】挫折しないで学び続ける方法

f:id:sirocco:20200525033339p:plain

目次

なぜ、プログラミング独学は挫折するのか

プログラミングを独学する方法が話題になったことがあります。プログラミング独学を続けるのは難しいもので、途中で挫折してしまう人もいます。若い女性がパソコン音痴から一発奮起して、プログラミングを学習しても、実用になるアプリを作れるようになるには先が長いのです。

それでは、どんな人がプログラミングを学び続けることができるのでしょう? 自然言語である英語をマスターした人の話が参考になります。

プログラミングをマスターする方法と、英語をマスターする方法は同じところがあります。

英語は人と情報交換をするためのツールです。情報交換をする目的があって、その目的のために英語を習得しようとします。外国から来たお相撲さんは日本語が上手。お相撲さんとして生きていくには日本語が必須条件ですから、学び続けるしかありません。その結果、幕内上位の関取にはなれなかったとしても、日本語は身につくことになります。

プログラムは問題を解決するためコンピュータに指示をするための言語です。問題(目的)を解決するための手段という点では英語や日本語と同じです。

問題を解決するためにプログラムを学ぶのですが、最初は知識も少なく、いきなり高度なことはできません。いきなり WordPress のような CMS を作ったり、「はてな」のようなサイトを運営しようとしても無理・・・結局は目的を見失ってしまうことになります。

自分の能力にあった適切な課題を見つけ、それをプログラムで解決する。それが出来たら次の段階へレベルアップする。そういう作業を続けることが出来れば、高いレベルまで昇ることができます。

しかし、これを独学で実際に続けるのは難しい問題です。仕事として会社に潜り込めば、テーマを与えられて、それを解決しながらスキルアップできるかも知れません。

しかし、スキルや経験がないのに会社に潜り込むのは難しいのです。

f:id:sirocco:20200608064359p:plain

データベースから学べば挫折しない

では、どうすれば挫折しないしないでしょうか。
何から学び始めるのがいいでしょう?

コンピュータの構造、OS(Linux)、ネットワーク、プログラミング言語(C、C++、Java、C#、PHP、Python、Ruby…)、HTML/CSS、JavaScrpt、データベース…。

プログラミングで学ぶべきことは山のようにあります。

私はデータベースから学習を始めることを提案します。

データベースとはどんなものか。簡単に言うと、データベースには Excel のような表がいっぱい入っています。その表へデータの入出力、検索、修正、削除などを「SQL」という言語で行うものです。

こちらを見ていただけば分かりやすいと思います。

データベースから学習を始めると何が良いのでしょう。

  • いきなり仕事に使える。
    年賀状名簿管理、社員名簿、備品管理、在庫管理、顧客管理、学生管理・・・
    程度の差こそあれ、全てデータ管理です。
    仕事に使えると仲間や上司から褒められ、やる気が出ます。
  • Google、Amazon、Facebook、はてな、Yahoo などサイトの心臓部でデータを管理しているのはデータベースです。
    データベースを学んで無駄になることは決してありません
  • テキストベースでデータベースを学び始め、スキルに応じて発展させることが出来ます。

私がデータベースから学ぶことをお薦めする一番の理由は、最後の「段階的にスキルを上達させることが出来る」からです。

どんなふうにスキルアップ出来るか。

どんなふうにスキルアップが可能なのか、例を書いてみます。

  1. 最初はテキストベースでデータベースを管理します。
    (MySQL、PostgreSQL ならお金がかかりません)
    CSV ファイルを読み込んで Excel とのやりとりをしてもいいでしょう。
    Windows に Linux 環境を導入して、cut、paste  で大量の SQL文を作ったりも出来ます。
    ただ、コマンドを使える人しかデータベースを操作できないという問題があります。(GUIで管理するツールはあります)
    それを解決するのを、次の段階の目標とすれば良いでしょう。
  2. テキストベースのコマンドをプログラム言語で作り、GUI から誰でも操作できるようにします。
    そうすれば誰でも操作できます。
    ネットワーク経由でデータベースにアクセス出来るようにすれば、さらに便利になります。
    セキュリティを学ぶ必要がありますが、グローバルIPがあれば、どこからでもアクセス出来ます。
    プログラム言語は Python(将来は AI を学びたい人向け) とか Ruby(Ruby on Rails 学びたい人向け) がおススメ。
    GUI は wxWidgets がおススメです。理由は、 Linux, Windows, MacOS に対応したオープンソースの GUI ツールキットだからです。
  3. Linux サーバを立て、Web サービスとして実行出来るようにする。
    それにはいろんな知識が必要になります。

もちろん、これだけが正解ということはありません。

途中から、別の道へ進むのもありでしょう。

しかし、データベースから学び初め、実用になるアプリを作り続ければ、挫折せずに学び続けることができるのではないでしょうか。

まとめ

挫折しないで学び続ける方法を考えてみました。 

  • なぜ、プログラミング独学は挫折するのか。

    いきなり高度なプログラムを作ることは難しいから。

  • 自分にあった適切な課題を見つけてプログラムで解決する。それが出来たらレベルアップ。その繰り返しが出来れば挫折しない。
  • それを実現するため、私はデータベースから学習を始めることを提案する。

  •  データベースから学べば、いきなり仕事に使え達成感がある。

  • テキストベースからGUI、ネットワーク、Webアプリとスキルアップが可能です。

いかがでしょうか。

データベースからプログラミングを独学してみませんか?