Здравствуйте, UA, Вы писали:
U>>Про concepts lite начилось очень даже неплохо, но потом как обычно чем дальше в лес тем больше дров. UA>2017? Страуструп намерен жить тысячу лет не меньше
Ну это-ж хорошо! Очевидные вещи, которые не ввели в язык сразу (типа двоичных констант, подчеркиваний в числах или произвольных литералов в качестве параметров шаблона) начали вводить сейчас. Жаль только, дурацкая совместимость с терабайтами древнего кода мешает языку развиваться. Хорошие программеры свой код за неделю переписали бы, а плохие — ну и фиг бы с ними.
Здравствуйте, NeoCode, Вы писали:
NC>Ну это-ж хорошо! Очевидные вещи, которые не ввели в язык сразу (типа двоичных констант, подчеркиваний в числах или произвольных литералов в качестве параметров шаблона) начали вводить сейчас. Жаль только, дурацкая совместимость с терабайтами древнего кода мешает языку развиваться. Хорошие программеры свой код за неделю переписали бы, а плохие — ну и фиг бы с ними.
Объясню про "минус". У меня, к примеру, примерно 25 миллионов строк кода в проекте. Даже просмотреть за неделю не выйдет.
Поэтому совместимость — очень полезное явление в C++.
Здравствуйте, McQwerty, Вы писали:
MQ>Здравствуйте, NeoCode, Вы писали:
NC>>Ну это-ж хорошо! Очевидные вещи, которые не ввели в язык сразу (типа двоичных констант, подчеркиваний в числах или произвольных литералов в качестве параметров шаблона) начали вводить сейчас. Жаль только, дурацкая совместимость с терабайтами древнего кода мешает языку развиваться. Хорошие программеры свой код за неделю переписали бы, а плохие — ну и фиг бы с ними.
MQ>Объясню про "минус". У меня, к примеру, примерно 25 миллионов строк кода в проекте. Даже просмотреть за неделю не выйдет. MQ>Поэтому совместимость — очень полезное явление в C++.
MQ>>Объясню про "минус". У меня, к примеру, примерно 25 миллионов строк кода в проекте. Даже просмотреть за неделю не выйдет. MQ>>Поэтому совместимость — очень полезное явление в C++.
UA>Пиши тесты
Толку с этих тестов если оно вдруг перестанет компилироваться.
Хотя я против совместимости, ИМХО нужно разделить язык на два поколения, условно до того как auto было ключевым словом для обозначения стековой переменной
и после того как оно сгодилось для type deduction.
Вся эта совместимость ИМХО только будет тормозить развитие языка и новых фитч, тут народ переодически ноет что С++ все меньше и меньше нужен.
Здравствуйте, nen777w, Вы писали:
N>Вся эта совместимость ИМХО только будет тормозить развитие языка и новых фитч, тут народ переодически ноет что С++ все меньше и меньше нужен.
Новых версий языков, "как с++, тока лучше" и так, как грязи, вообще-то...
Тока они никому не нужны.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, nen777w, Вы писали:
N>Вся эта совместимость ИМХО только будет тормозить развитие языка и новых фитч, тут народ переодически ноет что С++ все меньше и меньше нужен.
Заметь, не первый десяток лет ноет.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, nen777w, Вы писали:
N>Толку с этих тестов если оно вдруг перестанет компилироваться.
Зачем совместимость на уровне исходников, если можно ограничиться бинарной совместимостью? Вот живут же вместе библиотеки С и С++, почему бы не жить С++ и С++1х?
Тем более, что продвинутые компиляторы и так ведут разные стандарты (-std).
Здравствуйте, uncommon, Вы писали:
U>В исполнении Страуструпа: U>https://parasol.tamu.edu/people/bs/622-GP/C++14TAMU.pdf
U>Про concepts lite начилось очень даже неплохо, но потом как обычно чем дальше в лес тем больше дров.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Erop, Вы писали:
E>>Новых версий языков, "как с++, тока лучше" и так, как грязи, вообще-то...
RO>Огласите весь список, пожалуйста.
Здравствуйте, nen777w, Вы писали:
N>Хотя я против совместимости, ИМХО нужно разделить язык на два поколения, условно до того как auto было ключевым словом для обозначения стековой переменной N>и после того как оно сгодилось для type deduction. N>Вся эта совместимость ИМХО только будет тормозить развитие языка и новых фитч, тут народ переодически ноет что С++ все меньше и меньше нужен.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Огласите весь список, пожалуйста.
Ну с D начни...
А вообще-то немерле же, ясен пень, чё думать-то?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Mr.Delphist, Вы писали:
E>>>Новых версий языков, "как с++, тока лучше" и так, как грязи, вообще-то... RO>>Огласите весь список, пожалуйста. MD>Rust, D — это что навскидку вспомнилось.
Здравствуйте, Mr.Delphist, Вы писали:
MD>Rust, D — это что навскидку вспомнилось.
Эти два мне тоже сразу вспомнились. Вот только Rust, мягко говоря, ещё не готов — даже версия релиза на это явно намекает.
D — пример получше. Но это всего два, не тянет на "как грязи".
Здравствуйте, Roman Odaisky, Вы писали:
RO>А Rust разве zero-overhead?
А D? Я с языком правда слабо знаком, но из того, что слышал — отключение GC не совсем гладко проходит, например. Впрочем, рад буду послушать тех, у кого с D опыта побольше.
Здравствуйте, flаt, Вы писали:
F>Зачем совместимость на уровне исходников, если можно ограничиться бинарной совместимостью? Вот живут же вместе библиотеки С и С++, почему бы не жить С++ и С++1х? F>Тем более, что продвинутые компиляторы и так ведут разные стандарты (-std).
Ну могут быть всякие трудности с рантаймом, а так, да, можно просто взять и разработать вообще другой, более "правильный" язык, даже, лишь бы интероп с С++ был прозрачный...
Тока D уже как бы есть...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, DarkEld3r, Вы писали:
DE>D — пример получше. Но это всего два, не тянет на "как грязи".
Ха! Это тока известные. Ещё есть кучка всяких альтернативных препроцессоров и поделий на них...
В целом поинт в том, что это как-то не востребовано...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Mr.Delphist, Вы писали:
E>>>>Новых версий языков, "как с++, тока лучше" и так, как грязи, вообще-то... RO>А Rust разве zero-overhead?
А почему "как с++, тока лучше", должен быть, обязательно zero-overhead?
Вообще-то могут быть разные концепции "улучшений" С++.
Вот, например, я знаю несколько промышленных реализаций GC для C++...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Roman Odaisky, Вы писали:
RO>Огласите весь список, пожалуйста.
Ну, давай с CLI начнём...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
DE>>D — пример получше. Но это всего два, не тянет на "как грязи".
E>Ха! Это тока известные. Ещё есть кучка всяких альтернативных препроцессоров и поделий на них...
А можно полный список? Я как раз собираю информацию о таких языках и "поделиях" здесь
U>Про concepts lite начилось очень даже неплохо, но потом как обычно чем дальше в лес тем больше дров.
Космические корабли там, надо сказать, бороздят.
А вот про то, чтобы наконец-то доделать аллокаторы STL, до сих пор воз ныне там. Хотя в первом draft 14 уже были почти все необходимые моменты (propagate_on_container_copy_assignment, propagate_on_container_move_assignment, below propagate_on_container_swap), забыт только list::splice, но там непонятно как нормально сделать.
PS: хотя, конечно, признаю, что аллокаторы в c++ 11 наконец-то стали полезным инструментом. Так что даже можно без boost::interprocess (и без дорогого offset_pointer) сделать автодамп всего и вся на диск через кастомный аллокатор backed up by memory mapped file. Я об этом лет 10 мечтал. Да здравствуют логи душистые
Здравствуйте, Erop, Вы писали:
E>>>>>Новых версий языков, "как с++, тока лучше" и так, как грязи, вообще-то... RO>>А Rust разве zero-overhead? E>А почему "как с++, тока лучше", должен быть, обязательно zero-overhead? :shuffle:
Потому что иначе это не будет «как C++», очевидно же.
Здравствуйте, Roman Odaisky, Вы писали:
E>>А почему "как с++, тока лучше", должен быть, обязательно zero-overhead? RO>Потому что иначе это не будет «как C++», очевидно же.
Почему это "очевидно"? И с чего ты взял, что С++ без оверхеда? Традиционные источники оверхеда в С++, например, это аллокаторы. Там фрагментация, оверхед при огранизации блоков, массивов, тормоза на синхронихации доступа к аллокатору и прочее.
У GC, например, совсем другая структура оверхеда. Дальше уже от задачи завиасит, что ближе и роднее
Совершенствовать язык можно же в разные стороны. Особенно, если мы ещё и от части отказаться хотим
В целом, мне так кажется, что одинм из источников популярности С++ является не только относительно удачный дизайн его в прошлом, но и большая база уже написанного под тот дизайн кода.
Поэтому радикальные несовмстимые изменения, будут равносильны разработке просто ещё како-нибудь D+, или там, E++, и т. д... И мало кому окажутся нужны. Попытки же такие время от времени предпринимаются, и как-то всё не стреляют и не стреляют
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Смущает, что мы принимаем контейнер как rvalue reference/universal reference, то есть можно и временный обьект передать. Но при этом возвращается итератор?
Здравствуйте, McQwerty, Вы писали:
MQ>Объясню про "минус". У меня, к примеру, примерно 25 миллионов строк кода в проекте. Даже просмотреть за неделю не выйдет. MQ>Поэтому совместимость — очень полезное явление в C++.
+ много
Ненавижу ту сволось, что придумала сделать python 3 несовместимым с python 2
Здравствуйте, nen777w, Вы писали:
N>ИМХО нужно разделить язык на два поколения, условно до того как auto было ключевым словом для обозначения стековой переменной N>и после того как оно сгодилось для type deduction.
— Опыт python (версия 2 несовместима с версией 3) кажется примером, почему так делать не нужно.
— Да и непонятно, что выкидывать. Совместимость с C — очень полезная фича.
N>Вся эта совместимость ИМХО только будет тормозить развитие языка и новых фитч, тут народ переодически ноет что С++ все меньше и меньше нужен.
.. караван-то идёт.
Ноют в основном продавцы и евангелисты. Убить совместимость, и ныть начнут уже инженеры.
Здравствуйте, Константин, Вы писали:
К>Здравствуйте, McQwerty, Вы писали:
MQ>>Объясню про "минус". У меня, к примеру, примерно 25 миллионов строк кода в проекте. Даже просмотреть за неделю не выйдет. MQ>>Поэтому совместимость — очень полезное явление в C++.
К>+ много К>Ненавижу ту сволось, что придумала сделать python 3 несовместимым с python 2
Питоны 2.x не очень совместимы между собой, хотя 3.0 конечно это более резкое изменение.
Можно было и плавнее сделать так чтобы никто не догадался