Je connais une méthode efficace : le despote qui décide tout seul, ça va vite, pas de paperasse. Pas sûr que ça soit dans l'intérêt de tous. Autre méthode efficace : le tirage au sort. Est-ce que c'est souhaitable ? Pour moi, le fait qu'un concours soit équitable évite de se retrouver avec des gens placés là parce qu'ils connaissent le neveu du cousin du maire.
D'ailleurs, quand on voit le nombre de poste non pourvus en maths (c'est à dire qu'on refuse des candidats qui théoriquement devraient être admis), est-il si évident que ces difficultés n'apparaîtrait pas en informatique ?
Si on lit le rapport du jury (qui est public parce que c'est un concours, ça fait partie des avantages), on peut voir que pour être admissible (donc passer les oraux), il fallait avoir 7,80 sur 20. On comprend mieux pourquoi ils n'arrivent pas à pourvoir tous leurs postes ! On voit aussi dans les statistiques que dans les années 90, il y avait plus de 7 candidats par postes, puis dans les années 2000, il n'y avait plus que 3 à 4 candidats par postes. Et depuis 2010 (date du gel des salaires des fonctionnaires), il n'y a plus que 1 à 1,5 candidats par poste. Forcément, la sélection est plus difficile dans le sens où il risque d'y avoir moins de bons candidats. La première année où on a commencé à recruter en dessous du nombre de postes au concours, c'est 2011.
Encore un héritage du passé dont on est incapable de se séparer, et pourtant…
Tous les fonctionnaires (en France) sont recrutés sur concours, c'est la manière la plus équitable de recruter des agents de l'État. Si tu en trouves une meilleure, n'hésite pas à en parler.
moi, je veux que tous les paquets acceptés compilent sur toutes les architectures de Debian avant d'être validés, ce serait obligatoire et non conseillé, ça serait rigolo comme liberté
C'est le cas. Si les paquets ne compilent pas sur toutes les architectures, il y a des bugs qui sont ouverts pour le paquet sous le joli acronyme FTBFS (Fail To Build From Source) et le mainteneur du paquet doit les corriger (avec l'aide des responsables d'architecture). Debian met à disposition tout un ensemble de machine de toutes les architectures pour faire les tests. Donc, plutôt que de parler pour ne rien dire (ta spécialité), renseigne-toi avant de débiter une autre connerie.
Rien de bien nouveau. Mais ce n'est pas étonnant quand on aborde le «numérique» sous l'angle uniquement économique. On retrouve tous les poncifs du genre qu'on nous débite depuis des années avec l'accent mis sur les technologies (mais on ne sait pas d'où elles sortent) et les usages (mais sans comprendre fondamentalement comment ça marche). Avec aggravation de la situation pour les données personnelles (ça veut dire quoi «personnalisation anonyme» ? En revanche, je comprends bien «captation et exploitation des données des clients finaux»). Et tout l'attirail du parfait petit libéral y passe : agence de notation numérique, baisse d'impôts, mobilité, etc. En revanche si vous cherchez où se trouve la généralisation de la fibre (nécessaire à toutes ces propositions), pas un mot. Et si vous cherchez les enseignements à l'informatique (tels que proposés par l'Académie des Sciences), c'est timide : «CAPES du numérique» (quoi qu'est-ce ?). Franchement, plus de 300 pages pour ça, ça ne valait pas le coup.
Et bien pour gérer les collisions (joueur/terrain, joueur/bombe, etc). On pourrait le faire à la main directement, mais avoir cette fonctionnalité encapsulée dans une classe permet d'en avoir une abstraction sympa. Après, quand je dis moteur physique, ce n'est pas un truc énorme non plus, ça tape dans les quelques centaines de lignes, guère plus.
Tout d'abord, on n'a pas gardé les cochons ensemble donc tu éviteras les attaques personnelles.
Ensuite, tu compares des choses pas comparables et tu te plains. Comparer des «bibliothèques userspace» aux modules du noyau n'a tout simplement pas de sens : l'un est une interface externe, l'autre est une interface interne. Donc si on veut comparer des choses comparables, on compare avec l'interface externe du noyau… qui elle est extrêmement stable.
En nombre de quoi ? De commits ? De lignes de code ?
C'est à toi de prouver que les modules non-intégrés dans le noyau sont "de la merde".
Mais ce n'est pas mon hypothèse à moi, hein. Je cite karteum59 : «tous les constructeurs n'adhèrent pas au mode de développement du noyau car pour nombre d'entre eux ça ne vaut pas le coup/coût de se conformer aux exigences de qualité des devs kernel pour faire rentrer leur code dans l'arbre officiel, et donc (au mieux) le bout de code est maintenu sous forme de module externe.» C'est bien de ça dont on parle depuis le début, et c'est pour ceux-là qu'on devrait, selon certains, maintenir une API interne stable.
Moi, j'ai appelé ça «faire de la merde». Et j'ai dit que chacun pouvait appeler ça comme il le souhaitait, y compris : «participer de manière positive et responsable au noyau Linux».
Donc, je maintiens, il faut suivre la conversation plutôt que d'insulter gratuitement.
Ben oui, c'est pas anodin. Exactement comme pour les bibliothèques userspace, sauf que bizarrement, un certain Linus Torvalds se plaint que l'userland ne stabilise pas ses ABI.
L'API/ABI externe du noyau est très stable. On parle des interfaces internes. Faut suivre.
Quant au problème du surcroît de travail, on remarquera quand même que le développement de Linux est abondamment financé de nos jours.
Abondamment ? C'est pour ça que les amateurs sont souvent parmi les premiers contributeurs en nombre. Et après, est-ce que tu préfères que ces financements aillent à de la maintenance qui ne sert à rien excepté pour des constructeurs qui font de la merde, ou aillent dans de nouveaux développements qui amélioreront le noyau ?
Ce que je n'arrive pas à comprendre, c'est pourquoi la recherche publique continue de dépendre aujourd'hui, avec les moyens de communications qu'on possède, des revues.
Un chercheur a besoins de confronter ses trouvailles au regard de ses pairs. Et pour l'instant, la méthode qu'on a trouvé, c'est d'écrire un bout de papier dans lequel on explique la trouvaille et qui peut être relu par d'autres chercheurs. Le fait que ce processus soit géré par des entreprises privées n'est qu'une anecdote (et historiquement assez récente).
Ce que je voulais dire par là, c'est que ce n'est pas l'éditeur qui rémunère le scientifique pour écrire son article. Du point de vue de l'éditeur, ce travail est bénévole.
Moi je propose qu'on supprime les éditeurs qui sont payés par tous les bouts. Ils ne servent à rien au niveau des publications, les revues sont faites bénévolement par des scientifiques, les articles sont écrits bénévolement par des scientifiques. Ils sont juste là pour prendre une marge, et faire un joli PDF, rien de plus. Ils avaient un rôle à une époque où le papier était roi et où les moyens de communication n'étaient pas aussi développés. Mais à l'heure du numérique, ils ne servent vraiment plus à rien. De nombreuses confs, et pas les plus mauvaises, se sont déjà passés des éditeurs, et ça fonctionne bien, les articles sont en CC-BY-ND, ils sont accessibles directement et tout le monde y gagne. C'est ça le vrai modèle alternatif.
Tu compares des choses pas comparables. Avoir une API/ABI stable dans le noyau Linux, ce n'est pas anodin, parce que si on veut pouvoir continuer à évoluer, il faut maintenir des couches de compatibilités (un peu ce que fait MS), et donc ça veut dire du travail en plus ! Or, ce travail en plus devrait être assumé par des gens qui n'en ont rien à foutre (ceux qui sont impliqués dans le noyau), et pas du tout par ceux qui sont à l'origine de la demande (parce qu'ils ne s'impliquent pas du tout dans le développement du noyau). Bref, on arriverait à une situation complètement ahurissante de mon point de vue. MS et Apple peuvent se permettre ça parce que des gens paient (et chers) pour que ça soit comme ça. Ce n'est pas le cas dans Linux. Je vais faire mon Zenitram de base : si les entreprises qui demandent ça en avaient vraiment besoin, elles se cotiseraient pour payer quelqu'un pour le faire, mais elles ne le font pas.
Non, ce qui est décrit, c'est un constructeur qui ne veut pas être intégré dans le noyau "à cause" des standard de qualité et qui laisse tomber son module. Moi, j'appelle ça "faire de la merde". Mais tu peux appeler ça comme tu veux.
Problèmes rencontrés pendant le dev :
bibliothèque de jeu ClanLib qui subissait de lourde modifications internes, API instable
Ici, j'ai conseillé SFML parce que je connais bien, que je suis le développement et que la 2.1 est plutôt bien fichu (ça permet de faire du graphique, mais aussi du son et du textes avec gestion des fontes, et du réseau).
le moteur physique a été codé à partir de nos cours de physique au lycée : le moteur était plutôt bancal, instable et bogué
Pour des jeux où la physique compte beaucoup, je conseille Box2D (et je pense que Wormux fait partie de ces jeux là). Mais pour l'exemple que je donne, il n'y a pas beaucoup de physique et des trucs bien maîtrisés donc ça vaut le coup de refaire un bout de code pour ça.
le réseau est arrivé très tard dans le jeu et fonctionnait mal sur Internet (bien en local avec une très faible latence)
Ça, j'ai prévenu tous les groupes dès le départ. Le réseau, ce n'est pas quelque chose qu'on ajoute après avoir fait un jeu solo. Et je pense qu'inconsciemment, j'avais Wormux en tête parce que je me souviens avoir lu au cours des news sur LinuxFR la difficulté à faire ce travail d'ajout. Donc tous les jeux solos resteront solo et les jeux réseaux le sont dès le départ. Et je les ai prévenu que le réseau, c'était pas facile, surtout quand on veut faire du temps-réel (ce qui est le cas pour tous les groupes).
on a passé une grosse partie du temps à s'occuper des aspects qui n'ont pas de lien avec le jeu directement : pile graphique, réseau, entrées-sorties, etc.
Est-ce que ça ne dépend pas des libs utilisées ? Avec SFML où tout est intégré, et où les interfaces sont très simples à utiliser, j'espère que ça se passera bien et qu'on pourra se concentrer sur les aspects importants. Mes expériences avec des projets semestriels utilisant SFML me donnent plutôt confiance sur ces aspects.
Il y a 10 ans, les bibliothèques de jeu n'était pas bien packagé sous Linux, les pilotes graphiques libres était très lents, et une nouvelle version mettait plusieurs mois à être disponible dans les distributions Linux. La distribution était un gros problème.
10 ans après, c'est guère mieux. Bon, on a des pilotes libres qui sont tout à fait convenables pour les jeux développés dans le cadre du club. Mais niveau libs, c'est quand même pas la joie parfois. Quand j'ai commencé Akagoria, dans Debian, Box2D était packagé comme un cochon (changement du nom de la lib par rapport au reste du monde !) et SFML en était encore à la version 1.6 alors que la 2.1 était sorti depuis un moment quand même. Donc, au départ, je compilais tout ça à la main. Depuis, ça s'est amélioré, les packages sont maintenant présents, mais seront-ils maintenus ? Rien n'est moins sûr. Les jeux, c'est vraiment le parent pauvre des distributions malheureusement.
C'est justement ce que je conteste. La notion de type est une notion technique induite par la manière dont l'ordinateur stocke les données et par l'utilisation que tu peux en faire.
Malheureusement, on ne code pas encore sur des pizzas mais sur des ordinateurs, donc savoir ce qu'est capable de faire un ordinateur pour lui donner les bonnes instructions, c'est ça la programmation.
Pour un débutant, il pourrait n'exister que deux types de données : les nombres et les chaines de caractères.
Je vais te donner un problème simple : tu as un tonneau de x litres et des bouteilles de y litres, combien de bouteilles te faut-il pour vider le tonneau ? Et bien si tu ne sais pas si ton nombre est un entier ou un flottant, tu pourrais très bien ne pas savoir résoudre ce problème.
Il ne faut pas prendre le débutant pour un débile.
Ce n'est pas mon cas, moi je veux lui apprendre les types et la manière de les choisir pour résoudre un problème, pas lui faire croire que tout est pareil et que l'ordinateur va bien se débrouiller pour comprendre ce qu'il a voulu dire. Il y a un exercice classique qu'on donne en première année, c'est la calculatrice : il faut rentrer deux nombres (donc deux variables, mettons a et b) et un opérateur (qu'on stocke dans un caractère qu'on appelle op). Et bien c'est généralement là qu'on voit ceux qui ont compris et ceux qui restent à «l'ordinateur doit comprendre ce que je lui dit». Ces derniers écrivent : res = a op b qui n'a absolument aucun sens. Et qui est du même acabit que 4 + "4" à mon avis. Et souvent, même quand on leur a expliqué, ils ont du mal à comprendre pourquoi ça ne marche pas.
C'est pareil que pour la différence entre un int et un float ; la différence n'existe qu'à cause d'une contrainte technique.
Absolument pas. Voir mon problème simple ci-dessus avec les bouteilles. C'est fondamentalement différent, même sans aller jusqu'à parler des limites des entiers ou des floats.
Mais je vois ça comme un défaut inhérent à la formalisation d'un programme, ça n'est pas intuitif, et ça n'est pas important pour comprendre la logique d'un programme.
J'insiste, un programme, ce n'est pas qu'une «logique», c'est également un choix adéquat de types et de structures de données et ce n'est pas une nouveauté !
À mon avis, l'intérêt du typage fort ne saute aux yeux qu'après des années à avoir expérimenté les bugs dus aux ambiguités du typage faible.
Ce ne sont pas des ambiguïtés, c'est une manière erronée d'apprendre les choses. Ça va beaucoup mieux dans le sens inverse : quand on a compris les types, on sait mieux utiliser les langages faiblement typés.
"C'est compliqué et ça vous gêne maintenant, mais vous verrez plus tard que c'est important" est un argument très faible ; c'est un argument d'autorité, souvent d'ailleurs employé pour justifier une pédagogie archaïque
Premièrement, ce n'est pas compliqué, c'est même plutôt naturel. Deuxièmement, ça a des applications très concrètes et très rapidement, aucun argument d'autorité derrière. On peut montrer que c'est utile (et j'ai donné deux exemples qui montrent que ça a du sens comparé à une approche trop empirique !) et que ça ne gêne personne, au contraire, ça permet d'avoir une meilleure maîtrise de ce qu'on fait.
Plus il y a de choses intuitives et plus l'élève va pouvoir se concentrer sur les aspects logiques du code. Les aspects techniques, il les apprendra plus tard.
La notion de type est très très loin d'être une notion technique. De nos jours, on a pris conscience que les données sont tout aussi importante que le code qui les manipule. Bien choisir comment représenter ses données, ça fait partie de l'apprentissage de la programmation. Pour moi, apprendre uniquement des structures de contrôles et faire l'impasse sur les types, c'est faire la moitié du boulot. Dans mon univ, on donne un quantité impressionnante d'exercice en première année dans lesquels le choix du bon type est importante pour la résolution du problème. Et je ne parle même pas de structure là, juste entier/flottant/booléen/caractère.
Je pense que si la différence entre les deux n'est pas visible, c'est d'une part (comme dit plus haut) parce qu'il y a les appels SDL qui prennent beaucoup de temps, et d'autre part, parce que tes composants sont petits et peu nombreux, ce qui fait que même avec le layout "array of struct", tu as une bonne localité des données. Il faudrait faire le même test avec des données plus grosses et je pense qu'on verrait la différence. J'essaierai de bricoler un truc si je trouve du temps.
Dernier point, ton benchmark étant simple, il omet une des difficultés (à mon goût) des E/S : comment stocker de manière efficaces des composants pour N entités sachant que les entités n'ont pas toutes les mêmes composants.
Il doit mal expliquer mais en fait, c'est exactement ce qu'il fait : comparer comment stocker les entités. Avec deux variantes : "struct of array" et "array of struct".
(dans mon cas j'ai choisis après divers test : une entité représente un index, et les composants sont stockés dans des std::vector. Ça permet d'améliorer l'utilisation du cache pour l'opération la plus couteuse : la maj des systèmes)
Dans son cas, ce sont aussi des vector. Et toutes les entités ont potentiellement tous les composants (d'après ce que j'en ai compris).
[^] # Re: Boule de cristal
Posté par rewind (Mastodon) . En réponse au journal Le réseau dans C++. Évalué à 7.
Tu a oublié une date.
2014 : une implémentation de référence pour les principales plateformes et avec une licence qui va bien (Boost). Alors bon, il faudrait vraiment le faire exprès pour ne pas avoir une implémentation dans les principaux compilateurs d'ici 2017.
[^] # Re: CAPES du numérique
Posté par rewind (Mastodon) . En réponse au journal Rapport Lemoine : 180 propositions pour "numériser" notre économie. Évalué à 2.
Je connais une méthode efficace : le despote qui décide tout seul, ça va vite, pas de paperasse. Pas sûr que ça soit dans l'intérêt de tous. Autre méthode efficace : le tirage au sort. Est-ce que c'est souhaitable ? Pour moi, le fait qu'un concours soit équitable évite de se retrouver avec des gens placés là parce qu'ils connaissent le neveu du cousin du maire.
[^] # Re: CAPES du numérique
Posté par rewind (Mastodon) . En réponse au journal Rapport Lemoine : 180 propositions pour "numériser" notre économie. Évalué à 5.
Si on lit le rapport du jury (qui est public parce que c'est un concours, ça fait partie des avantages), on peut voir que pour être admissible (donc passer les oraux), il fallait avoir 7,80 sur 20. On comprend mieux pourquoi ils n'arrivent pas à pourvoir tous leurs postes ! On voit aussi dans les statistiques que dans les années 90, il y avait plus de 7 candidats par postes, puis dans les années 2000, il n'y avait plus que 3 à 4 candidats par postes. Et depuis 2010 (date du gel des salaires des fonctionnaires), il n'y a plus que 1 à 1,5 candidats par poste. Forcément, la sélection est plus difficile dans le sens où il risque d'y avoir moins de bons candidats. La première année où on a commencé à recruter en dessous du nombre de postes au concours, c'est 2011.
[^] # Re: Une Résolution Générale sur l'acceptation de plusieurs systèmes d'init.
Posté par rewind (Mastodon) . En réponse à la dépêche Gel de Debian 8.0 Jessie. Évalué à 2.
On en parle pour la GPL ? ;)
[^] # Re: CAPES du numérique
Posté par rewind (Mastodon) . En réponse au journal Rapport Lemoine : 180 propositions pour "numériser" notre économie. Évalué à 7.
Tous les fonctionnaires (en France) sont recrutés sur concours, c'est la manière la plus équitable de recruter des agents de l'État. Si tu en trouves une meilleure, n'hésite pas à en parler.
[^] # Re: Une Résolution Générale sur l'acceptation de plusieurs systèmes d'init.
Posté par rewind (Mastodon) . En réponse à la dépêche Gel de Debian 8.0 Jessie. Évalué à 8.
C'est le cas. Si les paquets ne compilent pas sur toutes les architectures, il y a des bugs qui sont ouverts pour le paquet sous le joli acronyme FTBFS (Fail To Build From Source) et le mainteneur du paquet doit les corriger (avec l'aide des responsables d'architecture). Debian met à disposition tout un ensemble de machine de toutes les architectures pour faire les tests. Donc, plutôt que de parler pour ne rien dire (ta spécialité), renseigne-toi avant de débiter une autre connerie.
# Rien de nouveau
Posté par rewind (Mastodon) . En réponse au journal Rapport Lemoine : 180 propositions pour "numériser" notre économie. Évalué à 9.
Rien de bien nouveau. Mais ce n'est pas étonnant quand on aborde le «numérique» sous l'angle uniquement économique. On retrouve tous les poncifs du genre qu'on nous débite depuis des années avec l'accent mis sur les technologies (mais on ne sait pas d'où elles sortent) et les usages (mais sans comprendre fondamentalement comment ça marche). Avec aggravation de la situation pour les données personnelles (ça veut dire quoi «personnalisation anonyme» ? En revanche, je comprends bien «captation et exploitation des données des clients finaux»). Et tout l'attirail du parfait petit libéral y passe : agence de notation numérique, baisse d'impôts, mobilité, etc. En revanche si vous cherchez où se trouve la généralisation de la fibre (nécessaire à toutes ces propositions), pas un mot. Et si vous cherchez les enseignements à l'informatique (tels que proposés par l'Académie des Sciences), c'est timide : «CAPES du numérique» (quoi qu'est-ce ?). Franchement, plus de 300 pages pour ça, ça ne valait pas le coup.
[^] # Re: Moteur physique
Posté par rewind (Mastodon) . En réponse au journal Dead Pixels Society. Évalué à 2.
Et bien pour gérer les collisions (joueur/terrain, joueur/bombe, etc). On pourrait le faire à la main directement, mais avoir cette fonctionnalité encapsulée dans une classe permet d'en avoir une abstraction sympa. Après, quand je dis moteur physique, ce n'est pas un truc énorme non plus, ça tape dans les quelques centaines de lignes, guère plus.
[^] # Re: Linus a dit : « making binaries for linux […] is a major fucking pain in the ass »
Posté par rewind (Mastodon) . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 7.
Tout d'abord, on n'a pas gardé les cochons ensemble donc tu éviteras les attaques personnelles.
Ensuite, tu compares des choses pas comparables et tu te plains. Comparer des «bibliothèques userspace» aux modules du noyau n'a tout simplement pas de sens : l'un est une interface externe, l'autre est une interface interne. Donc si on veut comparer des choses comparables, on compare avec l'interface externe du noyau… qui elle est extrêmement stable.
«Les hobbyistes occupent comme d’habitude la troisième place (…) Le développement de Linux est donc majoritairement sponsorisé par des entreprises, mais il reste encore de nombreux passionnés qui font ça pour eux.»
Mais ce n'est pas mon hypothèse à moi, hein. Je cite karteum59 : «tous les constructeurs n'adhèrent pas au mode de développement du noyau car pour nombre d'entre eux ça ne vaut pas le coup/coût de se conformer aux exigences de qualité des devs kernel pour faire rentrer leur code dans l'arbre officiel, et donc (au mieux) le bout de code est maintenu sous forme de module externe.» C'est bien de ça dont on parle depuis le début, et c'est pour ceux-là qu'on devrait, selon certains, maintenir une API interne stable.
Moi, j'ai appelé ça «faire de la merde». Et j'ai dit que chacun pouvait appeler ça comme il le souhaitait, y compris : «participer de manière positive et responsable au noyau Linux».
Donc, je maintiens, il faut suivre la conversation plutôt que d'insulter gratuitement.
[^] # Re: Linus a dit : « making binaries for linux […] is a major fucking pain in the ass »
Posté par rewind (Mastodon) . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 8.
L'API/ABI externe du noyau est très stable. On parle des interfaces internes. Faut suivre.
Abondamment ? C'est pour ça que les amateurs sont souvent parmi les premiers contributeurs en nombre. Et après, est-ce que tu préfères que ces financements aillent à de la maintenance qui ne sert à rien excepté pour des constructeurs qui font de la merde, ou aillent dans de nouveaux développements qui amélioreront le noyau ?
[^] # Re: Quand le public passe par le privé
Posté par rewind (Mastodon) . En réponse à la dépêche L’Académie des sciences française prétend vouloir l’ouverture des publications scientifiques. Évalué à 6.
Un chercheur a besoins de confronter ses trouvailles au regard de ses pairs. Et pour l'instant, la méthode qu'on a trouvé, c'est d'écrire un bout de papier dans lequel on explique la trouvaille et qui peut être relu par d'autres chercheurs. Le fait que ce processus soit géré par des entreprises privées n'est qu'une anecdote (et historiquement assez récente).
[^] # Re: Un autre modèle
Posté par rewind (Mastodon) . En réponse à la dépêche L’Académie des sciences française prétend vouloir l’ouverture des publications scientifiques. Évalué à 5.
Ce que je voulais dire par là, c'est que ce n'est pas l'éditeur qui rémunère le scientifique pour écrire son article. Du point de vue de l'éditeur, ce travail est bénévole.
# Un autre modèle
Posté par rewind (Mastodon) . En réponse à la dépêche L’Académie des sciences française prétend vouloir l’ouverture des publications scientifiques. Évalué à 10.
Moi je propose qu'on supprime les éditeurs qui sont payés par tous les bouts. Ils ne servent à rien au niveau des publications, les revues sont faites bénévolement par des scientifiques, les articles sont écrits bénévolement par des scientifiques. Ils sont juste là pour prendre une marge, et faire un joli PDF, rien de plus. Ils avaient un rôle à une époque où le papier était roi et où les moyens de communication n'étaient pas aussi développés. Mais à l'heure du numérique, ils ne servent vraiment plus à rien. De nombreuses confs, et pas les plus mauvaises, se sont déjà passés des éditeurs, et ça fonctionne bien, les articles sont en CC-BY-ND, ils sont accessibles directement et tout le monde y gagne. C'est ça le vrai modèle alternatif.
[^] # Re: Linus a dit : « making binaries for linux […] is a major fucking pain in the ass »
Posté par rewind (Mastodon) . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 4.
Tu compares des choses pas comparables. Avoir une API/ABI stable dans le noyau Linux, ce n'est pas anodin, parce que si on veut pouvoir continuer à évoluer, il faut maintenir des couches de compatibilités (un peu ce que fait MS), et donc ça veut dire du travail en plus ! Or, ce travail en plus devrait être assumé par des gens qui n'en ont rien à foutre (ceux qui sont impliqués dans le noyau), et pas du tout par ceux qui sont à l'origine de la demande (parce qu'ils ne s'impliquent pas du tout dans le développement du noyau). Bref, on arriverait à une situation complètement ahurissante de mon point de vue. MS et Apple peuvent se permettre ça parce que des gens paient (et chers) pour que ça soit comme ça. Ce n'est pas le cas dans Linux. Je vais faire mon Zenitram de base : si les entreprises qui demandent ça en avaient vraiment besoin, elles se cotiseraient pour payer quelqu'un pour le faire, mais elles ne le font pas.
[^] # Re: Linus a dit : « making binaries for linux […] is a major fucking pain in the ass »
Posté par rewind (Mastodon) . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 3.
Non, ce qui est décrit, c'est un constructeur qui ne veut pas être intégré dans le noyau "à cause" des standard de qualité et qui laisse tomber son module. Moi, j'appelle ça "faire de la merde". Mais tu peux appeler ça comme tu veux.
[^] # Re: Linus a dit : « making binaries for linux […] is a major fucking pain in the ass »
Posté par rewind (Mastodon) . En réponse au journal Pourquoi vous ne devriez pas packager vous-même votre logiciel pour Debian ?. Évalué à 5.
Certains constructeurs font de la merde et donc, le noyau Linux devrait s'adapter à la merde ? C'est moi où ce raisonnement a un problème ?
[^] # Re: Conseils d'un ancien programmeur de jeu
Posté par rewind (Mastodon) . En réponse au journal Dead Pixels Society. Évalué à 5.
Ici, j'ai conseillé SFML parce que je connais bien, que je suis le développement et que la 2.1 est plutôt bien fichu (ça permet de faire du graphique, mais aussi du son et du textes avec gestion des fontes, et du réseau).
Pour des jeux où la physique compte beaucoup, je conseille Box2D (et je pense que Wormux fait partie de ces jeux là). Mais pour l'exemple que je donne, il n'y a pas beaucoup de physique et des trucs bien maîtrisés donc ça vaut le coup de refaire un bout de code pour ça.
Ça, j'ai prévenu tous les groupes dès le départ. Le réseau, ce n'est pas quelque chose qu'on ajoute après avoir fait un jeu solo. Et je pense qu'inconsciemment, j'avais Wormux en tête parce que je me souviens avoir lu au cours des news sur LinuxFR la difficulté à faire ce travail d'ajout. Donc tous les jeux solos resteront solo et les jeux réseaux le sont dès le départ. Et je les ai prévenu que le réseau, c'était pas facile, surtout quand on veut faire du temps-réel (ce qui est le cas pour tous les groupes).
Est-ce que ça ne dépend pas des libs utilisées ? Avec SFML où tout est intégré, et où les interfaces sont très simples à utiliser, j'espère que ça se passera bien et qu'on pourra se concentrer sur les aspects importants. Mes expériences avec des projets semestriels utilisant SFML me donnent plutôt confiance sur ces aspects.
10 ans après, c'est guère mieux. Bon, on a des pilotes libres qui sont tout à fait convenables pour les jeux développés dans le cadre du club. Mais niveau libs, c'est quand même pas la joie parfois. Quand j'ai commencé Akagoria, dans Debian, Box2D était packagé comme un cochon (changement du nom de la lib par rapport au reste du monde !) et SFML en était encore à la version 1.6 alors que la 2.1 était sorti depuis un moment quand même. Donc, au départ, je compilais tout ça à la main. Depuis, ça s'est amélioré, les packages sont maintenant présents, mais seront-ils maintenus ? Rien n'est moins sûr. Les jeux, c'est vraiment le parent pauvre des distributions malheureusement.
[^] # Re: Codation
Posté par rewind (Mastodon) . En réponse au journal Dead Pixels Society. Évalué à 2.
Je pensais aux codes correcteurs mais effectivement, ça va un peu plus loin. En tout cas, ça n'a rien à voir avec «programmation» ou «développement»
[^] # Re: Codation
Posté par rewind (Mastodon) . En réponse au journal Dead Pixels Society. Évalué à 3.
Codage, ça existe, mais c'est des maths, pas (trop) de l'informatique ;)
[^] # Re: Parenthèses vs indentation
Posté par rewind (Mastodon) . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 6.
C'est triste ton avis sur GNOME
[^] # Re: Parenthèses vs indentation
Posté par rewind (Mastodon) . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 8.
Quand tu dois corriger plein de TP, tu leur apprends très vite à indenter correctement et tu inclues ça dans la notation !
[^] # Re: Décalage
Posté par rewind (Mastodon) . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 9.
Malheureusement, on ne code pas encore sur des pizzas mais sur des ordinateurs, donc savoir ce qu'est capable de faire un ordinateur pour lui donner les bonnes instructions, c'est ça la programmation.
Je vais te donner un problème simple : tu as un tonneau de
x
litres et des bouteilles dey
litres, combien de bouteilles te faut-il pour vider le tonneau ? Et bien si tu ne sais pas si ton nombre est un entier ou un flottant, tu pourrais très bien ne pas savoir résoudre ce problème.Ce n'est pas mon cas, moi je veux lui apprendre les types et la manière de les choisir pour résoudre un problème, pas lui faire croire que tout est pareil et que l'ordinateur va bien se débrouiller pour comprendre ce qu'il a voulu dire. Il y a un exercice classique qu'on donne en première année, c'est la calculatrice : il faut rentrer deux nombres (donc deux variables, mettons
a
etb
) et un opérateur (qu'on stocke dans un caractère qu'on appelleop
). Et bien c'est généralement là qu'on voit ceux qui ont compris et ceux qui restent à «l'ordinateur doit comprendre ce que je lui dit». Ces derniers écrivent :res = a op b
qui n'a absolument aucun sens. Et qui est du même acabit que 4 + "4" à mon avis. Et souvent, même quand on leur a expliqué, ils ont du mal à comprendre pourquoi ça ne marche pas.Absolument pas. Voir mon problème simple ci-dessus avec les bouteilles. C'est fondamentalement différent, même sans aller jusqu'à parler des limites des entiers ou des floats.
J'insiste, un programme, ce n'est pas qu'une «logique», c'est également un choix adéquat de types et de structures de données et ce n'est pas une nouveauté !
Ce ne sont pas des ambiguïtés, c'est une manière erronée d'apprendre les choses. Ça va beaucoup mieux dans le sens inverse : quand on a compris les types, on sait mieux utiliser les langages faiblement typés.
Premièrement, ce n'est pas compliqué, c'est même plutôt naturel. Deuxièmement, ça a des applications très concrètes et très rapidement, aucun argument d'autorité derrière. On peut montrer que c'est utile (et j'ai donné deux exemples qui montrent que ça a du sens comparé à une approche trop empirique !) et que ça ne gêne personne, au contraire, ça permet d'avoir une meilleure maîtrise de ce qu'on fait.
[^] # Re: Décalage
Posté par rewind (Mastodon) . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 9.
La notion de type est très très loin d'être une notion technique. De nos jours, on a pris conscience que les données sont tout aussi importante que le code qui les manipule. Bien choisir comment représenter ses données, ça fait partie de l'apprentissage de la programmation. Pour moi, apprendre uniquement des structures de contrôles et faire l'impasse sur les types, c'est faire la moitié du boulot. Dans mon univ, on donne un quantité impressionnante d'exercice en première année dans lesquels le choix du bon type est importante pour la résolution du problème. Et je ne parle même pas de structure là, juste entier/flottant/booléen/caractère.
# Coin !
Posté par rewind (Mastodon) . En réponse au journal Veuillez instancier ce journal avant de le lire. Évalué à 3.
Je pense que si la différence entre les deux n'est pas visible, c'est d'une part (comme dit plus haut) parce qu'il y a les appels SDL qui prennent beaucoup de temps, et d'autre part, parce que tes composants sont petits et peu nombreux, ce qui fait que même avec le layout "array of struct", tu as une bonne localité des données. Il faudrait faire le même test avec des données plus grosses et je pense qu'on verrait la différence. J'essaierai de bricoler un truc si je trouve du temps.
[^] # Re: Benchmark
Posté par rewind (Mastodon) . En réponse au journal Veuillez instancier ce journal avant de le lire. Évalué à 3.
Il doit mal expliquer mais en fait, c'est exactement ce qu'il fait : comparer comment stocker les entités. Avec deux variantes : "struct of array" et "array of struct".
Dans son cas, ce sont aussi des vector. Et toutes les entités ont potentiellement tous les composants (d'après ce que j'en ai compris).