D'un autre côté, en C (c'est quand même plus utile en C++ avec les objets, mais bon), on peut faire ceci:
Oui, et ? En javascript aussi tu as un système de portée de variables (c'est justement ce que la construction polémique utilise pour pas polluer le scope global...), je vois pas le rapport.
Là je ne sais pas comment fonctionne l'extension à laquelle se destine le bout de code du journal, mais si elle est minimaliste au sens "quand je tombe sur une URL qui match j'inclus ton script et yolo", sans imposer de structure ou de convention, il faut bien que le code s'exécute tout seul (ton main ne sera exécuté que parce que par convention c'est cette fonction qui est appelée quand on lance le binaire généré, y a rien de magique). Donc soit on prend le scope global pour chez soi et on fait la première proposition de Tanguy, le code à plat, soit on utilise ce type de structure.
Rajoute une convention "au chargement j'éxécute ta fonction main" et ça sera exactement pareil, je vois vraiment pas le rapport avec la choucroute.
Ou parce que d'autres langages plus anciens permettent de faire la même chose, avec moins de magie noire, et que, peut-être, JS aurai pu s'en inspirer.
Y a aucune magie noire, y a uniquement du sucre syntaxique. Si on commence à taxer ce qu'on connait mal de magie noire, pour moi le fait que quand je compile mon programme ça commence par int main et pas par char* tartempion, c'est de la magie noire.
Mais il est vrai que j'ai énormément de mal avec la notion de ne pas avoir besoin de définir un point d'entrée pour un programme, pour commencer.
Le fait de devoir le faire me semble tellement pratique quand je dois creuser dans le code des autres
Et voilà c'est purement de l'habitude. Perso j'ai l'habitude du développement web avec framework IoC, si je veux voir pourquoi tel appel merde je vais direct voir l'action dans le contrôleur concerné, c'est évident.
[^] # Re: Fonction
Posté par Sufflope (site web personnel) . En réponse au journal Plonk. Évalué à 2.
Oui, et ? En javascript aussi tu as un système de portée de variables (c'est justement ce que la construction polémique utilise pour pas polluer le scope global...), je vois pas le rapport.
Là je ne sais pas comment fonctionne l'extension à laquelle se destine le bout de code du journal, mais si elle est minimaliste au sens "quand je tombe sur une URL qui match j'inclus ton script et yolo", sans imposer de structure ou de convention, il faut bien que le code s'exécute tout seul (ton main ne sera exécuté que parce que par convention c'est cette fonction qui est appelée quand on lance le binaire généré, y a rien de magique). Donc soit on prend le scope global pour chez soi et on fait la première proposition de Tanguy, le code à plat, soit on utilise ce type de structure.
Rajoute une convention "au chargement j'éxécute ta fonction main" et ça sera exactement pareil, je vois vraiment pas le rapport avec la choucroute.
Y a aucune magie noire, y a uniquement du sucre syntaxique. Si on commence à taxer ce qu'on connait mal de magie noire, pour moi le fait que quand je compile mon programme ça commence par int main et pas par char* tartempion, c'est de la magie noire.
Et voilà c'est purement de l'habitude. Perso j'ai l'habitude du développement web avec framework IoC, si je veux voir pourquoi tel appel merde je vais direct voir l'action dans le contrôleur concerné, c'est évident.