【初心者】HTMLとCSSはプログラミング言語ではない件について

本記事のアイキャッチ画像

 やぁ、水那だ。

 プログラミング界隈において、かなり昔から言われ続けている「HTMLやCSSはプログラミング言語ではない」という問題。
 今回はこれについて、簡単に触れていこうと思う。

 なお、この記事ではHTMLCSSを始めたばかりの初心者の方に向けた内容にもなっているため、プログラミングをあまり知らない方でも安心してご覧いただきたい。

水那
水那

初心者OK~!


 それでは早速いってみよう。

HTMLやCSSはプログラミング言語ではない

 まず聞いていただきたい。

水那
水那

HTMLやCSSをやっているそこのあなた!
偉い!非常に偉い!天才だ!

 お前何様だよという感じだが、HTMLCSSをやっているあなたを尊敬する
 世の中には、遊んでばかりの人がいる中勉強しているなんて、偉すぎる
 むしろ、その中で自尊心を保って自己研鑽とはなんて素晴らしいのだ。
 ぜひ自信をもって「俺は偉いんだ!」と誇っていただきたい。

 しかし

 HTMLCSSを、プログラミング言語だとは思っていないだろうか?
 厳密に言うと、HTMLCSSはプログラミング言語ではないため、詳しく紐解いていこう。

HTML,CSSとは?

HTML

HTML

 HTMLとは「HyperText Markup Language」の略称で、日本語で言うと「超すごい文字をマークアップする言語」となる。
 HTMLは主に、サイトの骨格を作る言語となっており、僕のサイトでいうところの文字などを表現している。
 すなわちHTMLは、Webサイトを構築する上で必ず必要となってくるものなのだ。

CSS

CSS

 CSSとは「Cascading Style Sheets」の略称で、日本語で言うと「段階スタイルシート」となる。
 少々分かりにくい言い方となってしまったが、簡単に言うとHTMLで作ったサイトなどを装飾するための言語とでも思っておけばいいだろう。
 僕のサイトだと、色のついているところや吹き出しなどに該当する。

※中にはHTMLの中で文字色を変えているサイトもあるが、現在のHTMLではご法度

プログラミングとは?

プログラミング

 プログラミングとは「コンピュータが理解してくれる言葉で指示をすること」である。
 そして、この「コンピュータが理解してくれる言葉」というのがプログラミング言語である。
 世の中には何百種類と多くのプログラミング言語が存在し、それぞれ用途や文法が違ったりする(まぁC言語やれって)。

HTML,CSSはプログラミング言語ではない

 お分かりいただけただろうか?
 HTML,CSSはあくまでも画面に出力しているだけであり、プログラミング言語ではないのだ。
 しかし、疑問に思われるかと思うので以下のことも話しておこう。

検索結果

 こちらだ。
 天下のブラウザであるGoogle検索において、右に表示されるこれはいったい何だろうか?
 プログラミング言語ではないものを、プログラミング言語であると書いている。
 これこそが「初心者がHTMLやCSSがプログラミングであると勘違いする」原因の1つなのだ。
 ぜひ訂正していただきたいものだ。

HTML,CSSはプログラミング言語ではないが

 HTMLやCSSがプログラミング言語ではないというのは確かだが、「HTML+CSS」はプログラミング言語であると言っていいだろう。
詳しい参考もとはこちら (Brainfuckやってたなぁ)

 ここで覚えていってほしいのが「HTMLやCSS単体ではプログラミング言語ではない」「HTML+CSSでプログラミング言語と呼べる」ということ。

水那
水那

まぁ正直、ここら辺の話は人それぞれとなってくるんだけどね

HTML,CSSはプログラミング言語ではないと指摘する理由

 世の中には、こういうことを言う方がいる。

初心者や情報商材屋
初心者や情報商材屋

HTMLをプログラミング言語と言って何が悪いんだよ

 別にこの発言が悪とは言わないが、本当のプログラミング言語をやってみた際に、HTMLとのギャップが原因で挫折率が上がってしまうためあまり良くない。
 そして問題となるのが、JavaScriptというプログラミング言語である。
 Web系言語を学ぶ上で、一般的な学習フローは「HTML→CSS→JavaScript」となっており、JavaScriptだけが急にプログラミング言語であるため初心者が挫折する可能性が高い。
 そのため「HTMLはプログラミング言語ではなく、JavaScripからがプログラミング言語なんですよ~」というのを教えておくべきではないのだろうか、と個人的には思う。

 JavaScriptは、呪文のような言葉をたくさん覚えなければいけないこととなり、かく言う僕も入門書を3冊くらい読破した後にめんどくさくなって辞めた(本の名前を入力したら、その本が存在するかどうかを教えてくれる図書システムを作るのは楽しかった。canvasで絵を描くのはつまらん)

 ちなみに、初心者なら僕も使っていたこれがおすすめ↓

https://amzn.to/2LXjdkg



 加えて、生のJavaScriptをもう少し簡単な文法で表現することを可能にした「jQuery」という言語がある。

 そこで

JavaScriptなんかやらずjQueryだけで大丈夫!

 という方がいる。
 あれだけは意味が分からないので、あまり鵜呑みにしすぎないよう注意していただきたい。

水那
水那

JavaScriptあってのjQueryなんや!

HTML,CSSがプログラミング言語であると言われる元凶

 では、一体なにが間違った情報を流しているのだろうか?
 ずばり、前述にご紹介した「謎の発言をする方」である。
 全員が間違った情報を吐いているわけではないが、インターネットには正しいことの方が少ないというのは少し覚えておいていただきたい。

 そもそも、プログラミングを本気でしたい方は、参考書を買っているはずだ(書店に置いてあるやつとか)。
 あのような参考書は、少々高いものの「HTMLはプログラミング言語の一種で・・・」という嘘はほぼ書いていないだろう。
 ぜひ、ご自身の財布と相談の上、ご検討していただきたい。

プログラミングをやるなら目標を明確に

 HTMLやCSSに限ったことではないのだが、今あなたは何のためにプログラミングをやっているのだろうか?
 エンジニアになりたいという方は、デザイナーが担当していることを必死にやっているし一体何になりたいのだろうか?

 今一度、自分は将来何をしたいのかを明確にする必要性がある。
 その上で、自分がやっている勉強は正しいのかどうかを見極めよう。

 ちなみに

 「怪しそうな人の動画」「プログラミングスクールの勧誘ばかり」「ブログに広告ばかり」というのは、プログラミングに対して知識のない方たちかもわからない(僕の知識も下の下であるため、信用しすぎないようご注意を)

 そのため、プログラミング学習をする上で絶対に役立つサイトを載せておく。

 
 はい、Qiita

水那
水那

間違いない

まとめ

 HTMLやCSSがプログラミング言語ではないということを語ったが、正直そんなのはどうでもいいとも思っている。
 努力できている方はとても素晴らしい、ただそれだけに尽きる。

 だがしかし「プログラミング初心者です!HTML始めました!#駆け出しエンジニア」みたいなあの風潮は、ちょっと気持ち悪く感じてしまう。
 そのため「考古学者になりたいのでC言語とアセンブラ始めました!」という方が増えてくれるのを願うとともに、今回はこれにて終了させていただく。
 ご覧いただき、ありがとうございました。

C言語を始めてみたい方はこちら↓