rewind a écrit 3416 commentaires

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

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

    C’est un peu dommage qu’stp::optional arrive si tard

    Il y a boost::optional en attendant.

    Faut maintenir deux fois plus de code? Ou c’est juste la fin de la fonction qui change?

    Non, il y a une fonction commune aux deux versions qui est appelée et en fonction envoie une exception ou renvoie un code d'erreur.

  • [^] # Re: Conteneurs

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

    Pour les classe de type vecteur mathématique, l'usage est de fournir un pointeur sur les données qui doivent être contiguës. Par exemple: dans eigen ou dans glm. Outre le fait d'assurer l'interopérabilité avec les autres bibliothèques du même genre, ça permet aussi d'utiliser directement les fonctions OpenGL qui attendent des données contiguës.

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

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

    De mon expérience de développeur java

    Les exceptions en C++ n'ont à peu près rien à voir avec les exceptions en Java, hormis le principe général. Déjà, le fait qu'en C++, elles ne soient pas déclarées dans le prototype de la fonction rend leur utilisation très pénible, contrairement à Java. Ensuite, beaucoup de projets C++ découragent l'utilisation des exceptions, parce que, sur certaines architectures, elles ont un coût non-négligeable.

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

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

    En C++, on va avoir std::optional en C++17 qui joue exactement le même rôle et qui marche avec toutes les classes, pas uniquement les pointeurs.

    À noter aussi que dans std::filesystem, il y a les deux. Pour chaque fonction, on a une version avec un code de retour (en dernier argument) et une fonction sans code de retour mais qui lève une exception. De cette manière, chacun fait bien comme il veut.

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

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

    C'est bien un des seuls cas où, effectivement, une exception serait justifiée. Actuellement, dans ce cas, je renvoie un pointeur (et donc un pointeur null si l'objet n'existe pas). Mais la question reste la même : où gérer l'exception ?

  • [^] # Re: Pourquoi pas un scenegraph?

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

    Oui et non.

    C'est un peu plus qu'une API de dessin. Mais après, ça n'impose pas vraiment de structure comme pourrait le faire un moteur de jeu. Ceci dit, il est tout à fait possible d'avoir des classes pour fournir un scenegraph, je crois qu'il y a tout ce qu'il faut. Ça se fera peut-être dans le futur.

    En attendant, il y a la classe gf::Entity qui permet d'ordonner les entités (via la classe gf::EntityContainer et donc d'avoir du z ordering. C'est basique mais ça marche bien (je l'utilise systématiquement dans mes jeux).

  • [^] # Re: Conteneurs

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

    Je ne sais pas lire rapidement les 1600 lignes de ta classe Vector elle fait quoi du coup ?

    C'est un vecteur au sens mathématique, un truc avec des coordonnées (2D, 3D et 4D principalement). Tandis que le std::vector est un tableau dynamique.

    Un pointeur ou un itérateur ?

    Un pointeur. Plus pratique pour échanger avec du C. Et un pointeur est un itérateur (mais l'inverse est faux).

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

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

    Je redis : dans le cas où le seul try/catch est dans main, ça ne fait aucune différence : arrêt immédiat pour l'utilisateur. Donc je repose ma question, où est-ce qu'on rattrape l'exception ?

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

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

    Entre mon assert et l'exemple avec exception plus haut, il n'y a aucune différence, ça crashe le programme. Et je suis d'accord, c'est rédhibitoire. Maintenant, c'est aussi pour ça que je préfère des codes de retour explicite.

    Ceci dit, les assert ont une utilité pour vérifier que tout se passe correctement, sous-entendu si ce n'est pas le cas, c'est une erreur de programmation qui doit être corrigée.

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

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

    Non, je préfère :

    int c()
    {
        assert(!a_failure);
        return 123;
    }
    
    int b()
    {
        return c() * 456;
    }
    
    int main()
    {
        std::cout << b() << std::endl;
    }
  • [^] # Re: Je n'aime pas la SFML

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

    Sur les exceptions, je crois qu'on ne sera pas d'accord. Déjà, tu parles de lancer une exception mais jamais de la rattraper. Si tu ne la rattrapes jamais, autant mettre un bon vieux assert ou un abort et on n'en parle plus. Si tu la rattrape, j'aimerais bien savoir où : si c'est pas très loin, utiliser une exception ne sert à rien par rapport à un code de retour ou un booléen pour gérer un truc immédiat; si c'est très loin, alors tu ne peux rien faire de vraiment très sérieux à part quitter le programme.

    J'ai regardé rapidement ton projet, pour le ResourcesManager, tu pourrais retourner des std::unique_ptr plutôt que des pointeurs bruts. Ça marquera complètement l'ownership et tu pourras toujours retourner un std::unique_ptr null si l'objet n'est pas trouvé :)

    Houla non, malheureux ! Justement, l'intérêt du RessourceManager, c'est que c'est lui qui a la responsabilité du pointeur, il ne doit absolument pas la donner à l'utilisateur ! Ça lui permet de maintenir un cache des ressources et donc, de ne pas charger des choses en plusieurs exemplaires inutilement.

  • [^] # Re: Conteneurs

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

    Pourquoi avoir implémenter tes propres conteneurs plutôt qu'utiliser ceux de la stl ou d'une bibliothèque comme eigen ?

    Quels conteneurs ? Vector ? Ça n'a rien à voir avec std::vector. Et eigen est une très bonne bibliothèque mais un peu trop vaste pour un framework de jeu. Quite à avoir une dépendance externe, j'aurais choisi glm mais avoir le minimum de dépendance est aussi un avantage.

    Tu a créé des ponts entre certains ?

    J'ai fait tout ce que je pouvais pour que ça soit facile d'importer et d'exporter les données pour ce genre de bibliothèque. En particulier, prendre en paramètre un pointeur sur les données et fournir un pointeur sur les données.

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

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

    pas d'exception

    Ça, ça ne va pas changer, je déteste les exceptions en C++. Et je ne vois pas bien où je pourrais en mettre.

    pas de RAII

    En interne, il y a quelques classes qui utilisent RAII. Maintenant, où est-ce que tu en verrais dans l'API publique ?

  • [^] # Re: articulation avec OpenFL

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

    Ça ne s'articule pas, c'est complètement indépendant. Le seul point commun que je vois est que ça s'appuie sur SDL2, mais bon, c'est très maigre.

  • [^] # Re: Ça tombe bien, je n'étais convaincu ni par la SDL, ni par la SFML

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

    je crois qu'il n'a même pas incorporé les nouveautés du C++11

    Je crois que ça vient doucement mais comme tu dis, c'est très frileux. Il est resté sur des supposition qui datent de l'époque où il a commencé SFML, soit il y a bientôt 10 ans maintenant.

  • [^] # Re: Compromis avec la liberté

    Posté par  (Mastodon) . En réponse au journal Gnome Maps dans de beaux draps. Évalué à 2.

    Tu confonds données et service ! Ils pourraient très bien reprendre les données (libres) de OSM et monter leur propre service avec. Pour GrassHopper, je ne connais pas, donc je ne dis rien.

  • [^] # Re: Compromis avec la liberté

    Posté par  (Mastodon) . En réponse au journal Gnome Maps dans de beaux draps. Évalué à 4.

    GNOME Maps veut proposer des tuiles dans son appli ? Très bien, il faut alors le service associé, et surtout indépendant de n'importe quel fournisseur. S'ils ne sont pas capables de ne pas dépendre d'un tiers pour la fourniture de tuiles, alors ils devraient enlever cette fonctionnalité (instant troll : en plus, c'est un peu une spécialité d'enlever des fonctionnalités chez GNOME ; fin de l'instant troll). Pour le coup, l'appli, ce n'est pas que le binaire chez le client, c'est aussi le service de tuiles.

  • # Compromis avec la liberté

    Posté par  (Mastodon) . En réponse au journal Gnome Maps dans de beaux draps. Évalué à 9.

    Pour moi, ce genre de péripétie pose quand même la question des compromis qui sont fait avec la liberté. Je veux dire par là que des gens qui font du logiciel libre, ils savent faire la différence entre libre et gratuit, et donc ils savent qu'en utilisant un truc seulement gratuit, ils s'exposent à avoir des problèmes dans ce genre tôt ou tard. Alors pourquoi est-ce qu'ils font ça ? Ma seule réaction, ça serait de dire : bien fait !

  • [^] # Re: Un "ami" ?

    Posté par  (Mastodon) . En réponse à la dépêche Michel Rocard : un ami des logiciels libres nous a quittés. Évalué à 8.

    Quelqu'un qui se rallie à mes arguments, me témoigne de la sympathie, et fait un effort pour défendre mes convictions, je veux bien le qualifier d'ami.

    Donc, Marine Le Pen est ton amie ? Non, je dis ça mais les députés FN ont souvent eu les positions les plus proches de l'APRIL ou de la Quadrature sur ce genre de dossiers. Après, j'aimerais bien savoir si on aurait une nouvelle de cet acabit si le vieux Le Pen mourrait par exemple. Je comprends qu'on veuille mettre en avant Rocard pour tout ce qu'il a fait, mais je ne suis pas sûr qu'on en ferait autant pour n'importe qui avec les mêmes positions. Et c'est un peu ce qui me gêne dans cette dépêche et dans ce concert de louanges libristes.

  • [^] # Re: Je regrette toutefois le Linuxfr d'antan

    Posté par  (Mastodon) . En réponse à la dépêche LinuxFr.org, un site adulte. Évalué à 7.

    Ça n'a pas tellement changé en vrai, je pense qu'il y a toujours autant de gens qui trouvent que «c'était mieux à vent» ;)

  • # Lire du code !

    Posté par  (Mastodon) . En réponse au sondage Ce que je préfère en informatique / programmation / codage c'est... . Évalué à 9.

    J'ai voté pour la lecture de code.

    Je crois qu'on sous-estime cette activité, notamment dans l'apprentissage de la programmation. Moi, j'adore lire du code, on apprend plein de choses en lisant un bout de code. Mes codes préférés à lire sont les libc (la GNU ou la BSD) et les coreutils, Qt, LLVM, SFML.

  • [^] # Re: De la dictature de la majorité

    Posté par  (Mastodon) . En réponse au journal Faut tout faire soi-même !. Évalué à 2.

    Sérieusement, trouverais-tu démocratique 50.0001% des gens qui traitent en esclave 49.9999% des gens? quel lien avec la démocratie?

    Ce que tu ne comprends pas, c'est que la démocratie, c'est un processus de décision, ce n'est absolument pas une manière d'établir une certaine morale. Et quand on prend une décision, on peut se tromper, le truc cool c'est qu'on peut toujours prendre une décision contraire un peu plus tard. L'esclavage était légal sous pas mal de démocratie (France, US, etc), ils avaient fait ce choix de manière tout à fait démocratique, même si, de nos jours avec nos standards moraux contemporains, on trouve ça choquant.

    La deuxième chose que tu ne comprends pas, c'est qu'une fois la décision prise, ça n'enlève pas les idées des opposants. Dans le cas qui nous intéresse, les partisans du Remain ne vont pas subitement penser que Leave, c'était mieux finalement. En revanche, ils vont se ranger à la décision prise, parce que sinon, si tout le monde décide dans son coin, ça peut vite devenir le bordel. C'est un peu comme si le droit du travail variait d'une entreprise à l'autre, en étant moins favorable que la loi (oups, c'est ça la loi Travail).

  • [^] # Re: Quel est le rapport avec Linux et les LL ?

    Posté par  (Mastodon) . En réponse au journal Le malaise.. Évalué à 10.

    ils se débrouillent autrement.

    Ils demandent à Siri ?

  • [^] # Re: Un an après, qui a changé l'init par défaut ou est passé à une autre distribution ?

    Posté par  (Mastodon) . En réponse à la dépêche Debian Jessie, 1 an plus tard. Évalué à 2.

    oui, je sais faire, mais le problème, c'est que quand ce n'est pas quiet, c'est beaucoup trop verbose, il n'y a pas de juste milieu…

  • [^] # Re: Un an après, qui a changé l'init par défaut ou est passé à une autre distribution ?

    Posté par  (Mastodon) . En réponse à la dépêche Debian Jessie, 1 an plus tard. Évalué à 10.

    En tant qu'utilisateur de base de Debian (depuis potato quand même), j'ai laissé faire l'installation de systemd quand ça s'est présenté. Depuis, bah ça marche pas plus mal que si c'était pire, pas moins bien qu'avant, pas mieux non plus. Il y a quelques détails qui me chagrinent un peu.

    Au démarrage, on ne voit plus les logs du kernel et les services qui démarrent. Oui, moi j'aimais bien voir tout ça, notamment les services, parce que des fois, j'installais un truc pour tester et du coup, je voyais le service au démarrage et je me souvenais qu'il fallait que je désinstalle le bouzin. Maintenant, je ne vois plus rien. J'ai essayé de modifier l'affichage de systemd mais là, on voyait beaucoup trop de choses et donc, rien de pertinent. Dans le même ordre d'idée, on ne voit plus la barre de progression de fsck, et comme ça prend un peu des plombes parfois et qu'on a aucun retour, c'est très agaçant. Enfin, il y a tous ces petits trucs à la con du genre la commande halt qui n'arrête plus complètement la machine (il faut utiliser poweroff), et l'attente d'1m30 quand un service récalcitrant (dont on n'aura pas le nom évidemment) ne s'arrête pas correctement.

    Bref, je trouve qu'on perd un peu en maîtrise quand on est simple utilisateur observateur de son système comme moi. Il y a beaucoup de choses qui sont cachées. Pour la vitesse, je n'ai pas remarqué que ça allait particulièrement plus vite ou moins vite.