The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В компиляторе G++ обеспечена поддержка C++17

13.01.2017 09:42

Разработчики GCC реализовали в компиляторе G++ все возможности, определённые в черновике грядущего стандарта С++17 (C++1z), финальный вариант которого ожидается в этом году. В libstdc++ отдельные возможности C++17 пока остаются нереализованными. Экспериментальная поддержка всех возможностей C++17 будет предоставлена в составе GCC 7.0 и для включения потребует указания флага "-std=c++1z", а для включения GNU-расширений - флага "-std=gnu++1z".

В Clang работа над поддержкой C++17 также близка к завершению, не готовыми пока остаются только лямбда-выражения constexpr, выведение (дедукция) аргументов шаблона для шаблонов класса и сопоставление параметров шаблона с совместимыми аргументами.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: HTML 5.1 получил статус рекомендованного стандарта
  3. OpenNews: Утверждён стандарт ECMAScript 7 (2016)
  4. OpenNews: Опубликован графический стандарт Vulkan 1.0
  5. OpenNews: Объявлено о готовности международного стандарта C++14
  6. OpenNews: В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45846-cpp
Ключевые слова: cpp, gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (148) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Anonchip (?), 09:58, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    GCC лучший!
     
     
  • 2.2, Аноним (-), 10:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +22 +/
    Только сам язык C++ уже не лучший из-за неоправданной переусложнённости последними стандартами.
     
     
  • 3.3, Аноним (-), 10:19, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Не используй возможности последних стандартов. С++ - платишь только за то, что используешь.
     
     
  • 4.6, Аноним (-), 10:36, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    все равно их надо изучить:
    1) чтобы понять, что они тебе не нужны
    2) чтобы не выпадать из тематических дискуссий (никто не тыкал в тебя, что ты давно устарел и не угнался за прогрессивными фичами)
     
     
  • 5.8, Аноним (-), 10:49, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Без этого можно обойтись. Я знаю людей, которые обходятся. У меня на работе это все, кроме меня...
     
  • 5.14, Аноним (-), 11:07, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Да, учиться вообще вредно.
     
     
  • 6.16, Andrey Mitrofanov (?), 11:24, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Да, учиться вообще вредно.

    В смысле, "дурака учить - только портить"?  Согласен!  Мудрость народа, да.  Возразить %) нечего.

     
  • 5.15, rshadow (ok), 11:20, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вам надо на скриптовые языки перебираться с таким подходом. Либо в работе что-то менять. Забивать гвозди микроскопом всегда было очень сложно.
     
  • 4.19, VoDA (ok), 11:35, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не используй возможности последних стандартов. С++ - платишь только за то, что
    > используешь.

    Даже в малом проекте (человек на 5-10 разработчиков) за 5 лет будут использованы ВСЕ возможности языка и все паттерны и анти-паттерны. Потому придется изучать все. Либо собирать грабли и опять изучать.

     
     
  • 5.44, Crazy Alex (ok), 12:41, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну если у вас ни стайл-гайда, ни ревью нет... А так - вон, у гугла с мозиллой получается даже без довольно фундаментальных вещей (искючений тех же) обходиться. Отнюдь не на проектах  в 10 человек.
     
     
  • 6.134, ram_scan (?), 20:16, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А если есть стайл гад и прочие плюшки но на куда эти мегафичи уперлись вообще если коран как правило их юзать не велит ?
     
  • 3.52, scorry (ok), 13:50, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    На асм ещё пожалуйся.
     
  • 3.55, Мяут (ok), 14:04, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    C++: Что если мы добавили в язык все что могли?
    C++11: Что если мы не можем остановить процесс добавления возможностей?

    (c) http://argumate.tumblr.com/post/118013166244/python-what-if-everything-was-a-

     
  • 3.74, Аноним (-), 16:27, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Выскажу неожиданную для вас мысль Последние стандарты не только лишь усложняю... большой текст свёрнут, показать
     
     
  • 4.128, all_glory_to_the_hypnotoad (ok), 18:33, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    gt оверквотинг удален Так делают только законченные д бы, в подобных случаях ... большой текст свёрнут, показать
     
  • 3.127, all_glory_to_the_hypnotoad (ok), 18:05, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    За последние лет 10-15 как раз таки стал лучшим. В любом случае альтернатив ему всё ещё нет, может быть только rust отрежет некоторые ниши.
     
  • 2.62, Аноним (-), 14:47, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    лучший у помойки?
     
     
  • 3.64, Andrey Mitrofanov (?), 15:05, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > лучший у помойки?

    Не беспокойтесь. Ваши регалии вне опасности.

     

  • 1.4, Аноним (-), 10:31, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Плюсы только расцветают с последними обновлениями!

    Они перестали тянуть за уши максимальную совместимость с Си-ассемблером? Язык явно становится стройнее и чище.
    Ща, еще только сборщик добавят в стандарт (опциональный). И, можно сказать, мы увидим его таким, каким его задумывал Страуструп.

     
     
  • 2.10, Аноним (-), 10:54, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Страуструп его как раз задумал сделать без сборщика. Но против ничего не имеет, если его можно будет подключать как расширение.
     
     
  • 3.20, Andrey Mitrofanov (?), 11:38, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Страуструп его как раз задумал сделать без сборщика. Но против ничего не
    > имеет, если его можно будет подключать как расширение.

    На Си но проще... наверное... https://packages.debian.org/src%3Alibgc

    user:~$ apt-cache rdepends libgc1c2 |grep '^  '|sort -u
      asymptote
      chase
      debfoster
      ecl
      fauhdlc
      goo
      guile-2.0-libs
      inkscape
      kaya
      libapache2-mod-parser3
      libgc-dev
      libmailutils4
      libneko0
      libsynopsis0.12
      mailutils
      parser3-cgi
      w3m
    user:~$ _

     
  • 2.18, Тот_Самый_Анонимус (?), 11:34, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Труп страуса ещё выступал за максимальную совместимость с Си. Может вы наоборот являетесь его противником?
     
     
  • 3.108, Аноним (-), 00:26, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это не так. Не за максимальную, а за максимально возможную. C++ уже в конце 80-х не был совместим с C.
     
  • 2.23, Andrey Mitrofanov (?), 11:56, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Плюсы только расцветают с последними обновлениями!
    > Они перестали тянуть за уши максимальную совместимость с Си-ассемблером? Язык явно становится
    > стройнее и чище.

    Кто-то ж из Анонимов говорил, что то ли Си14 будет ообязятелен в Си++19, то ли кактие-то другие числа, но врожде ж обязателен... Вроде, на днях же ж -- но найти ссылку на авторитетного Анонима сейчас не могу.  //Ау! Где, ты, о Всеведущий??

    > Ща, еще только сборщик добавят в стандарт (опциональный). И, можно сказать, мы
    > увидим его таким, каким его задумывал Страуструп.

     
     
  • 3.144, kachsheev (ok), 11:45, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Кто-то ж из Анонимов говорил, что то ли Си14 будет ообязятелен в Си++19

    Точно известно, что в C++17 обязателен C11. К тому же, разве C14 существует?

     
     
  • 4.146, adolfus (ok), 15:13, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Существует только С++11. Все остальное есть фейк и кал, пока не выйдет из комитета в виде печатного релиза.
     
     
  • 5.149, Led (ok), 00:45, 19/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Существует только С++11. Все остальное есть фейк и кал

    А ты - первое или второе? или сочетаешь?


     
  • 4.150, Andrey Mitrofanov (?), 15:13, 19/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Кто-то ж из Анонимов говорил, что то ли Си14 будет ообязятелен в Си++19

    ", то ли кактие-то другие числа".

    > Точно известно, что в C++17 обязателен C11. К тому же, разве C14
    > существует?

    Я позволил себе [от/про]пустить отсвоение сортов чисел. На уровне после прочтения K&R примерно. И фигурно вырезанной выше конструкцией "то ли X, то ли Y" и прикреплёнными к ней вопросами к Сверхразуму, я, как мне казалось, ясно обозначил не особую свою уверенность в тех числах.  Надеюсь, я помог Вам В Вашем затруднении?  Если ещё что-то не понятно, обращайтесь.  Спасибо.

     
  • 2.123, Аноним (-), 14:26, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну совместимость с Си-ассемблером у него всегда была плохая вследствие несоместимости ABI. И уж точно Страуструп не задумывал туда пихать функциональщину.

    PS Ну право же, для любитей ФП и ООП одновременно есть OCaml, который тоже может в машкоды компилировать.

     

  • 1.5, Аноним (-), 10:33, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    модули добавили?
     
     
  • 2.28, freehck (ok), 12:13, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А пространства имён - чем не модули для плюсов?
     
     
  • 3.33, Аноним (-), 12:23, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Кому и кобыла невеста.
     
  • 3.75, Аноним (-), 16:42, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А пространства имён - чем не модули для плюсов?

    Модули - это несколько другое. А именно, возможность не вести "двойную бухгалтерию", т.е. не дублировать заголовки функций в .h и .cpp файлах. Почитайте здесь:

    https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c-modules-in-vs-2015-update

    Думаю, так использовать эту возможность нужно далеко не всегда, всё-таки часто бывает полезно отделять интерфейс от реализации, но в некоторых случаях модули определённо будут полезны.

     
     
  • 4.81, freehck (ok), 17:48, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Хм Я понял, смысл в том, что хочется уйти от необходимости отдельно писать код ... большой текст свёрнут, показать
     
     
  • 5.93, nobody (??), 19:58, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Хм. Я понял, смысл в том, что хочется уйти от необходимости отдельно писать код в .cpp/.cxx

    Неправильно понял. Шаблоны в .cpp не поместишь, они до сих пор живут в хэдерах. 90% того же Boost - в хэдерах. И практически всё это компилятору нужно переразбирать при компиляции чуть ли не КАЖДОГО .cpp из проекта

     
  • 5.95, Ivan (??), 20:01, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я бы сказал, что это не главная фича Основная мотивация это позволить компилято... большой текст свёрнут, показать
     
     
  • 6.117, freehck (ok), 12:01, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Я бы сказал, что это не главная фича. Основная мотивация это позволить
    > компилятору закешировать результат парсинга/синтаксического анализа хедеров и переиспользовать
    > его в каждой единице трансляции. Сейчас компилятору приходится парсить/анализировать
    > хедер столько раз, сколько он инклудится в разные единицы трансляции.

    Это-то понятно. Когда интерфейсы компилируются отдельно - это станартная практика. Хорошо бы ещё позволить интерфейсы модуля прописывать отдельно, в целях инкапсуляции вспомогательных функций. Думаю, в сях многие этого хотели бы.


     
  • 5.147, adolfus (ok), 15:14, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А вот если смогут реализовать наследование, расширение модулей и генерацию на лету
    > (functors) на основе других модулей, то это будет мега-фича. Впрочем, с
    > фанкторами, скорее всего не получится. Они будут, пожалуй, сродни модулям первого
    > порядка, а в c++ реализовать подобное будет сложновато.

    На лету и остальная динамика хороши с точки зрения академического интереса. Для продакшена хотелось бы возможности явного отключения тяжелых конструкций, например, все динамическое, проверки границ и прочее. Чтобы было что-то типа прагмы. Указал ее и отрубились все фичи, отбирающие время и защищающие от дурака.
    Не мешало бы поиметь несколько точек входа в процедуру и арифметическое ветвление на три ветки, прямой выход из вложенных вызовов с очисткой стека,

     
     
  • 6.152, freehck (ok), 02:23, 05/02/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > На лету и остальная динамика хороши с точки зрения академического интереса.

    Этот самый академический интерес работает не сильно медленнее обычного Си. Раза эдак в четыре всего.

    > Для продакшена хотелось бы возможности явного отключения тяжелых конструкций, например, все динамическое, проверки границ и прочее. Чтобы было что-то типа прагмы.

    Посмотрите на Ocaml. Там именно так и сделано.

    > Не мешало бы поиметь несколько точек входа в процедуру

    А может тогда лучше пусть это будут несколько разных процедур?

    > и арифметическое ветвление

    Ой, ну это же синтаксический сахар. Его не так уж сложно добавить.

    > прямой выход из вложенных вызовов с очисткой стека,

    exceptions

     
  • 2.29, Аноним (-), 12:14, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    используй инклюды препроцессора. модули еще он хочет.
     
  • 2.50, Аноним (-), 13:31, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Нет.

    https://en.wikipedia.org/wiki/C%2B%2B17

     
  • 2.89, dq0s4y71 (ok), 19:10, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ещё в 1983-м.
     

  • 1.7, Аноним (-), 10:47, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Толку то, C++17 не добавляет ничего интересного. У языка море проблем, проходят года, а они только мелочевку фиксят. Комитет сплошняком из тунеядцев. Не мудрено что появился целый зоопарк новых языков, всем просто надоело ждать. Тем более работы чтобы привести язык к приемлемому состоянию там максимум на год, а они кроме постоянного обсуждения ничего не делают.
     
     
  • 2.35, Аноним (-), 12:25, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Груз обратной совместимости
     
     
  • 3.42, Аноним (-), 12:38, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Маловато будет для оправдания. Решение или есть, или его нет. Еслиб я столько времени тратил на раздумья, ужеб сменил с десяток работ.
     
  • 2.94, nobody (??), 20:00, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Давай-давай, немедленно расскажи нам всем, а ещё лучше покажи, как надо
     
  • 2.135, ram_scan (?), 20:26, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Толку то, C++17 не добавляет ничего интересного. У языка море проблем, проходят
    > года, а они только мелочевку фиксят. Комитет сплошняком из тунеядцев.

    Си и все что из него выросло как понятная и логичная вещь умер вместе с архитектурой PDP для которой он и был написан. Когда можно было глядеть в исходник и легко в уме прикидывать в какой бинарник чуть ли не с точностью до инструкции это все компилятор соберет.

    А дальше пошло запиливание мегакостылей вокруг атавизмов 40-летней давности заради "обратной совместимости" которой по состоянию на сегодня нет чуть более чем полностью.

    Все-таки дедушка Вирт прав был.

     
     
  • 3.148, adolfus (ok), 15:37, 18/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Си и все что из него выросло как понятная и логичная вещь
    > умер вместе с архитектурой PDP для которой он и был написан.

    Архитектура у PDP куда лучше, чем у штеуда. Уж то под штеуд хрен какой язык напишешь, настолько все там угробищно.

     

  • 1.9, Аноним (-), 10:53, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Между 14 и 17 прошло целых 3 года. За это время вот что согласовали: https://ru.wikipedia.org/wiki/C%2B%2B17
    Полнейший абсурд...
     
     
  • 2.12, Аноним (-), 10:58, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    «Ожидаемые» не значит все. Даже в английской версии статьи больше ожидаемых возможностей.
     
     
  • 3.31, Аноним (-), 12:20, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    За 3 года ничего не сделали, и Вы считаете за оставшиеся месяцы ситуация кардинально изменится?
     
     
  • 4.60, Аноним (-), 14:18, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по минусам есть такие люди
     
  • 4.109, Аноним (-), 00:29, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем проблема за пару месяцев дописать статью в википедии?
     
     
  • 5.141, Аноним (-), 09:30, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В википедию как раз не проблема, проблем в стандарт, с такими темпами то
     

  • 1.11, WoT (?), 10:55, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На странице
    https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.201z
    есть такие параметры
    -std=c++11 , -std=c++14  и  -std=c++1z

    Стало интересно, а почему "C++ 201z" ?
    На Википедии "C++17 (also called C++1z)"

     
     
  • 2.13, A.Stahl (ok), 11:00, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    У черновых вариантов всегда странные названия. Релизное же название подгоняется к виду "c++14" и т.п.
     
  • 2.17, Мяут (ok), 11:24, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну потому что надежды, что стандарт выпустят в течение 2й декады 21века, но непонятно в какой год, потому последнюю цифру меняют на условный "x". Так было с C++11, который сначала назывался c++0x, и с C++14 -- с++1y
     

  • 1.21, лютый жабист__ (?), 11:39, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    В "могучем" си по прежнему нельзя сделать switch по Стрингу? :)
     
     
  • 2.22, A.Stahl (ok), 11:47, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Ты либо стринги надень либо switch сними.
     
  • 2.25, Аноним (-), 12:12, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –8 +/
    свитчи уродливая нечитабельная конструкция, else if, else if к твоим услугам
     
     
  • 3.43, Аноним (-), 12:40, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Поскольку тип данных один - switch оптимизируется до бинарного поиска или хэш-таблицы.
     
  • 3.79, Аноним (-), 17:36, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    else if по-вашему лучше? case можно выравнять и будет всё четко видно, гораздо лучше else if
     
  • 3.96, nobody (??), 20:04, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это лестница if-else-if - уродливая, нечитаемая и плохо оптимизируемая конструкция. А выбор одного из набора вариантов - фундаментальная конструкция высокоуровневых языков программирования.
     
     
  • 4.112, Аноним (-), 04:40, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какая лестница? Все по строкам? И как она оптимизируется? Забудь break поставить и у тебя все полотно текста выполнится, так как нутри там тот же if else. Ох уж эти новички с самомнением
     
     
  • 5.118, Аноним (-), 12:03, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Оптимизируется до логарифмического поиска или поиска по хэш таблице. Значения сортируются или строится их хэш таблицы на стадии компиляции. else if - только последовательный перебор.
     
  • 2.27, Аноним (-), 12:13, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    switch это всего лишь синтаксический сахар.
     
     
  • 3.48, Crazy Alex (ok), 12:53, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В джаве - может быть. В сях и плюсах это специфическая конструкция с пачкой предположений о том, как она будет использована  и соответствующими оптимизациями.
     
  • 3.97, Аноним (-), 20:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    switch - это goto.
     
     
  • 4.138, Аноним (-), 01:51, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    switch (как и 'if else', 'for', 'while') это jmp.
     
  • 2.39, Аноним (-), 12:29, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Можно! Берёшь лексер по вкусу и будет тебе.
     
  • 2.47, Crazy Alex (ok), 12:51, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты не понимаешь, что такое сишный/плюсовый свитч и чем он отличается от джавовского, например. Хинт - это не о форме, это об ожидаемой реализации - вплоть до ассемблера.
     
  • 2.67, Антонимус (?), 15:55, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Собственно можно, и не только свитч, и не только по стрингу.
     
  • 2.90, dq0s4y71 (ok), 19:20, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    М-да... Это как предъявлять претензии к Джаве, что в ней до сих пор нельзя сделать ассемблерную вставку.
     

  • 1.24, Аноним (-), 12:11, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Читаю изменения стандарта, даже не знал что в си были триграфы )
     
     
  • 2.98, nobody (??), 20:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и замечательно, что эту хрень вычистили из стандарта. Даже если ты про них не знаешь, они портят твой код, в частности строки: "??(...)" превращаются в "[...)" при компиляции...
     

  • 1.30, Аноним (-), 12:15, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    для начала выпилите из него классы и шаблоны, потом посмотрим.
    а покачто Rust намного круче выходит.
     
     
  • 2.37, Аноним (-), 12:28, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для чего?
     
     
  • 3.46, гость (?), 12:46, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Rust — многопользовательская компьютерная игра нового поколения в жанре симулятора выживания :-) Хе-хе :D
     
  • 2.41, Аноним (-), 12:32, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    для начала выпилите из Rust убогие unwrap'ы и вырвиглазный синтаксис, потом посмотрим.
    а покачто c++ намного круче выходит.
     
  • 2.57, Аноним (-), 14:10, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Rust уже значительно обошел с++ по потенциалу оптимизации и безопасности кода, но по прежнему далеко отстает по библиотечной базе. Попытался тут перевести один свой C++ Qt проектик на Rust, понял сколько нужно с нуля реализовывать и забил.
     
     
  • 3.70, Антонимус (?), 16:02, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Rust уже значительно обошел с++ по потенциалу оптимизации и безопасности кода

    Давайте уже поймем, что ЛИБО оптимизация, ЛИБО безопасность.
    >> Попытался тут перевести один свой C++ Qt проектик на Rust

    Qt/C++ и C++ - весьма разные, вплоть до полной непохожести вещи.
    >> понял сколько нужно с нуля реализовывать и забил

    В смысле, с нуля Qt реализовывать?)

     
     
  • 4.104, Аноним (-), 22:56, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Статический анализ, который обеспечивается в Rust е, позволяет проверять код на ... большой текст свёрнут, показать
     
     
  • 5.110, Аноним (-), 02:51, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для С существуют статические анализаторы, например http clang-analyzer llvm ... большой текст свёрнут, показать
     
     
  • 6.121, Аноним (-), 12:12, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    OpenMP - не автоматические распараллеливание. Это костыль, созданный чтобы как-то поддержать с++ на плаву в многопоточивающемся мире. Он даже не входит в стандарт с++. Это отдельный стандарт для компиляторов.
    > Ты или неуч или провокатор.

    Без проверки перекрытия распараллелить не получится, т.к. указатели могут указывать на один и тот же участок памяти. Необходима проверка перекрытия, и в с++ она возможна только в рантайме. При этом, на стадии компиляции в RUST выясняется не только перекрываются ли они, но и на сколько перекрываются.

     
  • 5.111, Аноним (-), 02:51, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для С существуют статические анализаторы, например http clang-analyzer llvm ... большой текст свёрнут, показать
     
  • 4.119, freehck (ok), 12:09, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Давайте уже поймем, что ЛИБО оптимизация, ЛИБО безопасность.

    Ну почему же. Бывает и так, что обе сразу, зависит лишь от того, с какой стороны глядишь. Вот, например, смотрит Racket-программист на OCaml, и понимает, что это +оптимизация, +безопасность.

     
     
  • 5.124, Аноним (-), 14:32, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    То-то у меня периодически sks в режиме recon выпадает в сегфолт на ровном месте. Звизди больше.
     
  • 3.153, iZEN (ok), 20:19, 20/04/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Попытался тут перевести один свой C++ Qt проектик на Rust, понял сколько нужно с нуля реализовывать и забил.

    Время компиляции и сборки Rust 1.16 сопоставимо с временем компиляции и сборки LLVM 3.9.
    Qt - самый жирный фреймворк/набор C++ классов. Так, чтобы собрать какую-нибудь малюсенькую программку на Qt, нужно каждый раз разворачивать архив qt-everywhere-opensource-src-4.8.7.tar.gz размером 241 МБ, чего-то с ним делать и потом удалять ненужное, получая нужное (честное слово - как статую из скалы высекаешь). Вы же выбираете самое тормозное и жручее в квадратичной степени. Зачем так делать, не понимаю. Qt непопулярный фреймворк. Оконные приложения в основном пишутся/писались на Gtk2. Лично я настороженно отношусь к приложениям с Qt.

     
  • 2.69, Антонимус (?), 16:00, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>для начала выпилите из него классы и шаблоны

    т.е. оставить таки Pure C?
    >>а покачто Rust намного круче выходит.

    Откуда, простите, выходит?

     
     
  • 3.91, dq0s4y71 (ok), 19:22, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > т.е. оставить таки Pure C?

    Таки да!

     
  • 3.120, freehck (ok), 12:10, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>>для начала выпилите из него классы и шаблоны
    > т.е. оставить таки Pure C?

    Pure C + полимирфизм. Видимо, полиморфизм тому анониму по душе. А может он просто не знает про него...


     
     
  • 4.125, Аноним (-), 14:41, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Чё, полиморфизм на чистом C, это, простите, как?
     
     
  • 5.145, dq0s4y71 (ok), 16:53, 17/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://www.state-machine.com/doc/AN_OOP_in_C.pdf
     
     
  • 6.151, freehck (ok), 01:36, 25/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > http://www.state-machine.com/doc/AN_OOP_in_C.pdf

    Жуть. Меня поражает объём работы. Не лень же кому-то было написать столько очевидных вещей.
    10 страниц очевидных вещей. И картинки нарисовать... Блин. Жуть.

     
  • 2.99, nobody (??), 20:11, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так надо ещё циклы и переменные выпилить для верности, чё уж там.
     

  • 1.34, Аноним (-), 12:24, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Фундаментальные проблемы языка всё равно не исправят. Им остается только сахарком посыпать, пока язык не умрет под натиском Rast'а и ему подобных.
     
     
  • 2.38, Аноним (-), 12:28, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Фундаментальные проблемы языка всё равно не исправят. Им остается только сахарком посыпать,
    > пока язык не умрет под натиском Rast'а и ему подобных.

    расты и ему подобные приходят и уходят, а си++ остается

     
     
  • 3.45, Аноним (-), 12:42, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    т.е. к лучшему ничего не изменится?
     
     
  • 4.49, Шоколадный заяц (?), 13:11, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну откройте вакансии и посмотрите реальную картину. Остальное - соплежуйство для школьников и студентов.
     
  • 4.53, Аноним (-), 13:52, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Для Rast'а нет.
     
     
  • 5.56, Аноним (-), 14:05, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Rust еще меняется и дорабатывается. С++ уже нет.
     
     
  • 6.83, _ (??), 18:04, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Поэтому на расте _обещают_ сделать новфй PostgreSQL, NNTPSec, browser engine Servo и миллион других крутых вещей ...
    А на с\с++ - тупо - делают.

    Выбирай :)

     
     
  • 7.105, Аноним (-), 22:59, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А на с\с++ - тупо - делают.

    Сколько лет С++ и сколько Rust? На сколько стабилен Rust и на сколько стабилен c++? Понятно, почему Ваш аргумент - глупости?

     
     
  • 8.113, Аноним (-), 05:46, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому на расте _обещают_ сделать новфй PostgreSQL, NNTPSec, browser engine Ser... текст свёрнут, показать
     
     
  • 9.142, Аноним (-), 09:39, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Си С https ru wikipedia org wiki Си_ язык_программирования 1972 год 45 л... текст свёрнут, показать
     
  • 3.76, Аноним (-), 17:19, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Расты и ему подобные приходят навестить могилку си++ и уходят, а си++ остается лежать на кладбище.
     
     
  • 4.84, _ (??), 18:05, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Сколько говоришь у вас в штате раст-программеров ...
    Дитё. ТЧК.
     
  • 3.77, Аноним (-), 17:33, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Пример приведите пожалуйста. Подобных Rust'у еще не было.
     
     
  • 4.85, _ (??), 18:08, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ка-а-ане-е-ечна-а-а :)
    Навскидку - D. Позиционировался точно так же как рас. Проще\красивее\безопаснее\быстрее\и борщ варит сам...
    И чо? "Все пробуют, а замуж не берут" (С)
     
     
  • 5.106, Аноним (-), 23:03, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    За D, по сути, никто не стоял. За Rust стоит Mozilla Corporation.
     
     
  • 6.126, Аноним (-), 17:14, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это у которой браузер пользователей теряет стремительным домкратом ?
     
     
  • 7.136, Аноним (-), 22:31, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угадал, та самая, которая с 2002 работает и занимает существенную долю интернет аудитории., которая так же запилила свой весьма популярный почтовый клиент, и та, которая успела запилить свою ОС и успешно поставить ее на десятки тысяч теликов. И, как не крути, а умирать Mozilla Corporation не собирается.
     
  • 6.131, Вареник (?), 19:24, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > За D, по сути, никто не стоял. За Rust стоит Mozilla Corporation.

    - Это где каждый релиз хуже предыдущего, а бабло от продажи данных пользователей?

     
  • 4.100, nobody (??), 20:14, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Objective C, Java, C#, D (несколько языков с таким названием), Go, Swift, Nim... Это из последних. Кого ещё из "убийц"/"исправлений" C/C++ забыл?
     
     
  • 5.107, Аноним (-), 23:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Objective C для Apple. С какого потолка Вы взяли, что он разрабатывался в качестве убийцы с++? А Java? Тоже убийца c++, Вы серьезно? Go разработан на замена питону, а не c++. Swift то же, что и Objective C. Nim это Lisp + Python...
     
  • 2.58, Аноним (-), 14:12, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Можете минусовать сколько угодно, ситуацию это никак не поправит.
     
     
  • 3.63, Andrey Mitrofanov (?), 14:53, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Можете минусовать сколько угодно, ситуацию это никак не поправит.

    Ну, вот тебе минус за разговор с минусами.

     
     
  • 4.68, Аноним (-), 15:57, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще-то про комментарий выше
     
     
  • 5.80, Andrey Mitrofanov (?), 17:45, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я вообще-то про комментарий выше

    Заплачь ещё.

     
     
  • 6.86, _ (??), 18:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Остановись Андрейка. А то оно в петлю полезет :-\
     
  • 3.73, Аноним (-), 16:10, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ты тоже можешь кукарекать на опеннете сколько угодно, ситуацию это никак не поправит.
     
     
  • 4.78, Аноним (-), 17:35, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И тебе тоже в унисон подкукарекивать разрешается
     

  • 1.36, Аноним (-), 12:27, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новость ни о чем. Черновик заполняется постепенно, и наверняка g++ нагонял его ни один раз.
     
     
  • 2.40, Аноним (-), 12:29, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сейчас комитет добавит микрофикс в черновик, и g++ опять перестанет поддерживать C++17 в полном объеме. Быстро поправят и можно новую новость публиковать: "В компиляторе G++ снова обеспечена поддержка чернового C++17"
     
     
  • 3.87, _ (??), 18:11, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Комитет работает, продолжайте башлять ...
    Что тут либерасты про попилы в "этой стране" пели ? :-)  
     
  • 2.102, nobody (??), 20:18, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    GCC обогнал Clang по реализации новых фич. Это уже значимая новость. Многие тут его хоронить собирались в появлением последнего
     
     
  • 3.132, Вареник (?), 19:26, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > GCC обогнал Clang по реализации новых фич. Это уже значимая новость. Многие
    > тут его хоронить собирались в появлением последнего

    - Конкуренция это хорошо.

     

  • 1.51, Аноним (-), 13:43, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    С++ переусложнён.
    Лучшее для нового стандарта С++ - повторить 6-ой подвиг Геракла.
     
     
  • 2.54, Аноним (-), 13:53, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > С++ переусложнён.

    Используй BASIC.

     
     
  • 3.92, dq0s4y71 (ok), 19:32, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Боже упаси! Особенно какой-нибудь VB.NET...
     
  • 2.59, Аноним (-), 14:16, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я вот никак тоже не пойму, обратную совместимость они уже ломали, тем же auto_ptr. Почему нельзя взять, и переделать всё нормально?!... Они там по-моему вообще не работают.
     
  • 2.71, Антонимус (?), 16:06, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> С++ переусложнён.

    Определитесь уже, "переусложнен", или "не хватает модулей, автовывода, пропертей etc."
    >> Лучшее для нового стандарта С++ - повторить 6-ой подвиг Геракла.

    Собственно, как ни странно, склонен местами согласиться. Какбэ новый язык нужен по формуле НовыйЯзык = C++ - совместимость с С - обратная совместимость. И все будет в шоколаде.

     
     
  • 3.88, _ (??), 18:14, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а чо остановился то? Продолжай! К примеру:

    - совместимость со всем что уже есть.

    И кому нужно будет это чудо?  Нет робяты, только плавненько! Или в Ж.

     
  • 3.129, Аноним (-), 18:53, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Определитесь уже, "переусложнен", или "не хватает модулей, автовывода, пропертей etc."

    Ты не поверишь! Они умудрились достигнуть этих целей одновременно!

    Единственное наиогромнейшее и почти непреодолимое его преимущество перед кучей других языков - гигатонны написанных за многие годы исходников/библиотек/программ (миллионы человеколет), которые всем очень нужны.

     

  • 1.61, Аноним (-), 14:44, 13/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –11 +/
    > для включения GNU-расширений - флага "-std=gnu++1z".

    как обычно - без vendor lock обошлись не могли. GNU оно такое ГНУ, всех ругает а сами потихоньку..

     
     
  • 2.65, Аноним84701 (ok), 15:09, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> для включения GNU-расширений - флага "-std=gnu++1z".
    > как обычно - без vendor lock обошлись не могли. GNU оно такое
    > ГНУ, всех ругает а сами потихоньку..

    Ага. То ли дело компания бобра, которая  собственные расширения *_s даже в стандарт c11 пропихнула, при этом умудряясь в своих компиляторах все еще забивать на поддержку с99 и вообще, не планировать лишних телодвижений в эту сторону:
    https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/208
    >   Visual Studio Team ADMIN
    > Visual Studio Team (Product Team, Microsoft Visual Studio) responded  ·  May 08, 2012
    > Our primary goal is to support "most of C99/C11 that is a subset of ISO C++98/C++11.
    > We do not plan to support ISO C features that are not part of either C90 or ISO C++.

     
     
  • 3.82, Аноним (-), 17:57, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Устарело: https://msdn.microsoft.com/en-us/library/hh567368.aspx
    Тут еще автор выше не слышал про -std=gnu99, который включает 95% плюшек, без которых невыносимо жить :)
     
     
  • 4.103, nobody (??), 20:23, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну-ка, ну-ка. Без каких это гнутых плюшек Вам не живётся? 15 лет обхожусь без них
     
  • 2.66, Andrey Mitrofanov (?), 15:14, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> для включения GNU-расширений - флага "-std=gnu++1z".
    > как обычно - без vendor lock обошлись не могли. GNU оно такое
    > ГНУ, всех ругает а сами потихоньку..

    В чём локин-то, если двумя словами раньше написано про "" указания  флага "-std=c++1z" ""?

    Вы можете не использовать. Если спросят -- я разрешил.

     
  • 2.72, Антонимус (?), 16:07, 13/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хм... А вас прямо заставляют их включать? Не нужны - не включай. Если код их не юзает, норм. скомпилируется.
     
  • 2.115, Анестезиолог (?), 11:52, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты понимаешь, что ты поехавший уже, всё?
     

  • 1.114, Ilya Indigo (ok), 11:11, 14/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Экспериментальная поддержка всех возможностей C++17 будет предоставлена в составе GCC 7.0 и для включения потребует указания флага...

    Они же грозились её по умолчанию запилить, для 7-ки, а теперь через флаг, да ещё и экспериментальную?

     
     
  • 2.122, nobody (??), 14:14, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > грозились её по умолчанию запилить

    Когда и кому грозились? Линк давай

     
     
  • 3.137, Ilya Indigo (ok), 01:28, 15/01/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> грозились её по умолчанию запилить
    > Когда и кому грозились? Линк давай

    Извиняюсь, перечитав прошлые новости пруфов не нащёл.
    Видать или это в комментариях было или мне показалось, что это будет так.

     
     
  • 4.143, Аноним (-), 14:45, 16/01/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Грозились включить C++14 по умолчанию. И действительно включили - в 6.0.
     

  • 1.116, Анестезиолог (?), 11:58, 14/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вывод типов в новых плюсах - это ад. Оно с самого начала было адово, потом добавился вывод типов для шаблонов, потом добавили auto, лямбды, rvalue-ссылки и move-семантику... Система типов уже напоминает романы Кафки, блджад. А они смеются и херачат ещё.
     
     
  • 2.133, Вареник (?), 19:30, 14/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Вывод типов в новых плюсах - это ад. Оно с самого начала
    > было адово, потом добавился вывод типов для шаблонов, потом добавили auto,
    > лямбды, rvalue-ссылки и move-семантику... Система типов уже напоминает романы Кафки, блджад.
    > А они смеются и херачат ещё.

    Больше непоняток - больше работы. Больше работы - больше рабочих мест в IT. Всем хорошо, кроме жалоб школоты, что после бейсика сложно, а на вырвиглазный хруст проектов нет.

     

  • 1.139, Аноним (-), 21:58, 15/01/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда пакет менеджер будет для C++? Задрала все продукты таскать с собой )))
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру