はずれる::テック

一歩はずれると、いろんなものが見えてくる

プログラミングを学ぶなら「とりあえずHTML」はやめるべし

ざっくり

1. プログラミングで何をしたいのか考えるべし
2. とりあえず「HTML」ではなく、とりあえず「実装」
3. 言語は自然と学びたくなる

プログラミングを習得しようとしたとき、とりあえず言語の学習から始めたものの続かないケースがよく見受けられる。その要因はいくつか考えられるが、学習のアプローチが間違っていることがある。

もしあなたがプログラミングを始めようとしている人で、「とりあえずHTML」「とりあえずJavaScript」等々、深く考えずなにかしらの言語を学ぼうとしているなら、続かない危険性がある。

この記事は、そんな人に対する処方箋になればいいと思って書いている。

まず、プログラミングで何を実現したいのか

f:id:gaku2n:20170524161918j:plain 「学びたい」と思ったからには、何かきっかけがあるはずである。それが何であったか、確認してみよう。 ブログをカスタマイズしてみたい、Webサイトをつくってみたい、アプリをつくってみたい、お金が稼げそう、手に職ををつけたい…色々あるだろう。

強い気持ちがなくても構わない。そもそも真に強い気持ちがあったなら、あなたはすでにプログラミングを習得しているはずだ。 このきっかけ次第で、学び方のアプローチは変わってくる。考えすぎる必要はないが、自分の心に確認してみよう。

とりあえず実装してみる

f:id:gaku2n:20170524161817j:plain きっかけを確認したら、実現方法を直接学ぶのが良い。外国人と喋りたいなら、文法を学ぶ前に「Hello.」と言ってみよう、ってことだ。

例えば、ブログのカスタマイズをしたいというのがきっかけなら、HTML/CSSを学ばず、カスタマイズのやり方をいきなり学ぶ。 見出しのデザインを変えたいなと思ったら、「見出し デザイン」などでぐぐれば、コピペでOKなCSSがたくさんでてくる。 まずはこれで実現してみよう。このとき、最初はあまり複雑でないものがオススメだ。

(例えば「サルワカ」などがオススメだ) saruwakakun.com

実現できたら、なぜうまくいったのか調べてみよう。 例えば以下のようなコードでカスタマイズをしたとする。

h1 {
border-bottom: solid 1px black;
}

このとき「border-bottom」とぐぐれば、実現できた理由がわかるはずだ。納得感があったら、確実にあなたは学ぶことができている。

もしここで「border-bottom」をぐぐる意味すらわからなければ、ここで初めて言語(HTML/CSSなど)がどんなものなのか学ぶと良い。 オススメは、動画でプログラミングを学べる「ドットインストール」というサイトで全体像をつかむことだ。

例えば、HTML入門やCSS入門をさらっと見てみよう。覚える必要は一切ない。どうしてそうなるのか、深掘りしすぎる必要もない。「ふーん、そうやればこうなるのかー」程度で十分である。

この時点ではいわゆる「写経(コードを自分も書きながら学ぶこと)」をする必要もないが、手持ち無沙汰になって集中できない人は、ぜひ自分でコードを書きながら学んでみよう。

言語を一通りさらい、ぐぐってもすぐわからないようなものは、まだあなたには早いので深掘りするのはやめておこう。

もしあなたがWebアプリやスマートフォンのアプリをつくりたいと思っているのなら、「Ruby」や「Swift」を学ぶのではなく、アプリのつくりかたを直接学ぼう。以下のような「超入門書」がオススメだ。

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門

やさしくはじめるiPhoneアプリ作りの教科書 【Swift 3&Xcode 8.2対応】 (教科書シリーズ)

やさしくはじめるiPhoneアプリ作りの教科書 【Swift 3&Xcode 8.2対応】 (教科書シリーズ)

はじめてのAndroidプログラミング 改訂版

はじめてのAndroidプログラミング 改訂版

その後、自然と言語を学びたくなる

f:id:gaku2n:20170524162009j:plain 上に書いたような流れで「実現」を重ねたのち、あなたは多くのことができるようになったはずだ。しかし、それと同時に、かゆいところに手が届かなかったり、調べてもなぜそうなるのかよくわからないと思うことが増えたはずだ。

このときこそ、言語をしっかり学ぶときである。きっと面白いはずだ。「こんなことができるのか」「あれはこういうことだったのか」と発見がたくさんあるはずだ。ここまでくればしめたもの。気の赴くままに学べばあなたは立派なプログラマーだ。

きっかけが「お金稼ぎ」や「手に職をつけたい」の場合

お金が稼ぎたい・手に職をつけたい、というのが目的なら、どう稼ぐのか・どう仕事したいのか考えてみると良い。 この場合は、将来性のあるものに手をつけてみよう。センスや興味次第だが、分野を決めたら同様に「実現方法」を学んでみよう。

ただし、「お金を稼ぐ」「手に職をつける」というモチベーションでプログラミングを学ぶのは、「つくりたい」系のモチベーションに比べて難易度が高いことは覚悟しておこう。

まとめ

プログラミングを学ぶなら、プログラミングで何を実現したいのか確認し、言語を学ぶ前に実現方法を学ぶのがオススメである。

おまけ

プログラムを習得したいと思う人に、実践の場を用意するサービスを考え中