vak: (Default)
[personal profile] vak
Всего несколько лет (точнее, семь) мне не приходилось иметь дела с C++, и как выясняется, я пропустил целую революцию в языке. Смотрю в код как баран на новые ворота, и выясняю, откуда что взялось. К примеру:
std::string msg = "foobar"s;
Откуда берётся это s и почему оно не компилируется, когда я убираю "using namespace std"? Оказывается, конструкция из стандарта c++14. Другой пример, инициализаторы с фигурными скобками:
int foo {123};
Или конструкторы с ключевым словом explicit:
class Foo {
    explicit Foo();
    ...
}
Там ещё вагон и маленькая тележка всякого. Сижу теперь, обложился книжками по C++11, C++14, C++17, догоняю прогресс. Оба компилятора, и gcc и clang, давно поддерживают все эти фичи.

Ещё одно открытие - IDE CLion. Вся наша команда активно использует его в разработке. Вторую неделю сижу в нём - удивительно, но вся по уму, ничего не раздражает.

Date: 2019-12-26 06:01 (UTC)
sab123: (Default)
From: [personal profile] sab123
explicit сушествует уже давно, с начала 2000х. А в C++14 две самые милые фичи - auto и итерация через for (:).
dememax: (glider)
From: [personal profile] dememax
+100500

Не говоря уже о том, что некоторые милые фичи тоже были доступны уже давно, но как расширения (а, автор написал, что уже давно, и по-моему в gcc ещё до того, как clang можно было пользоваться, нет?).

Date: 2019-12-26 12:40 (UTC)
From: [personal profile] cross_join
Да, есть такой тренд превращения части языка в Питон
https://www.arbinada.com/ru/node/1652

Date: 2019-12-27 11:01 (UTC)
vit_r: default (Default)
From: [personal profile] vit_r
Питон - это студенческий язык. Любой студенческий язык приятен для индивидуальных извращений, но при попытке применения его в индустриальном контексте начинается... групповуха.

То, что с очередным языком прозошло то же самое, это закономерность.

Date: 2019-12-26 15:55 (UTC)
From: [identity profile] altmind.livejournal.com
инициализаторы с фигурными скобками и инициализация через присваивание опасны случайным вызовом copy конструкторов или implicit преобразованиями типов и иногда выскакивающим initializer_list. в effective modern C++ рекомендуют использовать один вид инициализации, и рекомендуют круглые скобки.

Date: 2019-12-26 16:05 (UTC)
From: [identity profile] altmind.livejournal.com
книга кстати очень подходит тем кто уже умеет C++ и хочет доучить новые фичи языка.

посмотрите на новые проекты в stdlib, много самых популярных бустовых либ уже интегрированы в язык. std:variant, fs library, smart pointers, locks.

в clion чуть-чуть раздражает что ide умеет только cmake, что убивает любые попытки перелезть на другую build system https://github.com/fffaraz/awesome-cpp#build-systems
cmake не идеален, иногда его "декларативность" мешает.
Edited Date: 2019-12-26 16:08 (UTC)

Date: 2019-12-26 20:59 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
И Питон уже не тот.

Date: 2019-12-27 06:08 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Да он, признаться, и был всегда корявый до ужаса и тупой. За это учёным нравится: решаешь задачу, а не увлекаешься программированием.

Тот же Руби — не в пример более красивый язык. Да чего там, просто доаольно красивый. Для инжереров.

Date: 2019-12-27 06:05 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
C++ уже не тот, что C, через 20 лет активного применения _в_языке_ появились строки %)

Date: 2019-12-27 17:19 (UTC)
From: [personal profile] bowhill
Строки без алфавитов — это, извините, обман трудящих.

Date: 2019-12-30 08:15 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Ну оно много где так, чего уж