






int main(argc, argv)
int argc;
char **argv;
{
code();
}Et encore j'ai gardé la déclartion des int qui n'est même pas obligatoire.squalyl (./20177) :
godzil: en général le texte du programme est parsé dans un AST brut sans aucune optim, et on peut regénérer le source original directement, sans les commentaires la plupart du temps.
Les optimisations faciles (constant folding et co) interviennent généralement juste après la production de l'AST brut. Beaucoup d'autres optims agissent après la vérification sémantique (types, etc) et la transformation en opérations basiques prêtes a assembler.

flanker (./20167) :Oui c'est une bonne idée et j'avais essayé, et en fait c'est très bon comme idée, ça marche génial… sur une petite échelle. Le problème quand t'as beaucoup de code justement c'est que tu n'as pas toujours un AST valide (il faut aussi de préférence un langage conçu pour ça, sans préprocesseur, post/pré-build process, etc. même avec Java c'est la galère en praitque). Le pire est quand tu as un projet séparé en 2, genre une "lib" et un "moteur", et la lib ne compile pas, alors il n'est plus vraiment possible de naviguer dans le moteur. Mais même si tu t'abstiens de séparer ou que tu imposes que le moteur chope toujours la dernière version de la lib qui a compilé (ce qui est limitant en pratique, par rapport au fait de simplement naviguer dans du texte) la moindre erreur de syntaxe voire de structure un peu profonde pète tout, ce qui fait que les refactorings, déjà douloureux en temps normal, commencent à ressembler à une manif de gilets jaunes. Et l'intérêt pour moi d'avoir des bons outils est justement d'aider dans les périodes les plus tendues.
En fait, il faudrait un « équivalent » des outils wysiwyg pour le code : il y aurait une représentation interne (en gros l'AST) stockée sur disque (et on s'en fout du format, ça pourrait être n'importe quel formatage valide), alors que l'édition se ferait avec une présentation différente et potentiellement propre à chacun.
Au passage, je suis sûr qu'on pourrait du coup imaginer d'autres moyens de naviguer dans le code (au lieu du fold/unfold de blocs syntaxiques, on pourrait par exemple zoomer pour voir une plus ou moins grande portion du fichier/projet).
Par contre, ça impose d'avoir un AST valide (ce qui est faux quand on est au milieu d'un bloc de code).
Brunni (./20201) :
dans ma boîte actuelle la règle est qu'il n'y ait zéro commentaire, car le code est sensé se décrire lui-même…

)
flanker (./20204) :Nan mais en gros vous y êtes, c'est clairement une amélioration pour le futur et ça va sans doute se faire, je disais juste que c'est en pratique bien plus compliqué que ça n'y paraît, et que dans de nombreux cas ça va apporter son lot de désavantages et de frustrations, un peu comme passer de C++ à Javascript (et si on parle d'IDE utilisant un AST mais tolérant on peut en gros déjà mettre ceux de JetBrains dans la liste, ils se basent sur ça pour de nombreuses fonctionnalités innovantes ; le vrai changement serait de se passer entièrement du texte justement, avec tous les avantages que Zerosquare mentionne pour tracker le code, la sémantique améliorée, etc.). Mais ça reste génial, et certainement quelque chose vers lequel on va, et heureusement il y a aussi des étapes intermédiaires
ah mais dans l'idée, ça serait en gros l'AST et pas forcément l'AST lui-même (tel qu'utilisé par le compilo), mais on peut imaginer rajouter plein d'informations pour le développeur (des commentaires qui s'afficheraient dans la marge avec une belle accolade sur un bloc de code, garder de façon pérenne les morceaux couverts par les tests, …).
Par contre, le diff risquerait de moins bien se passer :/

Brunni (./20211) :Honnêtement je doute que beaucoup de gens aient porté des softs C++ en JS, c'est pas le même usage
un peu comme passer de C++ à Javascript

Uther (./20215) :Tu l'as fait exprès ?
Oui mais la c'est de la transpiration

Pen^2 (./20216) :T'inquiète pas : ton manager le voit, lui, et te demandera de porter vos softs tôt ou tard
je ne vois pas trop le rapport entre un programme standalone et un truc web, c'est pas du tout le même usage ?


Zerosquare (./20217) :Nah, t'inquiète ^^
ton manager le voit, lui, et te demandera de porter vos softs tôt ou tard
In the beautiful Midwest, windchill temperatures are reaching minus 60 degrees, the coldest ever recorded. In coming days, expected to get even colder. People can’t last outside even for minutes. What the hell is going on with Global Waming? Please come back fast, we need you!
— Donald J. Trump (@realDonaldTrump) January 29, 2019