プログラミング言語とは


現在、HTMLはプログラミング言語であり、プログラミング言語ではないという議論を読みました.私は討論のポイントが分からない.プログラマと呼ばれるゲートキーピングをしたい人のグループから来ているようです.いずれにしても、この議論をプログラミング言語として理解することなく定義することは意味がない.そのことを調べましょう.
それがプログラミング言語分類に来るとき、標準のソースはJean E. Sammet 1969冊のProgramming Languages: History and Fundamentalsです.彼女は初期のコンピュータの先駆者であり、そこで彼女は他のプログラミング言語の間でCOBOLを設計するのを助けました.彼女はコンピュータサイエンスの彼女のキャリアの影響について多くのことを言うように、ACMの最初の女性の社長だった.
その本の中で彼女はプログラミング言語の特性を定義している.HTMLがそれらに出会うかどうか見ましょう:

機械知識不要
この場合、「プログラミング言語はユーザによる機械コードの知識を必要としない」.ユーザーはレジスタについて学ぶべきではありません.これは、Sammetが明らかにしているように、プログラマがより良いプログラムを書くためにマシンのこれらの特性について学ぶことができないということではありません.
HTMLはこの特徴を満たしている.

他のコンピュータへの変換の可能性
前の特徴から、我々は第2のものを得ることができます.プログラムが実行されるマシンを無視することができるなら、プログラミング言語はこのように異なるマシンに移植されることができなければなりません.Sammetが言うように、プログラミング言語はマシン非依存であるべきです.
HTMLはこの特徴を満たしている.それはそこに最も近代的なコンピュータですべてのブラウザで実行されます.

命令爆発
この場合、プログラムがマシンコードに翻訳されるとき、プログラムの各々の声明は複数のマシンコード命令を生じるべきです.また、Sammetは、ユーザーがこのマシンコードを動作させるプログラムを書く必要はありません.
HTMLはこの特徴を満たしている.

問題指向記法
「プログラミング言語は、通常のマシンコードよりも解決されている特定の問題にいくぶん近い表記法を持つべきです」.そうする代わりに
CLA C
MPY D
ADD B
STO A
問題指向言語には次のような構文があります.
A = B + C * D
HTMLはこの特徴を満たしている.HTMLがこの要件に合うのはかなり明白です.
それで、彼女の選択基準に基づいて、私はHTMLが上記の彼女の本にそれを作ったと仮定します.

チューリング完全性はどこにあるか
ご覧のように、プログラミング言語のサメット要件では、チューリング完全性はそれらの一部ではありません.さらに、アランチューリングは、本の中で引用の何百もの中で引用されていません、チューリングのいずれかではない.プログラミング言語爆発があったとき、彼の考えが60年代に戻った影響が何であったかについて、我々は驚きます.