最近読者の方から、「まったくの未経験からプログラミングを勉強したいのですが、何から手をつければいいですか?」と続けて問い合わせをいただいた。
世の中にプログラミングの参考書や学習サイトはあふれているが、それだけに、何を最初にやればいいのか初学者にはわかりにくい。
僕ももともとは文系大学生で、就職するまでは1行もプログラムを書いたことがなかったが、IT企業に内定をもらったのを機に勉強を始め、今では海外でプログラマとして働けるまでになった。
また2年ほど、プログラミング未経験の大学生にボランティアで開発技術を教えていたこともある。そこで教えた学生の中には、有名IT企業のプログラマとして就職した人もいる。
その経験を踏まえて、まったくのゼロから独学でプログラミングを学習するための計画を提案したい。これからプログラマを目指す人の参考になれば幸いである。
目次
ウェブサービスの技術を勉強しよう
初学者の方にはまず、ウェブサービスの勉強から始めるのをオススメする。ウェブサービスとは主にブラウザ(Microsoft Edge、Chrome、Safariなど)で動くシステムのことで、このブログが使っている「はてなブログ」もウェブサービスの一種だ。
なぜウェブサービスなのか。その大きな理由はプログラムを動かすのが簡単だからだ。
プログラミングを学ぶには、プログラミングを行う環境を整えなければならず、ここでつまづいて挫折してしまう人もいる。スマホアプリ、特に iPhone アプリ開発はこの環境構築がかなり面倒くさい。高額の年会費を払う必要まである。
しかし、ウェブサービスのプログラミングならブラウザとエディタ(メモ帳)があれば始められる。発展的な内容に進むにしたがって、ウェブサーバやデータベースなど必要なものを追加していけばいいので簡単だ。最初は楽に作れるものから覚えよう。
また、ウェブサービスの基本的な構造(フロントエンド、サーバサイド、データベース)はスマホアプリにもそのまま応用が効く。世の中のITサービスがどう作られているのか、基礎の部分をしっかり理解すれば、アイデアを自由に実現化できる。
ということで、簡単に作れるウェブサービスで、応用の効く知識をしっかり身につけることを強くオススメする。
「ドットインストール」を活用しよう
今はインターネット上で無料でプログラミングを学べるコンテンツが充実しているので、わざわざ入門書を買う必要はない。まずはオンラインで勉強し、もっと深く学びたいと思ったときに初めて専門書を買えば十分だろう。
無料のオンライン講座では、「ドットインストール」というサイトが有名だ。僕も、プログラミング未経験の学生に開発技術を教える際には、まずはドットインストールのレッスンを受けることを勧めていた。
ドットインストールの画面
ドットインストールでは、1レッスンが3分ほどの短い動画で構成されているので、テンポよく進めていくことができる。動画の視聴だけで完結するものもあるが、コーディングを伴うレッスンでは、もちろん実際に手を動かすことが求められる。環境構築やファイル作成も自分で行う必要があるものの、動画で丁寧にレクチャーしてもらえるので心配ない。
次に、ドットインストールの中でどの講座から始めればいいのか紹介していこう。
学習すべき内容
HTML, CSS ー 内容を記述する言語 ー
HTML と CSS は、ウェブページの内容とレイアウトを記述する言語だ。普段パソコンやスマホから見ているウェブページは主にこの2つを組み合わせて作られている。HTML が文書の構造、CSS がそのレイアウト(画像の配置、文字の大きさなど)を定義する。
厳密に言うとプログラミング言語ではないが、ウェブサービスを開発する上で避けては通れないし、さほど難しくはないので学習しておこう。
レッスンドットインストール HTML入門 、CSS入門
JavaScript ー 画面の情報を処理する言語 ー
JavaScript は、主にブラウザ上で動くプログラミング言語である。画面上のアニメーションなどを実装するのに使われている。
最近はサーバサイド処理に使われたり、スマホアプリも作れるようになったりと活躍する場面が広がっており、まさにコスパ抜群の言語といえる。テキストエディタとブラウザさえあれば動かせる簡易さが魅力で、プログラミング初心者にはぜひ覚えてほしい。
JavaScript の基本を覚えたら、jQuery にも挑戦してほしい。これは JavaScript をより簡単に記述するために開発されたもので、多くの現場で使われている。アニメーションや情報の処理が簡潔に実装できる、非常にパワフルな技術なので、覚えればプログラミングがよりいっそう楽しくなる。
MySQL ーデータベースを構築しようー
ほぼ全てのシステムにおいて必須となっているデータベース。システムのユーザ、ブログの記事、通販サイトの商品など、あらゆる情報を格納するための技術だ。当然、プログラマもそれを扱う知識を持っていなければならない。
データベースにはいろいろ種類があるが、MySQL で基本を勉強しておけば、ほかにも応用が効くので大丈夫だ。
PHP ーサーバで情報を処理するための言語ー
最後はサーバサイド処理を PHP で身につけよう。
PHP の役割は、ブラウザとデータベースの橋渡しだと考えればいい。ブラウザから入力された値を受け取って処理しデータベースに保存したり、またデータベースから情報を取り出してブラウザに表示するといったことができる。
レッスンPHP入門、PHPデータベース入門
ここまでくれば、ウェブサービスの基本的な技術が身についたと言っていいだろう。
もちろんまだまだ先は長いのだが、ここまでレッスンを完了できていれば、ひとりで学習を続ける体力が備わっているはずだ。あとは個人の興味にしたがって、トピックを選んで勉強を続ければいい。Java や C# といった他の言語を学ぶもよし、すでに学んだ JavaScript や PHP の世界を深掘りするのもよしだ。
参考書籍
最後に、参考書籍を一冊だけ紹介したい。
その名の通り、読みやすいコードを書くためのテクニックが詰まった一冊。
プログラムは動けばいいというものではない。実際のシステム開発はチームで行うことが多いため、ほかの人から見て読みやすいか、メンテナンスしやすいかなども重要になってくる。
本書では、変数名のつけ方や関数の切り出し方、コメントのつけ方など、初心者がおろそかにしがちなポイントがきっちり押さえられている。自己流でおかしなコードを書き続けていると変な癖がついてしまい、いざ仕事で開発を始めたときに苦労するので、できるだけ早いうちに「きれいなコードとはどのようなものか」を理解したほうが良い。
おわりに
プログラミングは、世界中どこでも通用する技術だ。IT業界はとにかく人手不足であり、それなりの技術さえあれば国を選ばずに働くことができる。日本国内だけでなく、海外でも働ける可能性が手に入るという意味で、非常に価値のあるスキルだ。
また、プログラミングと聞くと、おそろしく難しいものかのように身構えてしまう人がいるが、決してそんなことはない。難しそうに見えるだけで、ごく普通の論理的思考力さえあれば、誰にでも身につけることが可能だ。
なんのスキルもない文系大学生だった自分も、プログラミングができるおかげで、海外で働く生活を実現するに至った。プログラミングを身につけることで、きっとあなたの人生にも新しい扉がひらけるはずだ。ぜひ、軽い気持ちで挑戦してみてほしい。