• # If it's not broken, don't fix it

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

    // C
    typedef struct
    {
      int a;
      struct 
      {
        double x;
      } bar;
    } Foo;
    
    // C3
    struct Foo
    {
      int a;
      struct bar 
      {
        double x;
      }
    }

    Ok alors, en C c'est parfaitement clair :

    • struct y {} est un type
    • struct {} y est une variable dont le type est une structure anonyme

    Mais en C3:

    • struct Foo {} est un type
    • struct bar {} est une variable dont le type est une structure anonyme

    Apparemment, les "structures sont toujours nommées" sauf :

    • quand c'est nested
    • quand c'est passé en argument

    Pourquoi complexifier autant la syntaxe ? Ce qu'on avait initialement en C était déjà parfaitement clair.

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

    • [^] # Re: If it's not broken, don't fix it

      Posté par  . Évalué à 2.

      Si c'est vrai, ça n'a plus grand chose de cohérent, en effet…

      • [^] # Re: If it's not broken, don't fix it

        Posté par  . Évalué à 3.

        Ce que je n'aime pas de C3 c'est de changer le formalisme pour des choses qui marchaient bien. L'idée de bas de C3 était de faire une évolution du C qui se debarasse de la contrainte de rétro compatibilité pour améliorer les perfs/la lisibilité/la sécurité… mais au final ça va bien plus loin et c'est carrément un autre lanhage (inspiré du C comme beaucoup en fait).

  • # But ?

    Posté par  . Évalué à 3.

    C3 […] should be possible to get it up and running on any platform that LLVM can compile on. You will need CMake installed.

    Un langage fait par ou pour des Shadocks ? Pourquoi faire simple quand on peut faire compliqué ?

    Plus sérieusement, le but de la création du langage n'est pas vraiment clair, certaines tournures (notamment les tableaux) semblent compliqués pour pas grand chose.

    define par exemple mixe deux choses bien différentes : les macros et les définitions de type.

Suivre le flux des commentaires

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