• # Mmmm...

    Posté par  (Mastodon) . Évalué à 4.

    ndmm: je connais très peu le c++

    J'ai trouvé ce post assez confus, avec un gros mélange entre le C et le C++. Mais il montre quand même que la gestion de la mémoire est souvent compliquée, et qu'il semble impossible de trouver une solution universelle…

    • [^] # Re: Mmmm...

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Il n'y a en effet pas de solution universelle et bien d'accord que l'article est un peu confus. Tout comme le titre ici, car pour moi ce ne sont pas vraiment des API.

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: Mmmm...

        Posté par  . Évalué à 4.

        Pourquoi ce ne sont pas vraiment des API ?

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

        • [^] # Re: Mmmm...

          Posté par  . Évalué à 4.

          Je dirais que l'api c'est malloc.h et que malloc/free sont des fonctions.

          Mais je n'aime pas le terme d'API qui peut-être compris de trop de façons différentes, mis à toutes les sauces, et ne plus rien signifier de précis.

          Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr

          • [^] # Re: Mmmm...

            Posté par  (site web personnel, Mastodon) . Évalué à 1.

            Voilà, des fonctions basiques… API a trop de connotations auxquelles on colle difficilement.

            “It is seldom that liberty of any kind is lost all at once.” ― David Hume

            • [^] # Re: Mmmm...

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

              Pourquoi faire simple quand on peut faire compliquer ?

              Je dirais même que vu que malloc et free font éventuellement des appels systèmes, on devrait appeler :

              Kernel Programming Interface ==> KPI

              De quoi rendre confus les managers :)

              https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg

          • [^] # Re: Mmmm...

            Posté par  . Évalué à 4.

            Je suis d'accord. On voit partout API, c'est devenu un mot valise.

            • [^] # Re: Mmmm...

              Posté par  . Évalué à 4.

              C'est pas parce qu'un mot est polysémique ou a un sens dépendant du contexte qu'il est devenu un mot valise et/ou qu'il est vidé de son sens. Surtout qu'ici il parle toujours d'un contrat d'un ensemble de méthode utilisé par un programme qu'il s'agisse d'une API C, dans le langage du dis programme, via dbus, corba, soap, rest, rpc, graphql,…

              Tu trouve aussi que sauvegarder est un mot valise parce que ça peut être en mémoire, sur disque, dans une base de données, dans le cloud ou autre ?

              https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

            • [^] # Re: Mmmm...

              Posté par  (site web personnel, Mastodon) . Évalué à 6.

              Un mot-valise est un mot composé de deux mots comme par exemple ordiphone ! API est probablement un mot à tout faire,sur-utilisé, voire, galvaudé, mais pas un mot-valise.

              « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

              • [^] # Re: Mmmm...

                Posté par  . Évalué à 3.

                Du coup c'est le mot valise qui est galvaudé ? :D

                https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

              • [^] # Re: Mmmm...

                Posté par  . Évalué à 2.

                API est un sigle il me semble, donc j'imagine qu'on ne peut même pas dire qu'il s'agit d'un mot, tout court?

          • [^] # Re: Mmmm...

            Posté par  . Évalué à 5.

            Une API c’est pas uniquement les signatures de fonction mais aussi un contrat sur ce que les fonctions vont faire, une spécification minimale. C’est bien beau d’avoir les signatures mais sans aucune forme de sémantique ça sert à rien.

  • # Si tu n'aimes pas ...

    Posté par  . Évalué à 1.

    … code en Java et laisse faire ceux qui savent ;-)

    Quoi ? J'aurais du attendre vendredi ?…
    Ooops, désolé …

  • # erreur de drapeau

    Posté par  . Évalué à 2.

    Le lien est en anglais, le drapeau est celui de la France.

  • # Peu pertinent

    Posté par  (site web personnel) . Évalué à 10. Dernière modification le 01 septembre 2022 à 17:07.

    [à propos de calloc]
    It also does an overflow check for you, because why not.

    Faux, c'est spécifique aux implémentations. Rien dans la norme ne le garantit et c'est une mauvaise idée d'utiliser calloc en pensant éviter un integer-overflow.

    [à propos de realloc]
    For starters, it can’t be used with C++ objects that might want to invoke a move constructor. It also doesn’t work with C objects that have self-referential pointers such as a buffer containing a circular linked list.

    Et en même temps, en C++ tu fais pas de realloc. À part dans de rares cas où tu as besoin de faire du placement-new, tu n'es pas censé jouer avec la mémoire de manière aussi basse.

    Si tu as peur d'avoir des pointeurs invalides à cause d'un déplacement de mémoire, tu fais pas de realloc ou tu fais des pointeurs de pointeurs. Blamer realloc pour ça n'est pas pertinent. La meilleure utilisation de realloc est probablement de manipuler une donnée unique ou un tableau de types primitifs. Celui qui utilise realloc pour reallouer des structures imbriquées se tire une balle dans le pied.

    Pour moi cet article n'a pas d'intérêt et répond à des problèmes inexistants.

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

Suivre le flux des commentaires

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