HTMLは「CSS」と一緒ならプログラミング言語になれるのか?HTMLは何者か【第2回】

「HTML」はプログラミング言語ではない。だが「CSS」との組み合わせであれば、プログラミング言語と呼べるのだろうか。

2022年09月09日 08時15分 公開
[Darcy DeCluteTechTarget]

 Webページのレイアウトやデザインを指定する一般的な手段が、「HTML」と「CSS」の組み合わせだ。HTMLがWebページのテキストを指定し、CSSが書体やページレイアウト、色といったWebページの外見を設定する。

 よくある質問に「CSSはプログラミング言語なのか」「HTMLとCSSの組み合わせはプログラミング言語の基準を満たしているのか」というものがある。実際のところはどうなのか。一言で言うと、

  • CSS単体も、HTMLとCSSの組み合わせのどちらもプログラミング言語ではない

ということになる。

HTMLとCSSの組み合わせの“限界”

 ソースコード共有サービス「JSFiddle」には、素数探索アルゴリズム「エラトステネスのふるい」を、HTMLとCSSで実装したプログラムが幾つか存在する。エラトステネスのふるいは複雑なアルゴリズムだ。エラトステネスのふるいが実装できることは、HTMLとCSSの組み合わせにより、CPUによる演算が活用できることを実証していると言える。

 HTMLとCSSによるエラトステネスのふるいの実装には、特定の動作環境を決め打ちしてソースコードに指示を記述する「ハードコーディング」が必要な部分がかなりある。これはHTMLとCSSの組み合わせをプログラミング言語として扱う上で、さまざまな欠点があることを意味する。

 開発者はCSSにおいて、HTMLの要素(エレメント)に分類名を割り振る「class」という仕組みを使うことで、特定のスタイルをエレメントに適用できる。プログラミング言語における変数としてclassを扱うことは現実的でない。classが保管するデータは限定的であり、汎用(はんよう)的なデータ保管に使えるわけではないからだ。

 CSSは特定の条件に一致するHTMLエレメントに対してスタイルを適用できる。ただしプログラミング言語の「if」に該当する条件文と同等の、複雑な条件分岐ができるわけではない。ループ(繰り返し)処理もできない。こうした理由により、CSS単体およびCSSとHTMLの組み合わせをプログラミング言語だとみなすことはできない。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news026.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2024年7月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news136.jpg

「Vポイント」「Ponta」と連携したCTV向けターゲティング広告配信と購買分析 マイクロアドが提供開始
マイクロアドは、VポイントおよびびPontaと連携したCTV向けのターゲティング広告配信を開...

news105.jpg

Netflixの広告付きプランが会員数34%増 成長ドライバーになるための次のステップは?
Netflixはストリーミング戦略を進化させる一方、2022年に広告付きプランを立ち上げた広告...