HTMLは何者か【第2回】
HTMLは「CSS」と一緒ならプログラミング言語になれるのか?
「HTML」はプログラミング言語ではない。だが「CSS」との組み合わせであれば、プログラミング言語と呼べるのだろうか。
Webページのレイアウトやデザインを指定する一般的な手段が、「HTML」と「CSS」の組み合わせだ。HTMLがWebページのテキストを指定し、CSSが書体やページレイアウト、色といったWebページの外見を設定する。
よくある質問に「CSSはプログラミング言語なのか」「HTMLとCSSの組み合わせはプログラミング言語の基準を満たしているのか」というものがある。実際のところはどうなのか。一言で言うと、
- CSS単体も、HTMLとCSSの組み合わせのどちらもプログラミング言語ではない
ということになる。
併せて読みたいお薦め記事
連載:HTMLは何者か
学ぶべきプログラミング言語
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エンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[LRM株式会社] 「標的型攻撃メール」事例・サンプル集 -
製品資料
[LRM株式会社] セキュリティ教育はなぜ「年間計画」を立てる必要があるのか? -
製品資料
[LRM株式会社] セキュリティの重要性が伝わらない…… 効果がない社員教育から脱却する方法 -
製品資料
[LRM株式会社] 「標的型攻撃メール訓練」導入ガイド 社員の意識を確実に高める仕組みの作り方 -
事例
[株式会社マクニカ] アイカ工業に学ぶ脆弱性対策 情シスが把握できずにいたアセットも正確に把握
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
2
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
3
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
4
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
5
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
6
ただなのに「12時間以内の復旧」も要求 無償OSSに商用レベルを求める企業の末路
-
7
ANAが専用回線から移行した「NaaS」の全貌 ネットワーク準備が数カ月から数週間に
-
8
業務引き継ぎで困ったこと 大企業200人調査で判明した課題の第1位は
-
9
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
10
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
7
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
8
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
9
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー