目次
なぜ、プログラミング独学は挫折するのか
プログラミングを独学する方法が話題になったことがあります。プログラミング独学を続けるのは難しいもので、途中で挫折してしまう人もいます。若い女性がパソコン音痴から一発奮起して、プログラミングを学習しても、実用になるアプリを作れるようになるには先が長いのです。
それでは、どんな人がプログラミングを学び続けることができるのでしょう? 自然言語である英語をマスターした人の話が参考になります。
- アメリカでお寿司屋さんを開業しようとした人は、英語を短期間でマスターできたと聞きました。
(Hapa 英会話「英語を話せるようになった人に共通する3つの特徴」)
プログラミングをマスターする方法と、英語をマスターする方法は同じところがあります。
英語は人と情報交換をするためのツールです。情報交換をする目的があって、その目的のために英語を習得しようとします。外国から来たお相撲さんは日本語が上手。お相撲さんとして生きていくには日本語が必須条件ですから、学び続けるしかありません。その結果、幕内上位の関取にはなれなかったとしても、日本語は身につくことになります。
プログラムは問題を解決するためコンピュータに指示をするための言語です。問題(目的)を解決するための手段という点では英語や日本語と同じです。
問題を解決するためにプログラムを学ぶのですが、最初は知識も少なく、いきなり高度なことはできません。いきなり WordPress のような CMS を作ったり、「はてな」のようなサイトを運営しようとしても無理・・・結局は目的を見失ってしまうことになります。
自分の能力にあった適切な課題を見つけ、それをプログラムで解決する。それが出来たら次の段階へレベルアップする。そういう作業を続けることが出来れば、高いレベルまで昇ることができます。
しかし、これを独学で実際に続けるのは難しい問題です。仕事として会社に潜り込めば、テーマを与えられて、それを解決しながらスキルアップできるかも知れません。
しかし、スキルや経験がないのに会社に潜り込むのは難しいのです。
データベースから学べば挫折しない
では、どうすれば挫折しないしないでしょうか。
何から学び始めるのがいいでしょう?
コンピュータの構造、OS(Linux)、ネットワーク、プログラミング言語(C、C++、Java、C#、PHP、Python、Ruby…)、HTML/CSS、JavaScrpt、データベース…。
プログラミングで学ぶべきことは山のようにあります。
私はデータベースから学習を始めることを提案します。
データベースとはどんなものか。簡単に言うと、データベースには Excel のような表がいっぱい入っています。その表へデータの入出力、検索、修正、削除などを「SQL」という言語で行うものです。
こちらを見ていただけば分かりやすいと思います。
データベースから学習を始めると何が良いのでしょう。
- いきなり仕事に使える。
年賀状名簿管理、社員名簿、備品管理、在庫管理、顧客管理、学生管理・・・
程度の差こそあれ、全てデータ管理です。
仕事に使えると仲間や上司から褒められ、やる気が出ます。 - Google、Amazon、Facebook、はてな、Yahoo などサイトの心臓部でデータを管理しているのはデータベースです。
データベースを学んで無駄になることは決してありません。 - テキストベースでデータベースを学び始め、スキルに応じて発展させることが出来ます。
私がデータベースから学ぶことをお薦めする一番の理由は、最後の「段階的にスキルを上達させることが出来る」からです。
どんなふうにスキルアップ出来るか。
どんなふうにスキルアップが可能なのか、例を書いてみます。
- 最初はテキストベースでデータベースを管理します。
(MySQL、PostgreSQL ならお金がかかりません)
CSV ファイルを読み込んで Excel とのやりとりをしてもいいでしょう。
Windows に Linux 環境を導入して、cut、paste で大量の SQL文を作ったりも出来ます。
ただ、コマンドを使える人しかデータベースを操作できないという問題があります。(GUIで管理するツールはあります)
それを解決するのを、次の段階の目標とすれば良いでしょう。 - テキストベースのコマンドをプログラム言語で作り、GUI から誰でも操作できるようにします。
そうすれば誰でも操作できます。
ネットワーク経由でデータベースにアクセス出来るようにすれば、さらに便利になります。
セキュリティを学ぶ必要がありますが、グローバルIPがあれば、どこからでもアクセス出来ます。
プログラム言語は Python(将来は AI を学びたい人向け) とか Ruby(Ruby on Rails 学びたい人向け) がおススメ。
GUI は wxWidgets がおススメです。理由は、 Linux, Windows, MacOS に対応したオープンソースの GUI ツールキットだからです。 - Linux サーバを立て、Web サービスとして実行出来るようにする。
それにはいろんな知識が必要になります。
もちろん、これだけが正解ということはありません。
途中から、別の道へ進むのもありでしょう。
しかし、データベースから学び初め、実用になるアプリを作り続ければ、挫折せずに学び続けることができるのではないでしょうか。
まとめ
挫折しないで学び続ける方法を考えてみました。
-
なぜ、プログラミング独学は挫折するのか。
いきなり高度なプログラムを作ることは難しいから。
- 自分にあった適切な課題を見つけてプログラムで解決する。それが出来たらレベルアップ。その繰り返しが出来れば挫折しない。
-
それを実現するため、私はデータベースから学習を始めることを提案する。
-
データベースから学べば、いきなり仕事に使え達成感がある。
- テキストベースからGUI、ネットワーク、Webアプリとスキルアップが可能です。
いかがでしょうか。
データベースからプログラミングを独学してみませんか?