「HTML」はプログラミング言語ではない。だが「CSS」との組み合わせであれば、プログラミング言語と呼べるのだろうか。
Webページのレイアウトやデザインを指定する一般的な手段が、「HTML」と「CSS」の組み合わせだ。HTMLがWebページのテキストを指定し、CSSが書体やページレイアウト、色といったWebページの外見を設定する。
よくある質問に「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の豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Z世代が考える「日本が最も力を入れて取り組むべき課題」1位は「ジェンダー平等」――SHIBUYA109 lab.調査
SDGsで挙げられている17の目標のうち、Z世代が考える「日本が最も力を入れて取り組むべき...
高齢男性はレジ待ちが苦手、女性は待たないためにアプリを活用――アイリッジ調査
実店舗を持つ企業が「アプリでどのようなユーザー体験を提供すべきか」を考えるヒントが...
IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...