Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Какую "такую"? Это был пример. Речь шла о наличии множества тривиальных ошибок, которые не ловятся компилятором. Какое количество из ошибок, обнаруженных в любом релизе Януса, было найдено компилятором? Ессно, ответ 0%, т.к. иначе релиза бы не было.
Осталось узнать сколько было ошибок до компиляции
ПК>Удаление объекта через базу без виртуального деструктора я тоже помню только один раз. Было это уже несколько лет назад, еще на прошлой работе.
А сколько в твоей команде было человек, работающих над тем же кодом?
Здравствуйте, Shady, Вы писали:
VD>>Блин, я фигею. У меня за плечами 10 лет опыта траха с С/С++. Так что я не про мифы рассказываю, а про реальную практику из реальных проектов. S>Вот поработай с C# столько же, потом узнаем, знаешь, эйфория проходит однако...
Да уж 2.5 года работаю. Мне более чем достаточно чтобы взвешено оценить. А эйфории и небыло.
S>Скачай триал...
Ссылка прямая есть?
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Вот и я говорю, что в "плюсах" основное время идет именно на подобные проблемы, а не на "грабли", столь часто тобой здесь поминаемые.
А я говорю, что и на то, и на то. Причем грабли, веренее увертывание от них, попросту отнимает время от решения основных задач.
ПК>Значит, наш с тобой опыт использования "плюсов" различается
Значит различается.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
>> Вообще, прогрес заметен даже с тобой Помнится начиналось все с совсем уж снобизма и нежелания поверить, что на дотнете можно писать "серьезный" софт.
ПК>Ссылки давать будем, или опять "ой ли" обойдемся?
>> за какую-нибудь чушь ВГ ставишь полную еденицу, а нам с АВК пока что только +1.
ПК>Не ревнуй
Да ты вроде не девушка. Просто забавна тактика.
ПК> В .Net полную единицу получил c-smile, первый давший исчерпывающий ответ.
Да, да. Как шас помню в восемнадцатом году. Ну, да фигня это просто показательно в общей конве. Вроде как пыташся выглядеть беспрестрастно, но реально как то невыходит. Это как у Жванецкого...
>> Будем надеяться, что когда ты вникнешь в дотнет поглубже, то прийдеш к тем же выводам что пришел я некоторое время назад.
ПК>Может быть. Если 1) под него будет нормальный с моей точки зрения язык (например, C++/CLI будет удобным в использовании),
И это пройдет если не упрешся специально.
ПК> и 2) его можно будет практически использовать для настольных приложений не только под Windows.
Вот с этим сложнее. На плюсах тоже как-то хреновенько выходят кросплатфрмные ГУИ. Все наровят свою либку-обертку сделать, а выходит как всегда средняя температура по больнице. Хотя тоже со временем появится. Был бы спрос. Логичнее всего было бы наверно Авалон кросплатформны сделать. Он ведь только на примитивы завязан. Хотя копирайты могут испортить малину.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, adontz, Вы писали:
...
Я плякаль.
A>Насколько я читал форум Януса значени строк изначально всегда английские, а на русские менялись через reflection. A>Если я чего-то не так понял — звиняйте.
Сдается мне, что ты и не вникал. Строки грузятся из русурсы на основании информации о локали и настроек Хоума. Другой вопрос нафиг вообще нужно было англофицировать Хоум.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>3) Какое отношение данное сообщение имеет к защите монолитного дизайна?! Или любое возражение тебе == защита монолитного дизайна?
Про монолитный дизайн конечно тут ничего нет. Но ты уж извини, ты так часто просишь ссылки, что я путаюсь. Я как бы ссылки ведь не коллекционирую, а перебирать все сообщения чтобы удовлетворить твои требования я физически не могу.
Про монолитный дизайн ты заикался не раз. Помнится я как-то с кем-то парой слов об нем обмолвился и упомянул давний флэйм мач вс. Линукс, и ты долго не унимался. Но вот ссылку так влет найти не могу.
ПК>Извини, но ты сам их произносишь, характеризуя этот язык.
Нет батенька, ты изрядно умудряешся извратить суть моего высказывания. Я даже не знал, что меня можно так трактовать.
ПК> Я же отвечаю, что то, как ты его преподносишь ("спроектированный в расчете на халтуру"), для меня его интересным не делает.
Ну, да сам никогда не халтурил (даже случайно) и другим не давал. Незнаю почему, но вот у таких уверенных обычно и находятся потом, такие злобные баги третьего порядка. Типа "- Нафиг с поинтерами химичил? — А я не ошибаюсь...".
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>VladD2,
>> <... аргументация деньгами опущена как невалидная ...>
>> Блин. В бусте одни заплатки дыр языка. Что там есть чего нет доля дотнета?
ПК>Насколько я знаю .Net (а знаю мало, соответственно, список можно проредить, если будут найдены аналоги):
ПК>assign, call_traits, compressed_pair, concept check, conversion, date_time (не путать с конкретными классами даты и времени, это концепции, которые могут быть использованы для построения своих классов), dynamic_bitset, enable_if, graph, integer, interval, in_place_factory, typed_in_place_factory, io state savers, iterators, math, minmax, mpl, multi_index, operators, optional, pool (не путать с GC, pool создан для увеличения степени контроля над памятью, а не для уменьшения), preprocessor, property map, python, random, range, rational, static_assert, spirit, string_algo, test, tribool, tuple, type_traits (не путать с reflection, это все работает в compile-time), uBLAS.
Да, уж. Не здорово ты дотнет знаешь. Почи все перечисленное тобой есть или в языке или в библиотеках. Исключения составляют graph и фичи связанные с метапрограммированием. Что касается последнего, то есть и CodeSmith и R# и метаинформация в сборках, и генерация кода в рантайме/компайлтайме и много чего еще. Все эти "concept check" и "static_assert" рядом с возможностями R# не лежали. Я вот сегодня сделал автоматическую генерацию конструкторов для всех классов АСТ. Фига два ты подобное на плюсах сбацаешь. Даже на ОпенС++ будет затруднительно. Спириты же вообще отдыхают по сравнению с любым постраителем парсеров и кроме как красивой игрушкой больше ничем не являтся.
ПК>Я тоже не страдаю от "диверсий" со стороны используемых мной библиотек, равно как и от других "грабель C++".
Ну, это сказка в которую я не поверю.
ПК>Но мы ж явно обсуждаем потенциальные возможности, а не реальные проблемы...
Вы возможно. Я гворю исключительно о том, что вижу на практике.
>> на плюсах можно за три секунды получить испорченную память и годями искать источник ошибки, а окажется что дело было в прицепленной библиотечке.
ПК>Теоретически — можно.
Ну, не нужно, а... Практически. И очень реально. Сам имел нехилые проблемы от КОМ-а. А исходничков то не ма.
ПК> Но в жизни если и происходит, то ловится не годами, а за несколько часов (день или около того — максимум, что я видел).
Ну, ты крут. Вот только два но. 1. Я лично вылавливал две недели одну тревильную (казалось бы) ошибку. Причем посодил ее не я. 2. На дотнете я больеше получаса на поиск ошибки обычно не трачу. Ну, тяжело добиться ошибки второго/третьего порядка. Нет испорченой памяти, нет выходов за пределы массивов. Везеде нормальные исключения с колстэками. И оптимизатор не наровит извратить код как бог черепаху.
ПК> Бывает достаточно редко, чтобы не влиять на сроки разработки проекта.
Ну, да. До тех пор пока не начали его сдовать. А как ближе к релизу, так... где там Баундчекер?... Какой критин... и т.п.
ПК> На практике время отнимают совершенно другие вещи: изменение окружения, изменение логики программы, изменение используемых библиотек и т.п.
Ну, да. А на то чтобы проектировать время жизни объекто, используемые обертки, контроль кода ты времени и усилий не тратишь? Классно! Просто ты привык к этому грузу и не представляешь как можно жить без него. Вот ты тут не раз приводил Питон в качестве примера языка на котором писать проще. Так вот Шарп это очень близкая вещь, только статически типизированная и со скорость близкой к плюмам.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
>> Интересно, а для чего ты на работе можешь применять дотнет? Ты же в Маковской конторе вроде теперь работаешь.
ПК>Ребята под Web пишут для Windows-серверов.
Ну, тогда выбор ПХП — это самое разумное.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
AndrewVK,
> ПК> Какую "такую"? Это был пример. Речь шла о наличии множества тривиальных ошибок, которые не ловятся компилятором. Какое количество из ошибок, обнаруженных в любом релизе Януса, было найдено компилятором? Ессно, ответ 0%, т.к. иначе релиза бы не было.
> Осталось узнать сколько было ошибок до компиляции
Дай угадаю... В 100000 раз больше? В общем, в разработку надежного программного обеспечения неряшливыми программистами я не верю. Отсутствие "стрельбы по памяти" является необходимым, но не достаточным условием, чтобы считать программу надежной.
> ПК> Удаление объекта через базу без виртуального деструктора я тоже помню только один раз. Было это уже несколько лет назад, еще на прошлой работе.
> А сколько в твоей команде было человек, работающих над тем же кодом?
Около десяти. Сделавший ошибку, просто не знал о том, зачем деструкторы делаются виртуальными. После того, как узнал, больше таких ошибок, насколько мне известно, не делал. Т.е., как и говорил jazzer, это вопрос квалификации.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, AndrewVK, Вы писали:
AVK>А то что теперь объясни мне — почему весь софт для этого сайта пишется на дотнете. Разницы ведь в трудозатратах никакой, а С++сников у нас в команде явно больше.
Как нет? По-моему, Паша нам постоянно дает понять, что Шарп "не тянет". Так что у плюсов явные приемущества.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VladD2,
> Про монолитный дизайн ты заикался не раз. Помнится я как-то с кем-то парой слов об нем обмолвился и упомянул давний флэйм мач вс. Линукс, и ты долго не унимался. Но вот ссылку так влет найти не могу.
Там я говорил о том, что и у того, и у того подхода есть свои преимущества и недостатки. О безусловном преимуществе монолитного дизайна я уж точно не говорил. В проектах, с которыми я сталкиваюсь, обычно предпочитаю модульность.
> ПК> Я же отвечаю, что то, как ты его преподносишь ("спроектированный в расчете на халтуру"), для меня его интересным не делает.
> Ну, да сам никогда не халтурил (даже случайно) и другим не давал.
Еще раз: ошибался, халтурил и т.п. Но мне интересны языки, предоставляющие больше возможностей, а не усекающие их ради "безопасности". "Безопасность" появляется на горизонте при прочих равных, чего в данном случае и близко не наблюдается.
Скажем, если бы C++ остался бы тем же, что сейчас, но пресловутая арифметика указателей была бы вынесена в какой-нибудь "unsafe", наверное, был бы "за" (хотя, имхо, есть более удачные альтернативы). Плюс еще ряд улучшений не повредил бы. Но с сохранением возможности использования наработанных в C++ приемов.
C# — не тот случай. Его обстругали значительно более радикально. Generics уже, правда, добавили. Если еще подобавляют, может, и будет иметь смысл на него еще посмотреть...
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
— Что именно здесь халтура? Да, это не классическое ООП, т.к. нарушается LSP, но в чем халтура-то?
Это хорошо, что ты ссылки пасешь. А халтура там:
SheetDrawer наследовались от Rectange просто для того, чтобы их коллекцию
можно было скормить функции, умеющей как-то упорядочивать прямоугольники
Нормальный дизайн заключался бы в создании специальнго компарера и универсальной фукнции сортировки. А этои слва... ну ты понял.
>> Ну, и хоть одно утверждение, положа руку на сердце можешь с уверенностью опровергнуть?
ПК>Да.
Что-то незаметно. Вся тавоя тактика сводится к тому, что ты ставишь их под сомнения не высказывая открытого несогласия и когда тебе говорят, что ты с ними не согласен, то ты сразу просишь привести ссылки где ты это говорил. Тактика конечно забавная...
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VladD2,
> ПК>Насколько я знаю .Net (а знаю мало, соответственно, список можно проредить, если будут найдены аналоги): > > ПК>assign, call_traits, compressed_pair, concept check, conversion, date_time (не путать с конкретными классами даты и времени, это концепции, которые могут быть использованы для построения своих классов), dynamic_bitset, enable_if, graph, integer, interval, in_place_factory, typed_in_place_factory, io state savers, iterators, math, minmax, mpl, multi_index, operators, optional, pool (не путать с GC, pool создан для увеличения степени контроля над памятью, а не для уменьшения), preprocessor, property map, python, random, range, rational, static_assert, spirit, string_algo, test, tribool, tuple, type_traits (не путать с reflection, это все работает в compile-time), uBLAS. > > Да, уж. Не здорово ты дотнет знаешь. Почи все перечисленное тобой есть или в языке или в библиотеках.
.Net — не язык, если речь не идет о MSIL. А так... По пунктам, пожалуйста. Одно, случайно попавшее, заметил сам: dynamic_bitset.
> Все эти "concept check" и "static_assert" рядом с возможностями R# не лежали.
R# мы не обсуждаем. Препроцессоры можно к любому языку прикрутить.
> Спириты же вообще отдыхают по сравнению с любым постраителем парсеров и кроме как красивой игрушкой больше ничем не являтся.
Все зависит от задач. Для простеньких вещей генераторы парсеров — overkill.
> ПК> Я тоже не страдаю от "диверсий" со стороны используемых мной библиотек, равно как и от других "грабель C++". > > Ну, это сказка в которую я не поверю.
Я тоже не во все верю, что ты говоришь. Остается agree to disagree.
> 1. Я лично вылавливал две недели одну тревильную (казалось бы) ошибку. Причем посодил ее не я.
Одна из трех за последние более чем пол-года. Эта была самой долгой в диагностике, часа 3-4, наверное. В сумме с остальными двумя можно увеличить до одного дня. Я готов столько накинуть на любой проект ради тех вещей, которые мне нравятся в C++. Никаких особых страданий по этому поводу я не испытываю: ошибки, как ошибки.
Значительно больше неприятностей доставляют логические ошибки, когда при проектировании пропускается какой-нибудь существенный use case, и нужно затрагивать некоторые аспекты дизайна, тяжело поддающиеся изменению. Тогда, да, приходится напрячься. Но плюс-минус то же самое будет и в C#/Java/Whatever.
> 2. На дотнете я больеше получаса на поиск ошибки обычно не трачу. Ну, тяжело добиться ошибки второго/третьего порядка. Нет испорченой памяти, нет выходов за пределы массивов. Везеде нормальные исключения с колстэками. И оптимизатор не наровит извратить код как бог черепаху.
Да, это положительные стороны. Для меня их недостаточно, чтобы скомпенсировать отрицательные.
> ПК> Бывает достаточно редко, чтобы не влиять на сроки разработки проекта.
> Ну, да. До тех пор пока не начали его сдовать. А как ближе к релизу, так... где там Баундчекер?... Какой критин... и т.п.
У себя в проектах я такого не наблюдаю.
> ПК> На практике время отнимают совершенно другие вещи: изменение окружения, изменение логики программы, изменение используемых библиотек и т.п.
> Ну, да. А на то чтобы проектировать время жизни объекто, используемые обертки, контроль кода ты времени и усилий не тратишь? Классно! Просто ты привык к этому грузу и не представляешь как можно жить без него. Вот ты тут не раз приводил Питон в качестве примера языка на котором писать проще.
Проще далеко не всегда. Маленькие вещи — да, проще. Но в основном не из-за безопасности, а из-за 1) динамической типизации; 2) более быстрого цикла разработки (не нужно компилировать, линковать и т.п.). Когда проект дорастает до определенных размеров, становится заметно сложнее. Плюс, Шарпу до Питона по части многих возможностей, меня интересующих, еще расширяться нужно.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2,
>>> Интересно, а для чего ты на работе можешь применять дотнет? Ты же в Маковской конторе вроде теперь работаешь.
> ПК> Ребята под Web пишут для Windows-серверов.
> Ну, тогда выбор ПХП — это самое разумное.
Почему? Я, когда искал себе вебовскую примочку, сначала пытался найти на .Net. Отчаявшись заставить найденное работать, попробовал фигулину, написанную на PHP. Т.к. с ней проблем почти не возникло, на ней и остановился. Пока полет нормальный.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
AndrewVK,
> ПК> Я оценкам особого смысла не придаю. Ставлю без особой системы, как рука ляжет. Кста, недавно поймал себя на проставлении оценки IT за "разгром" C++
А увидел я его недавно
> ПК> Красиво, интересно написал
> Влад то вобщем то же самое пишет, только он не такой классный демагог (в хорошем смысле этого слова).
Ну, я ж не по существу поставил, а потому что форма понравилась
>>> А C# в использовании неудобен?
> ПК>Мне — нет. Удобнее, чем, скажем, Java, но менее удобен, чем некоторые другие языки. Впрочем, ессно, зависит от задач.
> В такой формулировке вопросов не имею. Просто потому что не знаком с твоими задачами. Если же хочешь поговорить о моих задачах — you are welcome.
Думаю, примерно представляю, а на подробности, пожалуй времени нет, т.к., какие вопросы задавать, чтобы более-менее сразу получить интересные ответы, я не знаю А уж какой язык тебе выбирать, уверен, ты и без меня лучше разберешься
> Язык в дотнете не имеет поределяющего значения.
Дык, вот и мне кажется, что если C++/CLI доведут до ума, то .Net для меня, догматика , не будет потерян.
> ПК> Насколько я вижу, в нем мало средств для повторного использования кода на низком уровне (функции, классы-примеси, шаблоны, возможности для создания своих типов, эквивалентных встроенным, и т.п.),
> Достаточно. Просто многие вещи делаются в рантайме.
Дык, я большой фанат жесткой статической типизации...
> А насчет эквивалентным встроенным я не понял.
Ну, в C++ легко можно клепать типы, с точки зрения языка почти такие же, как int. В том числе, работающие с такой же эффективностью. Для этого все есть: и наследование "value" классов, и шаблоны, и пресловутые "свободные" функции и т.п. В C# я для подобных вещей мало что нашел.
> P.S. Паш, я на полном серьезе — помог бы в плане разработки, заодно и .NET получше узнаешь.
Спасибо, я подумаю. Кстати, сейчас, пожалуй впервые появилась возможность хоть что-то в этом направлении сделать: раньше подходящие машины были только на работе, дома как-то всякое старье держал... Правда, боюсь, в стеке есть много задач, которые имело бы смысл до залезания в сайт сделать... В любом случае, сайт поднять дома уже давно хотел, хотя бы, чтобы попробовать прикрутить несколько удобств для модерирования. В общем, надеюсь таки попробовать хоть это сделать.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2,
>>> Вообще, прогрес заметен даже с тобой Помнится начиналось все с совсем уж снобизма и нежелания поверить, что на дотнете можно писать "серьезный" софт.
> ПК>Ссылки давать будем, или опять "ой ли" обойдемся?
> Да тут на каждое сообщение можно ссылки давать. Например: > Re[41]: Опять С++ vs С#
1) Не катит, т.к. речь идет не о возможности написания "серьезного" софта вообще, а о некоторых недостатках/неудобствах написания игр на C#.
2) В контексте обсуждения речь шла о C#. Против написания игр на дотнете, но с использованием языков, более приспособленных для контроля распределением памяти (например, C++/CLI), ничего не имею.
> Re[42]: Опять С++ vs С#
И? Время сборки мусора для первого поколения существенно меньше? А второго хоть на сколько-то меньше? И, снова-таки, причем здесь возможность написания "серьезного" софта?
> Re[55]: Чем становится C++?
Где там хоть слово о возможности написания "серьезного софта"?
>>> за какую-нибудь чушь ВГ ставишь полную еденицу, а нам с АВК пока что только +1.
> ПК>Не ревнуй
> Да ты вроде не девушка. Просто забавна тактика.
Тебе тоже оценок мало? И тебе "3" поставил, раз это для тебя что-то особое значит. Вообще, я ставлю оценки там, где возникает такое желание (последнее время, правда, сдерживаюсь от смайликов и минусов, т.к., судя по всему, некоторые это воспринимают негативно). Никакой "тактики" в оценки я не вкладываю.
> ПК> и 2) его можно будет практически использовать для настольных приложений не только под Windows.
> Вот с этим сложнее.
Ну, тогда (пока?) не судьба. Нам нужно и под Мак, и под Винду. И (пока что?) хочется, чтобы использовалось максимум встроенных платформенных контролов, а не свои рисовались, как в Java или Опере, например.
> На плюсах тоже как-то хреновенько выходят кросплатфрмные ГУИ.
Ну, мы особо не жалуемся, вроде, с этой частью все в порядке Больше вопросов о том, как ту или иную фичу сделать, чтобы всем удобно было. Да и какие фичи нужны, и в каком виде, тоже вопрос еще тот. Вот это, да, проблемы, на которые идет время.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
SheetDrawer наследовались от Rectange просто для того, чтобы их коллекцию
> можно было скормить функции, умеющей как-то упорядочивать прямоугольники
> Нормальный дизайн заключался бы в создании специальнго компарера и универсальной фукнции сортировки. А этои слва... ну ты понял.
Все зависит от полной картины. Можно представить массу случаев, где описанный тобой подход приводит к значительно большему количеству работы. И, главное, на ровном месте, т.к. никаких недостатков, кроме несоответствия твоим вкусам, у приведенного решения не наблюдается.
> Вся тавоя тактика сводится к тому, что ты ставишь их под сомнения не высказывая открытого несогласия и когда тебе говорят, что ты с ними не согласен, то ты сразу просишь привести ссылки где ты это говорил.
Потому что я не соглашаюсь с частными утверждениями, обычно приводя аргументы, а ты порой приписываешь мне высказывания (обычно о "глобальных" вещах), которых я не делал.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
"Павел Кузнецов" <5834@users.rsdn.ru> wrote in message news:974092@news.rsdn.ru > VladD2, >> ... > Скажем, если бы C++ остался бы тем же, что сейчас, но пресловутая > арифметика указателей была бы вынесена в какой-нибудь "unsafe", > наверное, был бы "за" (хотя, имхо, есть более удачные альтернативы).
Какие нибудь подвИги в этом направлении есть? Мне такая идея жутко импонирует (выделить кривые фичи, уходящие корнями глубоко в C в отдельное подмножество, использовать которое можно лишь явно его указывая, типа "unsafe"). Я обычно слежу за документами WG21-C++, но что-то ничего подобного пока не видел. Так-же хотелось бы узнать и про более удачные альтернативы.
> Плюс еще ряд улучшений не повредил бы. Но с сохранением возможности > использования наработанных в C++ приемов.
Естественно с сохранением. Сказать честно, то, что дало C++ толчек популярности в свое время теперь является наибольшим препятствием C++, которое не дает ему продвигаться вперед. Это совместимость с C на уровне исходного кода. Проблема даже не в том, что C++ из-за этого теряет в своей мощности, а в том, что люди не хотят отходить от C-стиля программирования. Stroustrup об этом говорил в одном из интервью. Я сам слышал подобные мысли от Sutter'а. Но слова почему-то не приводят к действиям. Я думаю WG21 очень сильно недооценивает человеческую природную инертность в этом смысле. Я вижу просто горы программистов (с 10 летним опытом и более, один из которых даже в свое время работал над компилятором C++), которые не знают основных идиом C++ (вот так!). Или, вот, читаешь документы WG21 или boost, и работаешь с реальным кодом, написанным реальными людьми, — это небо и земля. Это как подняться на Олимп и спуститься в грязные лачуги. (А по некоторым постингам из форума C++ я понял, что те, кто в них сидят, выходить не собираются. Что только стоит "мы против lexical_cast!" But I digress.)
А выдели все это барахло в отдельный подраздел, что-то вроде extern "C Compat", сломай совместимость один раз с возможностью с небольшими трудозатратами отпортировать существующий код, и дальше можно развивать язык в двух направлениях: "true C++" & "C Compat". Тут-то люди и захотят научиться true C++, потому как кому охота будет признать, что он до сих пор сидит в "C Compat" подмножестве языка. Ущемлённая гордость заставит выучить C++ и отказаться от привычных "грязных" методов из C.
Но... с одной стороны подобное развитие событий очень желательно, а с другой маловероятно. Чуствую я, что "кишка тонка" у Страуструпа и Ко (или кто там сейчас наиболее активный в WG21?). Страуструп (я использую его имя как обобщенный образ) в свое время "убил дракона", сейчас же он сам этот дракон. Уже на него организуются походы. Java, C#, D имеют в этом смысле успех, отрубая у него некоторое количество голов. Но, как ты очень правильно выразился, ни один из них не "вставляет." Не родился еще dragon slayer version next. Хотя я очень надеюсь, что C++/CLI (точнее C++/CLI + STL.NET) будет катализатором для этого рождения. Основание я вижу в том, что в C++/CLI делаются попытки (пусть и неявные) вынести работу в стиле C в отдельный подкласс языка. Кстати, он уже положительно влияет на стандарт C++ (nullptr, enum class), за что ему большой плюс.