HTMLはプログラミング言語ですか

最近、次のトピックに関するホリバーをホストするさまざまなインターネットリソースが増えています。HTMLはプログラミング言語かどうか。 いつものように、両方の観点を支持するかなりの数の議論があるので、この不必要な議論に終止符を打つことにしました。



プログラミング言語の定義



プログラミング言語は、コンピュータープログラムを記録するために設計された正式なサインシステムです。 プログラミング言語は、プログラムの外観と、エグゼキュータ(コンピュータ)が彼女の制御下で実行するアクションを決定する一連の字句、構文、およびセマンティックルールを定義します。



これはWikipediaに記載されており、他のリソースのほとんどはこの定義を完全に使用するか、意味を失うことなく自由に定義しています。 PLの定義のコンポーネントをより詳細に検討してください。



簡単に言えば、これは次のように表現できます。



プログラミング言語は、コンピューターの一部であるデバイスによる実行を目的として順次書き込まれることを目的とした、あらかじめ定められた単調でエグゼキューターが理解できる(インタープリター/コンパイラー/コンピューター/プログラマー向け)命令のセットです。 また、プログラミング言語には多くの機能が必要です。限られた数の命令があり、誰もがそれらを知っている必要があります。 特定の結果を得るには、特定の方法で指示を作成する必要があり、誰もがこれを認識している必要があります 指示を書くためのルールがなければならず、誰もがそれを知っている必要があります。 各言語構成体は、記述されているものと指定する必要があるものを明確に相関させる必要があります。



とてもかさばってugいですが、複雑な言葉はありませんでした。 少し後でこの定義に戻ります。



プログラミング言語の種類





多くの場合、 レベル言語と高レベル言語への区分も使用していました。 これらのタイプは、プロセッサーとプログラマーの間の「層の厚さ」によって区別されます。 簡単な言葉で言えば、低レベル言語では、各命令は1つまたは少数のプロセッサ命令を表し、高レベル言語では、各命令はプロセッサ命令の大きなセットです。



ウィキペディアによるさまざまなタイプの定義を詳しく見てみましょう:



命令的および宣言的アプローチ





すべてのプログラミング言語は、 宣言型と命令型の 2つのグループに分けられます。



数学的な観点からの命令型プログラミング言語のプログラムは、問題の一般的な解決策、言い換えると、「どうすればいいの?」という質問に対する答えです。 これは、エグゼキュータが実行する必要がある一連のコマンドです。



宣言型プログラミング言語のプログラムは、 プログラミング言語のフレームワーク内で形式化されたタスクと、そのソリューションに必要なすべての定理、つまり「何をすべきか」という質問に対する答えの組み合わせです。 コンパイラ、またはより多くの場合はインタープリターによって実行されるアクションの特定のシーケンスは、プログラムコードをマシンコードに変換せずにリアルタイムで実行するプログラムです。



チューリング完全性



計算可能性理論では、計算可能な機能を実装できる場合実行者(計算要素のセット)はチューリング完全と呼ばれます。 言い換えると、各計算可能な関数には、計算要素(たとえば、 チューリングマシン )またはエグゼキューター用のプログラムがあり、多くの計算機で計算されるすべての関数は計算可能な関数です(おそらく、入力データと出力データの何らかのエンコードを使用)。

名前はAlan Turingに由来します。AlanTuringは抽象的な計算機-チューリングマシンを考案し、チューリングマシンを使用して計算できる多くの関数を定義しました。

言い換えれば、必要な計算可能な関数をその言語で記述し、そのエグゼキューターで解決できる場合、その言語はチューリング完全です。







不完全なチューリング言語も存在しますが、それらは主に学術目的のために作成されているため、ほとんど知られておらず、広く使用されていません。



いくつかの質問に答えます。



  1. HTMLは言語ですか?
    はい 言語に固有のプロパティがあります。
  2. HTML-プログラミング言語の定義と一致しますか?
    はい 構文、セマンティクス、語彙があり、言語であり、宣言型プログラミング言語のカテゴリーに分類されます。
  3. チューリングは完全な言語ですか?
    いや HTMLを挿入するだけで、ブラウザによって解釈されるアクションの限られたセットのみを実行できます。
  4. HTMLはプログラミング言語と呼ばれますか?
    文脈に応じて、そうです。 ただし、同じ成功を収めることでYaPとCSS、XMLとSQLと呼ばれることを覚えておく必要があります。 言い換えれば、これらの言語は正式にはプログラミング言語と呼ぶことができますが、ある程度の懐疑心と、これらの言語がすべての要件を満たしているわけではないことを完全に理解しています。
  5. HTMLはプログラミング言語ですか?
    いや 一般的なプログラミング言語のタスクはデータ処理であり、HTMLのタスクはデータマッピングです。 プログラミング言語ではないため、計算に使用できません。




結論:正式な論争の文脈でのみ、HTMLをプログラミング言語と呼ぶことができます。 実際、これはハイパーテキストマークアップ言語であり、それ以上のものではありません。 しかし、読者は、明確に定義された標準がない場合、言語とHTMLの構文を同一にすることを禁止することはできませんが、チューリング完全になるように完全に異なる方法で解釈されることを理解してください。



All Articles