Существует две параллельных оси развития языков. Первая основана на принципе выделения и институализации наиболее часто повторяющихся программных последовательностей состоящих из елементрных операций, а также на институализации очивидных структур данных, образующихся путем векторизации элементарных однородных элементов данных (что методологически сходно). Вторая базируется на фантастических идеях борьбы с т.н. "структурной сложностью", причины которой, рассматриваются  каждой такой "научной школой" с субъективной точки зрения. В первом случае мы имеем естественную последовательность языков , каждый из которых обладает всеми достоинствами предыдущих, и не вносит парадигмальной сумятицы и не ограничивет точки зрения на вещи, это:
Ассемблер,Фортран,Бейсик, АПЛ и т.п.

Во втором случае это:
C, С++, Ада, Паскаль , Оберон, и (ха-ха) -Хаскелл(тут мы имеем поример , как раз резкого отличия в субъективном восприятии причин сложности) и т.п.

Первая ветвь естественна и научно обоснована, вторая неестественна , субъективна, и  черпает свое обоснование из себя же самой.