Языки второго поколения (2GL) создавались для того, чтобы облегчить
тяжёлую работу по программированию, перейдя в выражениях языка от
низкоуровневых машинных понятий ближе к тому, как обычно мыслит
программист. Эти языки появились в 1950-е годы, в частности, такие языки
как Фортран и Алгол.
Наиболее важной проблемой, с которыми столкнулись разработчики языков
второго поколения, стала задача убедить клиентов в том, что созданный
компилятором код выполняется достаточно хорошо, чтобы оправдать отказ от
программирования на ассемблере. Скептицизм по поводу возможности
создания эффективных программ с помощью автоматических компиляторов был
довольно распространён, поэтому разработчикам таких систем должны были
продемонстрировать, что они действительно могут генерировать почти такой
же эффективный код, как и при ручном кодировании, причём практически
для любой исходной задачи.