Morovaille a écrit 29 commentaires

  • [^] # 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.

  • [^] # 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é à 10.

    Oui, c'est ce que fait le Rust qui se veut un successeur du C++. Il tire d'ailleurs explicitement ce comportement des langages fonctionnels. Je tiens à dire que je préfère cette façon de faire aux exceptions, mais je préfère tout de même le système d'exceptions aux return en cascade du C.

    M'enfin de toute façon, plus je gère en C++ (je suis dev C++) plus je trouve ce langage fait à l'arrache et inutilement complexe. J'espère qu'il va vite se faire détrôner en tant que langage compilé de référence pour passer à des paradigmes plus modernes. Pour l'instant je tente d'apprendre le Rust, mais j'ai vraiment du mal.

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

  • [^] # 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é à 2.

    Les exceptions, c'est bien quand c'est utile, comme tout le reste. Un des avantages du C++ par rapport au C c'est les références, et quand une méthode ne peut pas retourner de référence sur un objet (parce qu'il n'existe pas, est invalide, etc.), il n'y a pas le choix : il faut lever une exception. Ou alors quand on ne peut pas le construire, comme le souligne mon vdd.

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

  • # Ça tombe bien, je n'étais convaincu ni par la SDL, ni par la SFML

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

    La SDL n'est pas en C++ (quand on code en C++, c'est gênant) et le mainteneur de la SFML est toujours hyper frileux pour mettre à jour la lib en fonction des nouveautés (je crois qu'il n'a même pas incorporé les nouveautés du C++11).

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