Здравствуйте, уважаемые вовлеченные в обсуждение, хочу кинуть свои три гроша в очередную Священную Войну. Только, плиз, не надо в духе незабвенной Евгении Альбац сучить ножками и кричать: "ВОН! ВОН ИЗ ПРОФЕССИИ!!!!", как это делал один мой коллега во время подобного обсуждения.
Итак.... Вполне себе успешных языков с пережитками прошлого — навалом.
Страус писал C++ так, чтобы он был полностью совместим с C (и, соответственно, со всеми его "кулхацкерскими" прибамбасами типа "оператор запятая", префиксная и постфиксная форма инкремента). Про C-строки Спольски целый опус написал, про то, чем они хуже Pascal-строк. Ну хорошо, это его частное мнение нестандартного программиста. Но гуру C++ вроде бы тоже рекомендуют в программах поменьше использовать C-строки и C-массивы, а побольше — std::string и std::vector.
Perl: та самая $переменная, которую тут ругали, а еще %переменная и @переменная, переменная $_, которая используется там, где переменная должна быть, но её нет, передача аргументов в подпрограмму через список с предопределенным именем @_, ну ит.п., список агромадный.
Со временем при развитии вышеупомянутых языков в них добавлялось еще много всякого разного не совсем логичного: vector <bool>, mem_fun, знаменитая конкатенация строк, когда
std::string s,d;
d="%опа";
s=d+"есть";
работает, а вот
std::string s;
s="%опа"+"есть"+"а"+"слова"+"нет";
не работает.
Вообще же, как известно, в стандарте C++ наворотов столько, что ни один компилятор не выполняет требования стандарта полностью.(Хотя, возможно, у меня устаревшие сведения, и такой чудо-компилятор появился).
Модель "почти-объекта" построенная на package в Perl — это же застрелиться можно.
Как Perl, так и С++ позволяют неопытному программисту писать очень небезопасные программы с дырами, глюками и багами. Та же Ada бьёт программера по рукам за любой огрех (один из гуру C++ откровенно написал: если вы нуждаетесь в ремнях безопасности при программировании — программируйте на Ada). Что-то я не вижу вокруг себя толпы Ada-программистов.
Ни Perl, ни C++ не умерли, они вполне себе живут и используются, несмотря на эклектичность, нелогичность, пережитки прошлого, опасность в неумелых руках и прочее, за что тут ругали PHP. Почему? Честно говоря, хз. Есть в них преимущества, которые перевешивают упомянутые недостатки. И есть у других "красивых" языков отсутствие этих самых преимуществ. Ну, типа, речь окончена.