Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2018-12-09T18:38:52+01:00Les derniers messages parus sur le forum de Zeste de Savoir.Besoin de conseil sur le choix de techno par rapport à une idée de projet !, message #1945302018-12-09T18:38:52+01:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/11738/besoin-de-conseil-sur-le-choix-de-techno-par-rapport-a-une-idee-de-projet/?page=1#p194530<p>Bonsoir ! </p>
<p>Je commence à développer parallèlement à <a href="https://github.com/Firwood-Software/PearlCLR">PearlCLR</a> & <a href="https://github.com/Firwood-Software/AdvancedCSharpForLowLevelProgramming">le Livre</a> pour les p/Invoke en C# : un serveur de jeu !</p>
<p>J’ai écrit des documents expliquant le concept du projet de plus, je suis en train de mettre en place un dépôt github avec une roadmap ! </p>
<p>Le but est simple : Créé dans l’univers du célèbre jeu <a href="https://minecraft.net/fr-fr/">Minecraft</a> un univers RPG ! Cependant de nombreux problèmes surviennent à l’utilisation d’une simple API comme <a href="https://www.spigotmc.org/">Spigot</a>. En effet, Spigot garde de nombreux mécanismes propres à Minecraft qui ne me seront pas utiles et devront être désactivé dans Spigot ! Ainsi il serait plus salvateur de crée une API sur mesure au besoin du serveur en question !</p>
<p><strong>Je précise que je choisis de faire un RPG sous forme de serveur Minecraft car cela sera largement plus réalisable qu’un projet de RPG crée de A à Z qui n’aboutira pas !</strong></p>
<p>Ayant l’idée du projet il ne me reste plus qu’à choisir l’outil adapté ! J’aimerais en profiter pour découvrir un nouveau langage adapté pour mon projet <img src="/static/smileys/smile.png" alt=":)" class="smiley"></p>
<p>J’ai beaucoup entendu parler d’Élixir et des langages fonctionnel en général, je pense que ce projet serait une bonne occasion de m’intéresser de plus près à ce type de langage, qu’en pensez-vous ? </p>
<p><em>Je précise bien que ce sujet n’est vraiment pas à but trollesque, aucun problème de performance, de Gc etc. ne vous inquiète pas ! Juste de la curiosité <img src="/static/smileys/smile.png" alt=":)" class="smiley"></em></p>Quel langage de programmation choisir ?, message #1642942017-10-15T10:38:03+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164294<p>Bonjour,</p>
<p>La bêta du contenu « Quel langage de programmation choisir ? » a été désactivée en attendant de le refaire, le but étant toujours d’aider les personnes en quête d’un nouveau langage.</p>Quel langage de programmation choisir ?, message #1642772017-10-14T22:59:21+02:00Aabu/@Aabuhttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164277<p>Salut,</p>
<p>A mon avis, ton ébauche d’article manque un point essentiel : la plupart du temps, le choix du langage est plus ou moins arbitraire, et n’a rien à voir avec les qualités intrinsèques du langage. Souvent, ce choix t’es imposé à cause de l’historique (base de code existante écrite en Z), des compétences (l’équipe en place connaît bien le langage X), des outils disponibles (telle bibliothèque essentielle a été écrite pour le langage Y), etc.</p>
<p>Un exemple : au travail, on fait du code embarqué sur un micro-contrôleur. Dans l’absolu, on pourrait le programmer en n’importe quoi tant qu’un compilateur est capable de faire de l’assembleur pour le CPU. En vérité, le compilateur fourni ne sait faire que C et C++. Du coup une grande partie est programmée en C. Il y a aussi une partie en C++, mais en fait personne n’écrit une ligne à la main, c’est généré automatiquement à partir de modèles Simulink (programmation graphique en gros), et on a pas vraiment le choix du langage. Une bonne partie des outils qui tournent autour de Simulink sont fait en langage Matlab (même éditeur). Évidemment, le processus de compilation est automatisé. On a donc écrit des fichiers Matlab qui appellent make et écrit des Makefile qui décrivent le job et on a aussi écrit des scripts batch (historiquement) qui font une partie du travail. Ah, j’oubliais, on doit convertir des exécutables pour obtenir le format qui correspond aux standards du client et on a dû écrire un script Python pour ça, à cause de certaines bibliothèques écrites pour Python. On aurait adoré utiliser un langage "safe" parce que c’est pour l’automobile, mais on peut pas vraiment à cause de Simulink du coup on a un outil d’analyse statique du code C et C++. Il n’est pas question de se passer de Simulink, parce qu’il est incontournable pour les simulations du code embarqué, qu’il n’a virtuellement pas de concurrents et qu’il y a une expertise et une maîtrise forte de cet outil au sein de l’entreprise.</p>
<p>En bref, mon message est le suivant : un langage, c’est des fonctionnalités et qualités intrinsèques (propriétés, concepts, concision, contrôle mémoire, etc) et un environnement (bibliothèques, compilateurs, outils de développement). On finit rapidement par ne plus avoir le choix finalement. </p>
<p>Du genre: jeux vidéo 3D, donc Unreal, donc C++ presque à coup sûr. Ou encore application Android, donc Java principalement. Ou encore Application iOS donc Swift dernièrement. Ou encore front-end Web, donc Javascript. Ou encore mainframe dans la banque donc Cobol. Ou encore outil d’analyse des ventes via Excel donc VBA.</p>
<p><em>Bon, grillé mais tant pis.</em></p>Quel langage de programmation choisir ?, message #1642742017-10-14T22:43:44+02:00adri1/@adri1https://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164274<p>Salut,</p>
<p>L’élaboration d’un document présentant quel langage de programmation choisir est une vieille chimère. Il y a tellement de raisons intrinsèques et circonstancielles qui vont conduire au choix de tel ou tel langage pour tel ou tel projet que tenter de débroussailler ça est un peu comme de vouloir couper les têtes de l’Hydre de Lerne au couteau à beurre. Même en se restreignant à un seul domaine d’application (sauf peut être ceux qui présentent un forçage circonstanciel énorme), la tâche est colossale pour que le résultat puisse être potentiellement utile à quelqu’un.</p>
<p>Par ailleurs, vouloir décrire une panoplie de langage qui offre une vue d’ensemble du paysage technique est aussi un fantasme si l’on ne se fixe pas une ligne directrice. Par exemple, il serait censé de vouloir présenter un petit ensemble de langage permettant d’explorer les différents paradigmes de programmation, ou encore un ensemble de langage permettant de se mettre à faire du web. En revanche, un ensemble des langages dans lesquels piocher pour accomplir n’importe quel projet va rapidement devenir un pot pourri dépareillé dans lequel il sera difficile de s’y retrouver…</p>
<p>Tout ça pour dire que tu poursuis une utopie<sup id="fnref-1"><a class="footnote-ref" href="#fn-1">1</a></sup>, et que je pense qu’il serait plus productif de viser quelque chose de plus précis si tu veux produire un texte qui puisse être utile aux autres.</p>
<hr>
<p>Sinon sur ce point :</p>
<blockquote>
<p>Je n’aurai clairement pas mis Java aux côtés de C/C++ en parlant des langages compilés/interprétés. Surtout que ça ne génère pas d’exécutables. Certes, il y a une étape de compilation, mais il n’est pas compilé dans le même but que les autres. Pense à apporter des précisions.</p>
</blockquote>
<p>Tous les langages sont compilés à un moment ou à un autre (et savoir si c’est directement en binaire ou bien en passant par un bytecode ou encore à la volée va dépendre de l’implémentation considérée du dit langage). La question pertinente est plutôt de savoir si le langage est statique ou dynamique, j’ai l’impression.</p>
<p><em>(Bon, ben grillé par motet-a sur ce point)</em></p>
<div class="footnote">
<hr>
<ol>
<li id="fn-1">
<p>j’ai quand même réussi à caler trois synonymes dans le texte, je suis pas peu fier. <a class="footnote-backref" href="#fnref-1" title="Retourner au texte de la note 1">↩</a></p>
</li>
</ol>
</div>Quel langage de programmation choisir ?, message #1642682017-10-14T22:26:10+02:00motet-a/@motet-ahttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164268<p>Ben la comparaisons entre langages dits “compilés” et langages dits “interprétés” est à mon avis de moins en moins pertinente de nos jours. Déjà parce qu’avec des technologies comme Java, personne n’est d’accord ; ensuite parce quasiment tous les interpréteurs compilent (c’est juste qu’ils visent généralement un assembleur de haut niveau — pour une VM quoi — et que ça ne se voit pas forcément), et enfin parce qu’il y a de plus en plus de langages comme Elixir qui fonctionnent aussi bien dans un REPL que compilés en langage machine.</p>
<p>À mon avis c’est beaucoup plus intéressant de comparer les langages en parlant de leurs systèmes de types, de leurs façons de voir la concurrence et le parallélisme, de leur simplicité (ou complexité), etc.</p>Quel langage de programmation choisir ?, message #1642672017-10-14T22:13:15+02:00JuDePom/@JuDePomhttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164267<p>Mouais…
Même en ajoutant un aspect technique, je ne suis pas sûr qu’un article puisse vraiment servir de phare dans cet océan de langages, technologies, librairies, etc..
Pour moi, chaque projet a ses spécificités, et tu ne pourras en capturer qu’une partie tellement mineure dans ton article que tu pourrais rapidement méconduire quelqu’un.</p>
<hr>
<p>Je n’aurai clairement pas mis Java aux côtés de C/C++ en parlant des langages compilés/interprétés. Surtout que ça ne génère pas d’exécutables. Certes, il y a une étape de compilation, mais il n’est pas compilé dans le même but que les autres. Pense à apporter des précisions.</p>
<hr>
<p>Zuckerberg n’est pas un exemple pour tout ceux qui veulent faire du développement. Les débuts de Facebook et sa paternité ont étés un peu houleux diront nous <img alt=":P" src="/static/smileys/langue.png"></p>
<ul>
<li>2ème phrase : créeR</li>
</ul>Quel langage de programmation choisir ?, message #1642642017-10-14T21:59:09+02:00Heziode/@Heziodehttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164264<p>Je suis d’accord avec @motet-a. Ça manque un peu d’aspect technique.</p>
<p>Ce qui est marrent aussi (ou pas) c’est que tu parle de faille de sécurité pour le web mais pas pour les softs. À croire que lorsqu’on développe un logiciel on se fiche des failles, or c’est tout aussi important.</p>
<p>De plus tu ne parle pas d’aspect tel que les secteurs « critique », j’entend par là des secteurs comme l’automobile, l’aeronautique, le spatial, nucléaire etc. Qui au passage utilise généralement le langage de programmation <a href="https://en.wikipedia.org/wiki/Ada_(programming_language)">Ada</a> (ou <a href="https://en.wikipedia.org/wiki/SPARK_(programming_language)">SPARKS</a>). De mon point de vue, Ada est également un bon langage de programmation pour apprendre à programmer car il force l’utilisateur à adopter de bonne pratique dès le début. En revanche on lui reprochera d’être resté dans l’ombre car pas popularisé par de grosse firme tel que Google et autre. Le pauvre, il c’est fait écrasé par C++ sortie au même moment à l’époque.</p>
<p>Petite coquille également ici :</p>
<blockquote>
<p>lequel les fichiers sources ont étés convertis sous forme de binaire (une .dll ou un .exe sous windows, un .so et un éxecutable sous linux) c’est à <strong>duire</strong> une suite de 0 et de 1 uniquement compréhensible par la machine pour un système d’exploitation donné (par exemple linux ou windows).</p>
</blockquote>
<p>Tu ne parle pas non plus des métiers de la recherche, même si là c’est pas toujours de la programmation au sens « programmation » du terme X).</p>
<p>EDIT : ça serait bien de cité tes sources aussi (pour le graphe de popularité des langages).</p>Quel langage de programmation choisir ?, message #1642622017-10-14T21:24:12+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164262<p>J’ai voulu rester simple et accessible en mettant surtout l’accent sur les domaines d’applications des différents langages. Et sans doute n’est-il pas assez technique, je vais y réfléchir…</p>Quel langage de programmation choisir ?, message #1642602017-10-14T21:20:52+02:00motet-a/@motet-ahttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164260<p>Salut,</p>
<p>C’est intéressant les comparaisons de langages de programmation, mais actuellement celle-là est à mon humble avis clairement pas assez technique <img alt=":)" src="/static/smileys/smile.png"></p>Quel langage de programmation choisir ?, message #1642562017-10-14T20:53:57+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/9519/quel-langage-de-programmation-choisir/?page=1#p164256<p>Tout le monde se secoue ! <img alt=":D" src="/static/smileys/heureux.png"></p>
<p>J’ai commencé (il y a 6 heures) la rédaction d’un article au doux nom
de « Quel langage de programmation choisir ? » et j’ai pour objectif de proposer en validation
un texte aux petits oignons. Je fais donc appel à votre bonté sans
limites pour dénicher le moindre pépin, que ce soit à propos
du fond ou de la forme. Vous pourrez consulter la bêta à votre guise à
l’adresse suivante :</p>
<div align="center">
<p><a href="https://zestedesavoir.com/contenus/beta/2177/quel-langage-de-programmation-choisir-1/">À présent, c’est à vous !</a> </p>
</div>
<p>Merci !</p>
<p>EDIT/ L’article étant toujours en état d’écriture j’attend des remarques/améliorations pour gagner du temps. Merci! </p>Renversement d'une variable, message #172082014-08-19T11:19:28+02:00gasche/@gaschehttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p17208<p>Ce n'est en aucun cas une critique des sites francophones. Je comprends que tout le monde ne soit pas forcément à l'aise avec l'anglais, et par ailleurs c'est une bonne idée dans l'absolu de faire vivre des espaces de qualité dans notre langue maternelle, quelle qu'elle soit. Vu l'effort que ça demande et le déséquilibre de ressources, c'est quelque chose que j'admire et je respecte. Par contre il n'empêche que (même si on suit en général l'actualité par les canaux francophones) il est important de remonter à la source.</p>
<p>Au sujet de DVP : je ne critiquais pas l'aspect "buzz" de la news en soit. On peut le faire (tu le fais sans doute à juste titre), mais on peut aussi se dire "hoho des insultes fleuries ça va intéresser notre lectorat même non-technique" (d'ailleurs puisque personne dans les commentaires de la news n'a relevé l'absurdité du contenu technique, on peut supposer que le lectorat est en très grande majorité non-technique). Par contre si on fait ce choix de faire du buzz, pourquoi essayer d'ajouter quand même des détails techniques et le faire mal ? Intrigué par cette news, je suis allé regarder de près la couverture journalistique (majoritairement anglophone) de ce petit non-événement; la plupart des sites ne sont pas rentrés dans les détails, et c'est très bien. Le défaut de cet article est de vouloir le faire sans en avoir, il semble, les moyens.</p>
<p>(Après il est difficile de jouer aux devinettes sur les compétences techniques de l'auteur et je ne voudrais pas trop m'avancer. Ça peut être quelqu'un qui comprend l'aspect technique mais qui était crevé ou bourré et n'a pas trouvé qu' "indexer un problème de renversement de constante" ça faisait un peu Google-Translate. Des erreurs ça arrive chez tout le monde. Ça semble quand même assez peu probable.)</p>Renversement d'une variable, message #171942014-08-19T10:46:22+02:00Natalya/@Natalyahttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p17194<p>Je pense que l'auteur de DVP a juste fait une news "buzz" sur un coup de gueule de Linus. C'est contraire à toute l'éthique journalistique, mais, à priori, il n'est pas journaliste, et la difficulté de faire vivre un site de news me fait comprendre la démarche (à défaut de l'approuver).</p>
<p>Pour ce qui est de la couverture francophone, effectivement, on y perd à la traduction, et, pour les anglophones, la meilleure source d'information reste le lien de dinosaure sur le bugtracker de gcc (où Linus est bien plus courtois que sur LKML), et je ne destinais mon message qu'à ceux pour qui l'anglais technique n'est pas accessible. Je pense que si les gens doivent attendre d'avoir un bon niveau d'anglais pour commencer à étudier l'informatique, on va perdre beaucoup de temps inutilement. A terme, la maitrise de l'Anglais est indispensable, mais s'il fallait commencer par là, on n'aurait pas créé ZDS.</p>Renversement d'une variable, message #171812014-08-19T09:43:59+02:00gasche/@gaschehttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p17181<p>Au passage on peut noter que cette traduction sur DVP est spectaculairement mauvaise. La question se pose de savoir si l'auteur de l'actualité comprend les termes techniques anglais traduits à la rache, et sinon (ce qui n'est pas du tout un problème en soi) pourquoi choisir d'en faire une traduction littérale incompréhensible au lieu de ne pas rentrer du tout dans les détails techniques.</p>
<p>Une bonne raison en tout cas de se méfier de la couverture francophone des sujets techniques, et d'aller toujours consulter la source originale pour des informations précises. Si tu avais cherché "compiler spilling" tu aurais trouvé des résultats pertinents tout de suite.</p>Renversement d'une variable, message #171582014-08-19T02:08:17+02:00Natalya/@Natalyahttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p17158<p>Je me permets de déférer un peu le sujet. Le spilling, comme l'indiquait Lucas, c'est quand on vient stocker une variable en RAM pour libérer un registre su processeur pour d'autres calculs. Ce qui fait râler Linus, c'est que, dans le code qu'il a étudié, la variable sauvegardée en RAM était en fait une constante, cz qui fait que l'opération de sauvegarde et celle de restauration qui suit un peu plus loin auraient pu être remplacées par une seule opération de chargement de valeur fixe dans le registre (en adressage immédiat). C'est un bête manque d'optimisation. Par contre, c'est fonctionnel, c'est juste lent. Le bug qui a fait que Linus est allé voir le code source généré, c'est pas celui là, le bug, c'est que le code stocke les variables sur la pile avant de modifier le pointeurs de pile, ce qui fait que les valeurs se retrouvent corrompues si une IT tombe entre le spilling et le redimensionnement de la pile. (et je vous épargne le passage sur le red-zoning, qui ne nous concerne pas ici).</p>Renversement d'une variable, message #146882014-08-05T16:52:05+02:00Dinosaure/@Dinosaurehttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p14688<p>Vous pouvez voir l'issue <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61904">ici</a>.</p>Renversement d'une variable, message #141492014-08-03T13:11:18+02:00Lucas-84/@Lucas-84https://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p14149<p>Salut,</p>
<p>En regardant la version originale de la ML, le terme utilisé par Torvald est « spilling a constant ». On peut donc déduire qu'une variable « renversée », c'est une variable qu'on a mise en RAM plutôt que de la laisser dans un registre. Ce genre de cas est rendu nécessaire, car on a un nombre limité de registres (<a href="http://en.wikipedia.org/wiki/Register_allocation#Spilling">Wikipedia</a>). Cependant, il faut choisir intelligemment comment faire cette allocation de registre, et la manière avec laquelle gcc fait cela ne mérite apparemment pas de sortir de maternelle. <img alt=":p" src="/static/smileys/langue.png"></p>
<p>Si je dis pas de bêtises : dans le code qu'on peut lire <a href="http://lkml.iu.edu//hypermail/linux/kernel/1407.3/00650.html">ici</a>, <code>$load_balance_mask</code> est une constante « immédiate » qu'on met sur la pile à l'adresse <code>-136(%rbp)</code>. Puis, quelques lignes plus loin, on récupère sa valeur pour la mettre dans le registre <code>rax</code> (<code>movq</code> correspondant à un déplacement de 64 bits). Évidemment, ç'aurait plus rapide de la manipuler si elle était restée disponible dans un registre, plutôt que de devoir aller la chercher dans une mémoire plus lente.</p>
<p>ÉDIT : Grillé, mais je poste quand même.</p>Renversement d'une variable, message #141482014-08-03T13:10:35+02:00cepus/@cepushttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p14148<p>Salut,</p>
<p>Si tu suis le lien vers la ML en fin de billet, tu vois que Linus parle de "spilling", une explication du spilling se trouve ici : <a href="https://en.wikipedia.org/wiki/Register_spilling#Spilling"><a href="https://en.wikipedia.org/wiki/Register_spilling#Spilling">https://en.wikipedia.org/wiki/Register_spilling#Spilling</a></a>.</p>Renversement d'une variable, message #141392014-08-03T12:25:03+02:00Algue-Rythme/@Algue-Rythmehttps://zestedesavoir.com/forums/sujet/943/renversement-dune-variable/?page=1#p14139<p>Salut, </p>
<p>Sur développez un <a href="http://www.developpez.com/actu/73723/Linus-Torvalds-trouve-un-bug-dans-GCC-4-9-et-qualifie-celui-ci-de-merde-le-compilateur-recoit-un-prix-de-l-ACM/">petit billet</a> nous parle d'un bug sur GCC 4.9. </p>
<p>Il est question qu'un renversement de constante intempestif. Mais malgré quelques recherches, je n'ai pas trouvé de réponse satisfaisante. </p>
<p>Qu'est-ce qu'un renversement de variable ? A quoi sert-il ?</p>