_sg_
_sg_ личный блог
04 декабря 2020, 07:35

Кажется С++ возвращается

Кажется дождь собирается С++ возвращается.
docs.microsoft.com/ru-ru/cpp/cpp/welcome-back-to-cpp-modern-cpp?view=msvc-160
Случайно обнаружил на сайте Microsoft эту статью.
Вот это номер.
Сначала всех загнали на С# и VB, а теперь — «что же нам с ними делать, с яблоками на снегу»©  ?

47 Комментариев
  • Олег Кузьмичев
    04 декабря 2020, 07:50
    Он уже вернулся пару лет как.
      • Олег Кузьмичев
        04 декабря 2020, 08:24
        _sg_, я сам из отрасли, программирую на плюсах больше 10 лет. Если раньше считался сложным языком для гиков и железа, то теперь большинство софта (программы, игры, мобильные приложения) переводят на с++ с java и других языков. Внедрили новые стандарты языка, кроссплатформенные ide и прочие плюшки, что упрощает жизнь разработчику. Основные плюсы — скорость работы + максимальная нативность. Минусы все те-же — высокий порог входа + возможность выстрелить себе в ногу.
  • Михаил
    04 декабря 2020, 08:43
    Вроде Микрософт активно топит за Rust
      • Олег Кузьмичев
        04 декабря 2020, 09:15
        _sg_, python ещё крут, для прототипов, моделирования и ML.
  • Alexey
    04 декабря 2020, 09:34
    Куда мир катится? Обсуждение С++ на smart-lab... Люди, вы чего ? 
  • Dmitryy
    04 декабря 2020, 09:48
    А в чем истенные причины? Так ли много примеров, когда получается значительный прирост скорости по сравнению с тем же C#?
      • Dmitryy
        04 декабря 2020, 13:39
        _sg_, на линуксе вполне себе есть C#, .Net Core 5 посмотрите. Знаю несколько крупнейших ритейлеров, которые вовсю используют Azure + .Net Core на линуксе, отлично работает и производительность на высоте.
      • Dmitryy
        04 декабря 2020, 13:42
        _sg_, а про ASP.NET согласен, надобность в нем отпала сама собой. Но пилить Web API или любой другой апи на дотнете, вполне себе удобно, очень много готовых решений, которые существенно ускоряют разработку (валидации контрактов, протобафов, gRPC враперов, всевозможных мапперов). В нодежс это тоже есть, но их сообществено несколько меньше опенсорного дотнета.
          • Dmitryy
            04 декабря 2020, 15:49
            _sg_, да это вполне логичный стек, мне он тоже нравится. Но нода никогда не будет быстрее кора, это как шарп не может быть быстрее плюсов, разный уровень абстракций. Но когда мельчайшая разница в скорости не важна, выбор всегда стоит делать в сторону удобства.

            Имхо, лучше получать удовольствие от окружения, решая сложные задачи, чем плеваться и материться, решая простые задачи сложными путями :)
  • Denis Richardson
    04 декабря 2020, 10:08
    Глянул статью. Интересно. Не знал, что у с плюса есть лямбда.
    • Alexey
      04 декабря 2020, 10:13
      Denis Richardson, 
      лямбды в плюсах со стандарта 11 года. С того времени в языке еще много чего появилось 
  • Игорь Шумилов
    04 декабря 2020, 10:24
    А плюсы куда-то уходили? О_о
    MSVC развивается, их сишный компилятор тоже не отстаёт от новых стандартов. Плюс есть Qt с его возможностями писать кроссплатформенный код. Под Android можно писать на плюсах. Под ARM можно писать на плюсах.
    • Антон Б
      04 декабря 2020, 11:41
      Игорь Шумилов,
      qt это ад и боль поддержки.
      + там лицензия драконовская.
      • Игорь Шумилов
        04 декабря 2020, 11:43
        Антон Б, ну какие-то моменты приходится самому патчить, бывает :)
        • Антон Б
          04 декабря 2020, 11:48
          Игорь Шумилов, затраты труда и квалификации на поддержку поделок qt которые, по идее, должны просто работать сильно выше ожиданий.

          коммерческая лицензия драконовская.

          некоммерческая это для поиграться.

          qt это худший выбор.
          даже хуже 1с.

          вендорлок.

          • Игорь Шумилов
            04 декабря 2020, 12:02
            Антон Б, мы как-то умудряемся писать код с использованием Qt, который просто работает и без проблем поддерживается программистами средней квалификации. Для Винды и Линукса, с использованием морды на QML.
            Но если надо какой-нибудь бэкэнд написать, тут Qt может быть не лучшим выбором в каких-то моментах.
            • Антон Б
              04 декабря 2020, 12:05
              Игорь Шумилов, 
              «который просто работает и без проблем поддерживается программистами средней квалификации.»
              вот!!!

              а должен работать и поддерживаться сисадминами (аникейщиками) как все остальное десктопное ПО.

              а qt поделки поддерживается РАЗРАБОТЧИКАМИ да еще миддлами. а не джунами.
              это собственно и проблема!.
              «затраты труда и квалификации на поддержку поделок qt которые, по идее, должны просто работать сильно выше ожиданий.»
              • Игорь Шумилов
                04 декабря 2020, 12:10
                Антон Б, поддержка софта сисадминами? О_о
                В Вашей консерватории всё очень сильно поломано… ИМХО.
                • Антон Б
                  04 декабря 2020, 12:18
                  Игорь Шумилов, в нашей консерватории все ок.

                  Поддерживать софт должны сисадмины и аникееи.
                  А разработчики должны разработкой заниматься.

                  То что qt требует такой квалификации ДОРОГОЙ чтобы просто работать.
                  ему жирный минус.


                  • Игорь Шумилов
                    04 декабря 2020, 12:19
                    Антон Б, может быть мы по-разному понимаем термин «поддержка»?
                    Для меня это «правка ошибок, добавление функционала». А для Вас?
                    • Антон Б
                      04 декабря 2020, 12:22
                      Игорь Шумилов, добавление функционала это разработка.
                      а не поддержка.
                      • Игорь Шумилов
                        04 декабря 2020, 12:26
                        Антон Б, я ж программист. Для меня это поддержка. Я выпустил версию 1.0, а дальше её поддерживаю :)

                        Вопросы с установкой нашего софта может решить любой, кто в состоянии запустить инсталлятор. А научится работать с ним сможет тот, кто прочтёт руководство оператора. Qt в этих моментах вообще никак не участвует. И наша служба эксплуатации, которая занимается всем этим у заказчиков, как раз «эникейщики».
                        • Антон Б
                          04 декабря 2020, 12:32
                          Игорь Шумилов, вот!
                          • Игорь Шумилов
                            04 декабря 2020, 12:56
                            Антон Б, да, вот. Есть софт, написанный с использованием Qt, который не вызывает никаких трудностей с его поддержкой у пользователей. И трудности в этой части мне искренне не понятны. Как только собрался инсталлятор, для пользователя просто появился набор бинарников. И Qt, спрятанный в них, никак не отличается от какого-нибудь gcc или msvc.
  • SergeyJu
    04 декабря 2020, 10:34
    Чисто по логике. Мировое противостояние всех против США неизбежно ведет к крайней желательности переходить на ОС с открытым кодом. 
    Значит, линукс-подобные системы и си++ будут востребованы больше, чем сейчас.
    • SergP
      04 декабря 2020, 10:37
      Мировое противостояние всех против США 
  • Ирина97
    04 декабря 2020, 11:05
    C++ никуда не уходил.
    Просто появились новые направления — Web, скриптовые языки, мобильные устройства, оттянувшие многих программистов на себя.
    Современный С++ стал удобнее, но в тоже время сложнее. В нем сложные абстракции можно сделать предельно сложным образом, чтобы уж точно никто не разобрался. Но это не значит, что нужно так писать код. Я вот пишу на С++11 по большей части + Qt. Qt очень упрощает жизнь, а также позволяет писать кросплатформенные приложения, где один и тот же код можно собрать под Windows, Mac и Linux.

      • Ирина97
        04 декабря 2020, 11:24
        _sg_, я пишу в Qt Creator. Мне гораздо удобнее в нем править код, он очень быстрый и умный. Хотя по возможностям конечно не такой как VS.

        • Антон Б
          04 декабря 2020, 11:42
          ЗеленыйЛук, qt это ад и боль поддержки.
          + там лицензия драконовская.
          • Ирина97
            04 декабря 2020, 12:35
            Антон Б, Qt можно использовать в коммерческих продуктах. Главное, не линковать статически.
            Почему боль поддержки я не понимаю. Можете объяснить подробнее?
            • Антон Б
              04 декабря 2020, 12:53
              ЗеленыйЛук, В qt не рекомендую.
              www.opennet.ru/opennews/art.shtml?num=52259

              Дорого 5500 usd на каждого разработчика в год!
              лицензия драконовская.
              После окончания лицензии Распространять даже старое уже рабочее по нельзя.

              нельзя его просто ставить на новый компьютер в замен старого.
              лицензия не позволяет.

              Для vs C++.C# позволяет разрабатывать

              • Ирина97
                04 декабря 2020, 13:12
                Антон Б, Зачем вам LTS версия?
                Собрали продукт на любой opensource версии, например самой последней, добавили Qt DLL, все. Ничего не нужно покупать. Исходники открывать не нужно.
                Есть некоторые вещи под коммерческой лицензией, например Qt Charts, ну и фиг с ними, используйте Qwt бесплатный.
                • Антон Б
                  04 декабря 2020, 13:51
                  ЗеленыйЛук, LGPL означает ОБЯЗАТЕЛЬНУЮ публикацию всего кода под lgpl при распространении.

                  www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5

                  Я понимаю что все можно нарушить.

                  Но любой Ваш пользователь получивший от вас копию ЛЮБЫМ ПУТЕМ может потребовать весь ваш код.

                  Даже если этот пользователь просто наемный рабочий который работает по найму.
                  И не ваш контагент.
                  Любой оператор работающий по найму с вашей программой.
      • Игорь Шумилов
        04 декабря 2020, 11:41
        _sg_, MSVC, QtCreator, VSCode, CLion. Выбираете любой по вкусу. А дальше уже настраиваете под свои нужны. Цепляете компилятор, который хочется использоваться (msvc или gcc, например), и вперёд.
        Тут от задач зависит.
  • Чужой
    04 декабря 2020, 12:21
    не корректно сравнивать шарповиков и сиплюсплюсников, разные задачи. и те и другие никуда не денутся, сишарп развивается и только набирает обороты
  • Roman Ivanov
    05 декабря 2020, 11:05
    .net и java имеют автоматическое управление памятью при приемлемой производительности. Плюс платформная независимость. Это слишком удобно для написания прикладухи, чтобы от этого всего отказываться. Плюс много чего уже наработано, особенно в java.
    Для системного программирования останется си и все прочее.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн