• naurM
    link
    fedilink
    Polski
    arrow-up
    1
    ·
    17 days ago

    Prawdę mówiąc, większość tych przykładów pokazuje nowe elementy biblioteki standardowej i nie wymaga C++20.

    Chociażby std::format jest oparty na libce fmt, która wymaga tylko C++11. std::expected ma wersję dla C++11 tutaj.
    Natomiast std::range jest dostępny od C++14/17.

    Chyba jedyne rzecz,y których autentycznie nie dałoby się zrobić przed C++20 to:

    • koncepty (template <std::integral number>),
    • uproszczona deklaracja funkcji szablonowej (void f(auto x, auto y))
    • std::source_location (bo kompilator musi wygenerować metadane).

    No ale domyślam się, że dopiero wprowadzenie bibliotek do standardu spowoduje, że szersze grono developerów zainteresuje się tymi możliwościami.

    • サぺルOP
      link
      fedilink
      Polski
      arrow-up
      1
      ·
      17 days ago

      To tylko zachęta do nauki nowych rzeczy, bo mogą być praktyczne.

      Wydaje mi się, że adopcja zmian w takich językach jest bardzo powolna. Pewnie większość programistów nie używa nawet 11. Nie chodzi o to jakiego std używają w kompilatorze, tylko jakiego typu piszą kod.

      Ciekawe w jakiej branży jest najwięcej programistów tego języka.

      • naurM
        link
        fedilink
        Polski
        arrow-up
        1
        ·
        edit-2
        15 days ago

        Chyba embedded. Kiedys powiedziałbym, że gamedev, ale obecnie C# jest chyba bardziej popularny w tej branży.

        Ludzie w firmach często nawet nie wiedzą, jaka wersja C++ jest wspierana przez dostępne narzędzia.
        Mnóstwo ludzi nadal koduje używając praktycznie C++98, pomimo dostępu do feature’ów z C++17 czy 20.

        Powszechne jest też przekonanie, że wdrożenie mechanizmów z nowszych wersji standardu powoduje często błędy kompilacji.
        Tymczasem prawdziwą przyczyną tego problemów jest zazwyczaj agresywna optymalizacja w nowych kompilatorach, która ujawnia tylko stare błędy w istniejącym kodzie.

        • サぺルOP
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          14 days ago

          Pan z tego postu https://tech.pr0n.pl/post/41701 twierdzi, że GD jest jedną z trzech największych branży używających C++.

          Kiedyś recenzowałem kilka źródeł. Proponowałem, że można zastąpić niektóre fragmenty nowocześniejszymi wyrażeniami. Niewiele to dało. Są ważniejsze problemy, niż zmuszanie ludzi do używania nieznanych przez nich elementów języka.

          Nowoczesne wyrażenia mają kilka teoretycznych zalet. Mają one wartość jeśli cała reszta jest idealną kulą wody.