С++11 -> ...
похоже уже на уиндоуз, визуал студио и пр. с каждым годом новые "стандарты".
хорошо ли это? на моей памяти (меня лично коснулось) был только "фортнан IV". остальные языки не претерпевают таких кардинальных изменений. скорее появляются новые языки. с новыми стандартами, парадигмами и ...ЦЕЛЕВЫМИ ПРИЛОЖЕНИЯМИ.
появление С++11 для меня было попыткой франкенштайна возродить умирающее. путем усложнения и без того не самого из простых.
сиходя из вышерассказанного предлагаю высказаться тем, кто сталкивается в повседневной жизни с новыми стандартами.
0. когда и с какой целью "ввели"?
1. чего конкретно ожидали от введения?
2. как "введение" происходило: запретили использование raw pointers, например? а как заставить использование ламбда?
3. если есть конкретный простой пример, или конкретные данные, позволяющие оценить успех/неуспех, то было бы здорово.
4. с наступающим всех нас, а то вообще!
появление С++11 для меня было попыткой франкенштайна возродить умирающее. путем усложнения и без того не самого из простых.
Заставь дурака богу молиться, так он и последнюю версию C++ использовать будет.
С++ вообще нет смысла польjjзовать - проблем существенно больше чем преимуществ. Если очень хочется эффективности, и без приставки ОО никак не обойтись, то старого доброго Си вполне достаточно: object-oriented programming in C И волки сыты, и овцы целы.
0. когда и с какой целью "ввели"?сделали лучше.
мне вот лямды в плюсах нравятся гораздо больше чем в шарпе.
...
но сам для себя я предпочитаю на шарпе баловаться. но это небольшие проекты.
А вот на работе у нас разработан большой проэкт на шарпе, как замена старому на плюсах. Так вот с прискорбием замечаю, что сложность (скорее запутанность для понимания) нового превышает плюсовый, И тормознутостью новый отличается в худшую сторону. Хотя есть и преимущества: ВПФ позволил автотестирование юзер интерфейса. Но пользователю ведь важна производительность (а не тесты), а стабильность ему - само собой разумеющееся.
...
ранее я бывало выражал недовольство библиотекой boost для плюсов, ну мол слишком сложно для простых вещей (как на танке в булочную за углом с\ездить), для элементарного действия в стеке вызовов - десяток строчек а то и больше! Так вот в шарпах (в нашем новом проекте) я вижу тоже самое! И всё это тормозит, причем так что не поддается оптимизации (за исключением - выбросить и переписать заново, что уже невозможно).
...
по мой-му этот изящный linq (который я очень ценю) всё таки таит в себе зло: на нем легко писать (не замечая этого, особенно думая только об изящной краткости кода) тормознутые программы. Редкие программисты сразу тестируют свой код на предельное количество данных, и тестеры тоже. А когда тормознутость вылезет - уже поздно что менять - слишком сложно.
Можно на шарпе написать какашку, которая будет сильно сложнее и сильно медленнее плюсов. Можно на плюсах написать какашку, которая будет сильно медленнее и сильно сложнее шарпов. Всё зависит от архитекторов и кодеров. Но в принципе языки - разные и по назначению, и по сути. Шарпы - мультипарадигменный язык (структурный, объектноориентированный, функциональный) для быстрой разработки энтерпрайза, серверно-базоданных штук и немного гуя. Плюсы - мощнейший хай-перформанс (чуть медлненнее чистого ЦЭ) для драйверов и прочей магии ядер и процессоров с более-менее чем-то похожим на объектно-ориентированность, плюс эдвансд уровень мета-программирования (читай шаблоны).
Я не писал, что есть "проблемы по скорости". Это твоя (неверная) интерпретация моего комментария. Я тебе на шарпах слабаю алгоритм, который будет до наносекунд так же быстр, как на плюсах. Вопрос в другом - плюсы под это заточены, шарп - нет, шарп заточен под другое.
Я не писал, что "плюсы хуже в ОО". Я писал, что плюсы дают что-то очень похожее на ОО. Почему плюсы не "чистый ОО язык"? Потому что int в плюсах - это не объект, а главная функция main (точка входа) не принадлежит никакому классу и не может принадлежать.
Я тебе на шарпах слабаю алгоритм, который будет до наносекунд так же быстр, как на плюсах
ну это если специально алгоритм пару лет подбирать
https://habr.com/en/post/266163/
Я писал, что плюсы дают что-то очень похожее на ОО
Определение ОО в студию, плиз. Я пока только это нашел
но речь ведь не об этом.
совершенно верно. речь о прибамбасах к сиплюсам в виде 11, 15, ...
ожидаю, когда же наконец добавят к стандарту garbage collector и выкинут все смартпойнтеры, например, за ненадобностью : )
и название уже давно пора подыскать правильное. отражающее.
...и выкинут все смартпойнтеры
Не хочешь - не пользуй (и не только смартпойнтеры), выбрасывать-то зачем?
ожидаю, когда же наконец добавят к стандарту garbage collector
От garbage collector меня тошнит не по-детски везде, где он есть. Зачем плюсы им похабить? C# и Java с ним есть, и достаточно.
Здравствуйте,
Мне нравится список инициализации https://crascit.com/2015/01/10/cpp-list-initialization/
Нехватало, особенно после питона если сразу переключатся. Помагает также реализовать парадигму "выноса данных из кода".
Лямбда-выражения/кложуры исспользовать пока не могу (не вижу отчетливого преимущества). Думал, почему так, и пришел к заключению, что надо понаблюдать как эти конструкции иссползуют люди, которые всегда имели возможность ползоватся лямбдами, к примеру. Межет чего научусь :)
Лямбда-выражения/кложуры исспользовать пока не могу (не вижу отчетливого преимущества)
не знаю как точно как в плюсах, но на шарпе код часто читается удобнее с лямбдой. Хотя конечно, дело привычки.