Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Он был очень примитивен по сравнению с "серьезными" ЯВУ того времени.
Это с какими, например? COBOL и PL/I?
Ada появилась только в 1983-ем.
Modula-2 -- приблизительно в то время, когда Страуструп начинал работы над C with Classes, по своим возможностям была не так уж далеко от Си.
S>>сам Страуструп говорил: "С++ проектировался с целью обеспечить средства организации программ, присущие языку Simula
ЕМ>Да, но не потому, что у языка Simila было такое название, а потому, что он для тех времен был достаточно продвинутым.
Э... Вы с чем спорите? Я изначально написал: "Цель создания C++ была в том, чтобы скрестить Симулу с Си. Что выразилось в добавлении в Си классов и наследования." Что соответствует словам Страуструпа. При чем здесь "у языка Simula было такое название"?
S>>Ada и Clu (и ML, емнип) упомининались Страуструпом как первоисточники.
ЕМ>Возможных для заимствования первоисточников были десятки.
Список в студию, пожалуйста.
ЕМ>Ну, если сравнивать только подходы, похожие на C++, то конечно.
Покажите другие подходы.
S>>Огласите свой список языков без сборщика мусора, в которых шаблоны гибче, чем в C++?
ЕМ>Какая вообще связь у шаблонов со сборкой мусора, кроме весьма отдаленной?
Связь не у шаблонов, а у возможностей и ограничений языков с GC и без.
C++ находится в категории языков без GC, поэтому сравнивать его с условными Haskell/OCaml/Scala ну такое себе.
Отсюда и формулировка просьбы.
Ну так вы опять будете юлить пятой точкой или таки что-то конкретное родите, например, список языков, в которых шаблоны гибче, чем в C++?
S>>А то, что шаблоны не просты, так это как раз следствие их гибкости.
ЕМ>Претензия к ним не в том, что они не просты, а в том, что они излишне заморочены, созданы и развиты прежде всего стремлением впихнуть широкую функциональность в убогий синтаксис.
Бла-бла-бла.
Шаблоны позвляют делать очень многое. Поэтому они очень гибкие. Обратной стороной является их сложность.
Но если вы 40 лет программируете на Си с классами, а в шаблоны не умеете, что и оценки ваши от пустого бла-бла-бла ничем не отличаются.
ЕМ>Я уже много раз рассказывал.
Ни одного случая не помню
ЕМ>Главное — не пытаться запихать всю потребную функциональность в искусственно ограниченные синтаксис и семантику.
Опять пустопорожнее бла-бла-бла.
S>>Вы хоть знаете как в C++ сделать адаптацию своего типа к structured binding?
ЕМ>Представляю в общих чертах, ибо пока не требовалось настолько, чтоб в этом разбираться досконально.
Т.е. Пастернака не читал, но осуждаю.
Даже до того, что есть со structured binding пришлось идти очень долго. А в области ООП C++ тогда был один из первопроходцев среди мейнстримных языков. Тогда как в 1980-х и даже в 1990-х этого опыта просто не было. Как и языков с pattern matching-ом в мейнстриме.
ЕМ>Кстати, подобные вещи легко делались бы на "функционально адекватных" макросах, имейся таковые в языке. И не было бы нужды впихивать это в сам язык, и каждый мог бы хоть использовать готовые конструкции из библиотек, хоть делать сам на собственный вкус и потребность. А так и язык в очередной раз усложнили/утяжелили, и способы управления связыванием зафиксировали, без возможности их изменения/дополнения.
Пример кода можете показать? А то опять все очень похоже на привычные для вас пустопорожние бла-бла-бла.