Почему язык COBOL считают устаревшим
Потому что он и есть устаревший.
Он создавался ещё во времена, когда перфокарты считались чем-то модным и молодёжным.
Просто возьми пример Hello world с википедии и убедись:
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
*
PROCEDURE DIVISION.
PARA-1.
DISPLAY "Hello, world.".
*
EXIT PROGRAM.
END PROGRAM HELLO-WORLD.
И сравни с хотябы с си, который появился 13 лет спустя:
#include <stdio.h>
int main() {
printf("Hello World!\n");
return 0;
}
Не любят его за то, что в нём есть очень много лишнего, что в современной разработке просто не нужно, за многословность, за отсутствие всего того, что есть в современных языках.
Основная критика языка связана с его «многословием» — программы в связи с синтаксическим решением оказываются громоздкими, например, присваивание, выражаемое в си-подобных языках как y = x;, записывается как MOVE x TO y. Кроме того, в развитии языка, как ориентированного на коммерческое применение, практически не принимали участие академические круги, относившиеся к языку со скепсисом, доходящим до крайних форм, так, широко известно высказывание Дейкстры «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление».
В дополнение можно добавить целую кучу диалектов - чуть ли не у каждого мейнфрейма свой диалект.
А ещё буквально вся современная разработка на коболе - это поддержка систем, которые были разработаны ещё в прошлом веке.