Je suis en train de lire Coders at Work, et je suis au chapitre interviewer Brendan Eich. C'est un peu dense par rapport aux chapitres précédents, c'est le moins qu'on puisse dire. Autour de la page 144, il parle d'ajouter du sucre et des macros à JavaScript. Que veulent dire ces termes? Pourquoi y a-t-il une réaction contre leur ajout?Que veut dire Brendan Eich quand il parle d'ajouter du sucre et des macros à JavaScript?
Répondre
Le sucre syntaxique est une syntaxe supplémentaire ajoutée à un langage afin de faciliter la lecture/écriture (voir http://en.wikipedia.org/wiki/Syntactic_sugar). Si je me souviens bien de ce dont parlait Eich, c'est qu'il voulait ajouter du sucre syntaxique à la langue pour qu'il soit plus facile à utiliser à court terme, mais de manière à ce que cette nouvelle syntaxe soit remplaçable avec des macros dans le futur.
Les macros sont essentiellement du code que vous écrivez et qui prennent du code pour l'entrée et émettent du code en sortie. Ils ressemblent souvent à des fonctions, mais diffèrent en ce sens qu'ils effectuent des transformations sur le code lui-même. La lecture de macros Lisp here par exemple fournirait une explication plus détaillée. Que sont exactement des macros?
(édité)
- 1. Que veut dire int argc, char * argv []?
- 2. Fonction Javascript vide? Qu'est-ce que ça veut dire?
- 3. Solr; Qu'est-ce que ça veut dire?
- 4. Que fait (function ($) {...}) (jQuery); faire/veut dire?
- 5. Qu'est-ce que Serializable? Qu'est-ce que ça veut dire?
- 6. Que veut dire @ avant d'inclure ou de demander
- 7. MySQL 1443: qu'est-ce que ça veut dire?
- 8. Quand Apple parle de «mémoire», que signifient-ils?
- 9. Valgrind 'bruit', qu'est-ce que ça veut dire?
- 10. Est-ce que 'synchronisé' est vraiment du sucre syntaxique?
- 11. Quand quelqu'un dit «périphérique, fifo ou nom de fichier pour écrire aussi des trames», que veut dire fifo ici?
- 12. Comprendre quand l'utilisateur parle au téléphone
- 13. Comment faire pour que Node.js parle à un service SOAP?
- 14. Emacs parle à XCode
- 15. Que veulent dire les gens quand ils disent (et écrivent) des tests de cycle de vie?
- 16. Espace de table après la création de la table. Qu'est-ce que ça veut dire?
- 17. Cygwin propose d'afficher 4543 possibilités; Qu'est-ce que ça veut dire?
- 18. Site Web d'Apple UK CSS, * padding-top: 0; Qu'est-ce que ça veut dire?
- 19. ce qui veut dire par contexte libre pas régulier
- 20. Le '0' dans la réponse GET. Qu'est-ce que ça veut dire?
- 21. Quand JavaScript == aurait-il plus de sens que ===?
- 22. Dans la forme de Backus-Naur, que veut dire une virgule ',' en définissant un symbole?
- 23. qu'est-ce que "tuer bien" quand on parle de l'option de montage NFS?
- 24. Problème de modèle MVC pouvez-vous diagnostiquer ce que cela veut dire?
- 25. Égal (pas un jeton) dans une grammaire ANTLR. Qu'est-ce que ça veut dire?
- 26. Comment réparer Gstreamer pour capturer l'audio du microphone et le buffer ou le vider en tant que fichier brut, quand je parle il ne sauvegarde rien
- 27. Qu'est-ce que l'allocation de matrice de taille nulle fait/veut dire?
- 28. Comment dire quand un champ caché est changé
- 29. macros et déclarations IF
- 30. SO: qu'est-ce que ça veut dire? J'étudie le code source SO
Qu'est-ce qu'une macro? merci btw! – Shawn