Journal Des nouvelles de boost

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
21
23
fév.
2021

Bonjour Nal,

Je ne fais plus de C++ depuis longtemps, mais je regarde parfois l'actualité de ce langage.

Sa meilleure bibliothèque est sortie en version 1.75 depuis et propose des nouveautés intéressantes:

Tout d'abord un parseur JSON vraiment simple:

auto george = boost::json::parse( R"( { message: "Monde de merde" } )" );
std::cout << george["message"] << std::endl;

Ensuite un gestionnaire d'erreur qui ressemble un peu à ce que fait Go avec des valeurs de retours multiples.

D'autres libs plus anciennes sont régulièrement mises à jour, par exemple :

  • beast pour faire des clients et serveurs http mieux qu'en Node.js ;
  • smart_ptr pour être plus memory safe que Rust tout en gardant un langage plus simple et portable;
  • tribool pour les non binaires, les centristes et les indécis ;
  • et bien plus encore.
  • # Plus simple

    Posté par  (site web personnel) . Évalué à 10.

    smart_ptr pour être plus memory safe que Rust tout en gardant un langage plus simple et portable;

    Langage plus simple. C++.
    J'ai ri.

  • # Boost ? À réfléchir avant d'utiliser

    Posté par  (site web personnel) . Évalué à 4.

    Tout d'abord un parseur JSON vraiment simple:

    Bof, comme d'habitude il est atteint de la surconception connu de chez Boost. L'API de nlohmann-json est bien plus facile. En revanche son implémentation et sa quantité de fonctionnalités annexe est similaire à une centrale à charbon, ce n'est plus un parseur JSON mais un véritable framework. Dommage.

    beast pour faire des clients et serveurs http mieux qu'en Node.js ;

    Désolé mais ce n'est pas le cas. J'ai déjà essayé et c'est tellement bas niveau que tu perds plus de temps à écrire le code de gestion HTTP que de coder ton application. Node.js n'est pas mieux, mais Beast n'est clairement pas mieux que Node.js non plus. En plus, son auteur est particulièrement égocentrique.

    smart_ptr pour être plus memory safe que Rust tout en gardant un langage plus simple et portable;

    Les smart pointers existent en standard depuis C++11, aucunement besoin de Boost.

    git is great because linus did it, mercurial is better because he didn't

    • [^] # Re: Boost ? À réfléchir avant d'utiliser

      Posté par  (site web personnel) . Évalué à 10.

      Hmm, tu peux développer le égocentrique ? Est ce que c'est le "It is, after all, the only thing that is asked in return for free software." ? Parce que je vois rien de bien égocentrique dans quoi que ce soit.

      Si je comprends bien il a accepté de changer de licence et ça lui a donné du boulot pénible au passage (vérifier que tout contributeur était d'accord). Poser la question de "pourquoi je dois changer de licence, en quoi la cause d'attribution est un problème" ne me paraît pas choquant du tout avant d'entamer un travail de changement de licence. Le taxer d'egocentrisme pour ça c'est abusé.

      • [^] # Re: Boost ? À réfléchir avant d'utiliser

        Posté par  (site web personnel) . Évalué à 4. Dernière modification le 24 février 2021 à 08:39.

        Je crois que tu n'as pas lu la bonne personne. Il est venu demander sur le projet Duktape de changer la licence MIT parce qu'il ne l'aime pas.

        L'auteur de Boost.Beast est Vinnie Falco, pas Sami Svaarala (qui lui au passage est une personne formidable).

        git is great because linus did it, mercurial is better because he didn't

    • [^] # Re: Boost ? À réfléchir avant d'utiliser

      Posté par  (site web personnel) . Évalué à 10.

      C'est vrai que Boost a pas mal perdu de son panache depuis C++11.

      J'ai l'impression que l'arrivée du parseur Json n'intéresse pas grand monde et est là plus pour combler un manque que pour répondre a un besoin. Aujourd'hui le Json en C++ ça se joue plutôt entre nlohmann-json et simdjson.

      Dans les trucs que j'aimais bien dans Boost il y avait Boost.Signals2 et Boost.Preprocessor. J'avais joué avec Boost.Spirit aussi et j'espère que je n'aurai jamais à y retoucher. À part ça, quelques algorithmes ici et là.

      Et puis quelle galère pour compiler tout ça :(

  • # référence nécessaire

    Posté par  . Évalué à 3.

    pour être plus memory safe que Rust

    Je demande à voir.

    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.