• [^] # Re: Je n'aime pas la SFML

    Posté par . En réponse à la dépêche SDL ou SFML ? Ne choisissez plus, prenez Gamedev Framework (gf). Évalué à 3.

    Je me suis mal exprimé : je n'ai pas de problème avec le Rust dans le sens où je n'aime pas certains aspects, j'ai juste du mal à apprendre à coder dans ce langage et à intégrer ses spécificités. Le point majeur sur lequel je bloque (comme beaucoup de monde, je suppose), est le "borrowing" et le "lifetime" des variables. C'est ce qui fait tout l'intérêt du Rust, mais ça oblige vraiment à construire une nouvelle façon de penser.

    Ah si : un truc que je trouve dommage : le langage se la joue fonctionnel (notamment avec une syntaxe et certains paradigmes hérités des langages fonctionnels) alors qu'en fait, on ne peut PAS coder en fonctionnel avec, pour plusieurs raison. Il n'y a pas de récursion terminale (alors que c'est même implémenté en C !!) ; et on ne peut pas utiliser les fonctions imbriquées comme en OCaml par exemple. On peut utiliser des lambdas à la place, c'est vrai, mais je trouve ça dommage d'un point de vue syntaxique, ça fait moins full fonctionnel.

    Voici un petit exemple (un peu idiot) qu'on pourrait voir en OCaml, mais qui ne fonctionne pas en Rust :

    fn fac(nbr: isize) -> isize {
     let scale = 1; // <- useless
     fn fac_tailrec(nbr: isize, accumulator: isize) -> isize {
     match nbr {
     0 => accumulator,
     _ => fac_tailrec(nbr - 1, accumulator * nbr * scale) // no tail recursive optimisation
     // error: can't capture dynamic environment in a fn item;
     // use the || { ... } closure form instead
     }
     }
     fac_tailrec(nbr, 1)
    }
    fn main() {
     println!("{}", fac(7));
    }
    

    Mais bon, c'est un langage jeune, et je suppose qu'il va finir par se bonifier. Dans l'ensemble, c'est un travail extraordinaire.

    Ce commentaire est libre de droit, vous pouvez le réutiliser comme bon vous semble.