Реконструктор> Нуууу, и как определям что - что?
Есть товарищ Тьюринг.
Он придумал
Машину его имени.
Если язык программирования отвечает полноте этой машины, то он строго формально алгоритмический. Если нет - то нет.
Язык программирования, неважно, алгоритмический или нет - это набор команд, с помощью которых ты задаёшь машине директивы тех или иных действий, не обязательно императивно.
Наконец, просто язык (в компьютерном аспекте) - это некая система система знаков, понимаемая компьютером.
Язык может не быть языком программирования. Например, HTML - это язык разметки документов. Язык разметки докуменов, наоборот, может быть полноценным алгоритмическим языком, например, PostScript, базирующийся на Forth