Как ни странно, это язык :)
Поскольку предназначен он для управления работой компьютера, имеет некоторые отличия от естественных языков.
Прежде всего - отсутствие двусмысленностей. Для естественных языков характерно понимание по контексту. Одни и те же слова и обороты могут иметь различный смысл в зависимости от обсуждаемой темы. Языки программирования в этом смысле гораздо жестче.
А в остальном все очень похоже на естественные языки: алфавит, словарь, правила построения предложений, правила оформления текстов.