プログラミングの勉強を始めたいけど最初の言語は何を選べばいいの…?
このような疑問をお持ちの方に向けて、独学でプログラミングを習得した僕が、初心者の方が最初に学習するべきおすすめの言語がHTMLである理由をお伝えします。
この記事を読むことで、プログラミング初心者の方にとってHTMLが最初の言語としておすすめの理由がわかりまおす。
- これからプログラミングを独学で学ぼうと思っているけど何から勉強をするべきか迷っている方
- 作りたいもの・目指す先はまだ定まっていたいけどとりあえずプログラミングの勉強をスタートしたい方
- できるだけ挫折せずにプログラミング学習を継続したい方
今後、Webアプリ開発ができるようになりたいという方やWeb制作を副業にしたいという方には、以下の記事もオススメです。
【理由】なぜHTMLから始めるのか?
プログラミング初心者の方にとってHTMLが最初の言語としておすすめの理由は5つあります。
- 挫折しづらい
- ファイル管理やパスなどプログラミングで必須の概念に慣れる
- エディタの扱いに慣れる
- IT特有の「コードだらけの見た目」に慣れる
- Webアプリでは必須
順を追って解説していきます。
【理由①】挫折しづらい
個人的に、HTML/CSSから学習を開始する理由ランキング第1位はこの挫折しづらいです。
とても重要なポイントのため、詳細にご説明させて頂きますが、最後までお付き合い頂ければ嬉しいです。
独学でのプログラミング学習における挫折ポイント
プログラミングを独学で始める際のあるある話ですが、率直に言って、
独学でプログラミングの学習を始めると挫折率が非常に高い
です。
ある記事によると、「過去にプログラミングを挫折した経験がある」というアンケートで回答率が9割にも上ったそうです。
どうしてそんな状態になってしまうのかという理由について、これはあくまで僕の経験に基づく答えですが、独学でのプログラミングにはいくつかの挫折ポイントがあるためです。
詳しい話はまた別の記事でお伝えできればと思っていますが、挫折ポイントを項目でいくつか挙げると
- エラーを自分で解消できない
- しばらくプログラミング学習を継続しているけど上達している感じがしない
- 実際にソフトウェアなどを作成できるようになるまでの基礎学習の過程がつまらなくてモチベーションが下がる
このように、プログラミング学習にひとりで取り組もうと思った場合、挫折に繋がりやすいポイントがいくつか存在します。
これは僕個人の考えでもありますが、プログラミングを独学で習得したいのであれば、もっとも重要視すべきは
挫折をしないための工夫
です。言い換えると
勉強手順と勉強方法をある程度考えた上で学習に入るのが良い
と考えています。
スクールのように、いわゆるメンターがついた状態で学習を進められれば、アドバイスを受けながら、しかも実践を意識したプログラミング学習に取り組めるため挫折は非常にしづらくなります。
しかし、プログラミングで実際に何かを作れるようになるまでには多くの知識とプログラミングスキルが必要とされます。
それを、これまでプログラミングをまったくしたことが無いという方が、しかも独学で学ぼうとすると長い道のりの途中で精神的にしんどくなってしまう可能性が非常に高いのです。
独学でのプログラミングは挫折ポイントが多すぎるせいで自力で習得できる人の割合がとても少ないのです。
しかし、それはとてももったいないことなので、できるだけ挫折ポイントが発生しないような工夫をしながら学習を開始・進めることが大切です。
HTMLだと挫折しづらい理由
それではここで、プログラミング学習のスタートとしてHTML/CSSを推奨している理由を
挫折のしづらさの観点から3点ご説明します。
- 習得難易度が比較的低い
- 環境構築が不要
- 結果が視覚的にわかるためコーディングをしていて楽しい
HTML/CSSからの学習だと挫折しづらい理由①
HTML/CSSはコーディングの難易度が低く、覚えるべき要素も他の言語と比較して少ないため、習得までにかかる期間が短くて済む
もちろん、本格的にプロレベルまでスキルを磨こうとすると大変です。
しかし、初心者の方が自分である程度扱えるようになるというレベルに到達するまでには、
ほどの期間があれば個人的には十分かなと感じています。
「ある程度扱えるようになるレベル」の捉え方は人様々なのであくまでひとつの目安ではあります。
しかし、いずれにしても長い期間の勉強は必要としない言語なので、挫折せずに基礎は習得できるかと思います。
HTML/CSSからの学習だと挫折しづらい理由②
環境構築が不要なため
通常、プログラミング言語で記述したプログラムを実行するためには環境構築が必要です。
学習の中でコーディングしたプログラムをちょっと実行するだけでも実行環境が不可欠です。
これは、一部のプログラミング言語を除いて、多くの言語がサーバー上で実行されるためです。
対して、HTML/CSSは環境構築が不要です。
いま現在ご覧になっているchromeのような「ブラウザ」と呼ばれるツールが、HTML/CSSの実行環境そのものとなっているためです。
これは初心者の方にとって大きな利点です。
どうしてかと言うと、環境構築はある意味プログラミングの学習よりも難しく、初心者の方の中には自力で自分のPC上にこの環境を上手く構築できず(つまりエラーを解消できず)、そもそもとして自由に学習を開始することすらままならなくなる恐れがあるためです。
いまはprogateのようにプログラムを実行できる環境を提供してくれているwebサービスもあるにはありますが、それでも最終的には環境構築が不可欠で、初心者の方にとってはやはりハードルが非常に高いです。
これが挫折の元になってきますので、まずはHTML/CSSからの学習をオススメしています。
HTML/CSSからの学習だと挫折しづらい理由③
結果が視覚的にわかるためコーディングをしていて楽しいため
これは非常に重要なことで、他のプログラミング言語の場合、出力結果が視覚的に味気ないのが普通で、シンプルにインパクトが薄いです。
その上、最初の内は「結局この出力(結果)をどう活用していくの……?」となりがちです。
しかし、HTML/CSSは実際にwebサイトの見た目を構成するために使用されているため、コーディング結果を視覚的に確認できます。
そのため「自分の手でこれを作ったんだ」という実感を得やすく、率直に言って楽しいです。
- コーディング結果を視覚的に確認できるため学習の手ごたえを得やすい
- 実践的な活用方法もwebサイトと明確なため目的を見失わない
以上がHTML/CSSから学習を始めると挫折しづらいポイントでした。
- 習得難易度が比較的低い
- 環境構築が不要
- 結果が視覚的にわかるためコーディングをしていて楽しい
最初の言語選びはとても大切です。
いきなりJavaなどの難易度の高い言語に挑戦することも良いとは思いますが、無理をして挫折をしてしまうぐらいならば、最初はHTMLのように比較的、手を出しやすい言語から入ることをオススメします。
【理由②】ファイル管理やパスなどプログラミングで必須の概念に慣れる
プログラミングをしていく上で、絶対に欠かせない要素というものがいくつか存在します。
例えば、大きな枠で言えばデータベース・サーバー・(webアプリなら)セキュリティ
小さな枠で見るとパスやファイル管理の仕方などのようなものが挙げられます。
しかし、これらを一気に理解して習得していくことは相当な天才でもない限り不可能で、通常は誰もが順を追って1つ1つ少しずつ理解していくことになります。
HTML/CSSでは、上記で挙げた内、パス・ファイル管理の部分が必須となってきます。
反対に、データベースやサーバーあたりの知識はすぐに求められることはありません。
つまり、HTML/CSSから学習を開始することで、文字通り
スモールステップで必要不可欠な要素の学習に繋げることができる
のです。
これもひとつの挫折ポイント回避の重要要素で、まずは小さな範囲から確実に学習を進めていくことが大切です。
そして、パスやファイル管理(目的ごとにファイルを分けたりフォルダ階層を適切に扱ったり)などもプログラミングをしていく上で絶対に欠かせない要素のため、これらをHTML/CSSの学習段階でしっかりモノにしておくことは、その後の学習効率を上げることにも繋がってきます。
実際にwebサイトを公開したいときはレンタルサーバー・ドメインの契約が必要になります。
しかし、プログラミング開発でサーバーを扱う場合と比較すると、スキル感はかなり低くなります。また求められる内容もずいぶん異なってきます。
HTML段階では本格的な(それこそLinuxコマンドのような)ものはまだ必要ではないため、そこは誤解を生まないようにと思い、この場で補足させて頂きました。
【理由③】エディタの扱いに慣れる
前項のファイル管理やパスなどプログラミングで必須の概念に慣れるに近い内容でもあるのですが
エディタの扱いに慣れる
ことも、その後のプログラミング学習のハードルを下げる大切な要素のひとつです。
エディタとは?
そもそも「エディタとは?」という方に向けて簡単にご説明をすると、
ファイルの中身を編集するためのソフト
例えば、いまお使いになっているパソコンにメモ帳というソフトが必ず入っていると思います。
メモ帳は、別の言い方をするとテキストエディタです。
つまり、テキストを編集するためのソフトです。
ただのメモ帳でのプログラミングは非効率
HTMLを実際に記述していく際にも、このエディタを使用します。
しかし、メモ帳でガリガリとHTML……というよりも、プログラミングを行なっていくという方はほとんどいないのではないかと思われます。
ちょっとでもプログラミングのコードを見たことがある方ならお分かりかと思いますが、プログラミングは基本的には半角英数字・記号の集合体です。
端的に言って暗号のように見える節もあります。
これをただのメモ帳で記述していけば、入力ミスはもちろんのこと、どこで入力ミスしたのかを探すのもままならず、無駄に時間を費やしてしまいます。
プログラムはほんの1文字入力を間違えても正常に動かなくなります。(※HTMLではその限りではありません)
見方によっては大変優秀、言い換えると融通が利かないそんなプログラム君を記述していくのは、とても繊細な作業でもあるということです。
そんなとき、ただのメモ帳を使用していては非常に非効率極まりないというわけです。
ただのメモ帳でプログラミングをすることはとても非効率
HTML学習の中でエディタを使用することで慣れる
そこで多くのプログラム開発者の方々が使用しているのが、VSCodeやatomなどプログラミング開発をする上で使い勝手のいいエディタです。
各エディタの特徴などは詳しくは述べませんが、このようなエディタの特徴として共通して挙げられるのが以下のようなものです。
- プログラムの要素ごとに勝手に色付けをしてくれる
- 拡張機能を追加することで特定のプログラミング言語の関数を予測変換でリスト表示してくれる
このように、エディタはプログラミングで便利なサポート機能を備えています。
その一方、機能が豊富に備わっている分ただのメモ帳のようにちょちょいと扱いきれないという側面もあります。
つまり
プログラミングを学ぶために使用するエディタの使い方も同時に学ばなければいけない
のです。
しかし、HTML/CSSでは、そこまで深い機能を使用しなければいけないということもほとんど無く、また他のプログラミング言語と比べて学習負荷が低く、エディタに慣れながら学習を進めるという形を取りやすいのです。
そのため、本格的なプログラミング言語を勉強し始める前段階として、HTMLの学習をしながら何らかの高機能エディタの扱いに慣れることで、その後の学習をスムーズに進めることが可能です。
エディタは高機能なものが多いですが、それを使いこなすには使い方を学習する必要があります。
その点、HTMLならば最低限、コードを色分けして表示してくれるというメリットを享受するだけでも学習には支障は出ないのです。
【理由④】IT特有の「コードだらけの見た目」に慣れる
人は慣れる生き物ということで、続いての理由は
コードに見慣れるため
です。
前述したように、プログラムはほぼほぼ半角英数字と記号の集合体です。
一部、「コメント」と言ってそのコードの意味や記述意図をメモする目的で日本語を入力することもありますが、プログラム本体で日本語を使用するケースはほぼありません。
僕が以前に勤めていた職場の年配女性が「もはや暗号だよね」と称するほど、普段からプログラムを見慣れていない人にとっては、そもそも目で正確に認識するさえ困難です。
そこで、HTML/CSSを前段階として学習することで、まずはコードの見た目に慣れるということをオススメしています。
HTMLのようなマークアップ言語と実際のプログラミング言語ではそもそもの文法がまったく異なりますが、いずれも半角英数字と記号で構成されているのは同じため、まずはそこから慣れていくのがオススメです。
もっとも、初心者の方が最初に取り組むであろう基本構文の学習ではそこまで大量のコードを書くということも無いかと思います。しかし、勉強のハードルを少しでも下げることで
いきなり高負荷がかかる → 挫折
という初心者にありがちな挫折の流れを防ぐことができます。
前述しましたが、独学でプログラミングを学ぶ上でもっとも大切なことは、挫折をしないための工夫です。
あるラインを越えてくると挫折をする危険はほぼ無くなってくるのですが、そのラインに到達するのも中々に骨が折れるため、コツコツと長期間学習を継続する必要があります。
その過程で挫折をせずに一定以上のプログラミングスキルを身に付けるまで学習を継続する――そこまでいって初めて「独学でのプログラミング学習に成功した」と言えます。
【理由⑤】Webアプリでは必須
最後にご紹介するHTMLがおすすめの理由は
Webアプリを作成する際にはHTML/CSSが必須なため
です。
ここは人によって異なってくる理由なので一概には言えないです。
しかし、多くの人に関わってくる内容でもあるためご説明をさせて頂きます。
そもそもとして、ソフトウェア・アプリを実際に使用できる形にする場合、主要どころとしては下記のような形式が考えられます。
- Webアプリ(例:Googleのような検索エンジン、YouTubeなど)
- スマホアプリ(例:androidアプリ、iosアプリ)
- デスクトップアプリ(例:Excel、Word、メモ帳など)
実際にソフトウェアやアプリを作成する場合には上記から形式を選択して、適切なプログラミング言語やフレームワークなどを選定することになるかと思います。
このとき、Webアプリを作成したいとなった場合には、HTML/CSSの知識が不可欠となります。
見方を変えると、Javaのようなサーバーサイド言語を学んだ段階で
「よし、Webアプリを作ろう」
となったとしても
実際に開発する前には必ずHTML/CSSの学習が必要
となります。
もちろん、スマホアプリやデスクトップアプリにおいてもそれぞれ画面に表示する技術は別途学習する必要があるため、その後の選択ルートによってはHTMLを先に学んでおくことメリットが得られない場合もあるでしょう。
これが本章の冒頭で「一概には言えない」とお伝えした理由です。
しかし、Webアプリを作成してみたいという方にとって、HTML/CSSの知識は必要不可欠なため、その目標をお持ちの方であれば、まずはHTML/CSSから学習に取り組むことをオススメします。
なお、いまはどういったアプリ開発をしてみたいか分からないという方でも、ここまでにお伝えしたメリットを享受する意味でHTMLから学習を始めることをオススメします。
ちなみに僕の場合は、HTMLを学習していく内にWebアプリに興味が出始め、ルートが明確化されていくという流れを辿りました。
まとめ
いかがだったでしょうか?
ここまで、独学でプログラミングを学ぼうとしている方向けにHTML/CSSから学習すべき理由を5つご説明してきました。
最後に改めて5つの理由を記載します。
これからのプログラミング学習の参考になれば幸いです。
- 挫折しづらい
- ファイル管理やパスなどプログラミングで必須の概念に慣れる
- エディタの扱いに慣れる
- IT特有の「コードだらけの見た目」に慣れる
- Webアプリでは必須
【余談】これから独学でプログラミングを学ぼうとしている方々へ
率直に申し上げて、独学でプログラミングを習得するまでの道のりはとても長く険しいです。
僕が初めてプログラミングの学習に取り組んだのはいま(2023年12月現在)から3年ほど前のときでした。
最初はHTML/CSS、その後、ExcelのVBA、Python、GoogleスプレッドシートのGAS、PHPなど様々な言語に触れてきました。
今でこそ必要な情報をネットで調べてWebアプリを作成したり、エラーメッセージを読んでコードを修正したりするなど、ある程度の自走力を身に付けることができましたが、
最初の恐らく1年ぐらいは、それこそネットに溢れている大量の情報の中から適切な情報を探し出すことすらままならず、問題(エラー)をしばらく放置することもザラにありました。
初心者の独学では平気でこういうことが起こりがちです。
これは全くもっておかしなことではなく、むしろ誰にも聞けない状況ならばなおのこと当然の現象ではあるので、僕と同じことが起きたとしても自分を責める必要はありません。
ですが、やはり人は自力で問題解決できないことがあまりに続いてしまうと「自分には向いていない」とモチベーションが下がってしまう生き物です。
そのような状況で、ひとりでコツコツと学習に取り組むことはとても大変なことだと思います。
だからこそ少しでも挫折ポイントを減らし、ちょっとずつでもスキルを磨いていくことが、独学でプログラミングを習得するためにはもっとも重要なのです。
プログラミングは勉強を継続していれば必ず上達します。
現実的な話をすると、確かに多少の適性はあります。
しかし、「向いていない」という適性を決定づける最も大きな要素は
勉強が嫌い、勉強がつまらなく継続できない
僕はこれだと思っています。
裏を返せば、勉強をコツコツと継続することができる方は、
プログラミングの適性がある
ということです。
あくまで僕の持論なので賛否両論あるかと思いますが、
僕はつまるところ、勉強したいという気持ちがあり、挫折さえしなければプログラミングは習得できると本気で思っているということです。
そのため、この記事もこれから独学でプログラミングを学んでいきたいという方に向けて、挫折してしまう可能性を極力減らすお手伝いが出来ないかという気持ちで執筆をさせて頂きました。
この記事が多くのプログラミング初心者の方にとって助けとなればとても嬉しいです。