Pourquoi le compilateur ne peut-il pas compiler mon code comme je le tape? p>
Du point de vue de l'utilisateur, cela pourrait fonctionner aussi bien que la coloration de la syntaxe fait aujourd'hui. Si vous arrêtez de taper assez longtemps (peut-être quelques secondes) la compilation (non liaison) finirait et que les erreurs de codes seraient identifiées à l'aide de quelque chose comme la coloration de la syntaxe. P>
Ce n'est pas comme si mon ordinateur de monstre de 3Ghz Quad Core était vraiment occupé à faire autre chose. Pourquoi ne pas laisser compiler tout le temps? P>
7 Réponses :
Certains IDes compilent (ou au moins de la syntaxe de contrôle de la syntaxe et de la sémantique) telle qu'elle est dactylographiée. Par exemple, je pense que Eclipse le fait. Je pense que Visual Basic 6 (et peut-être des versions antérieures). P>
Autant que j'ai vécu, Eclipse (le JDT, au moins) fait la syntaxe-vérifie lors de la frappe, mais la compilation actuelle (c'est-à-dire la production de fichiers de classe) uniquement lors de la sauvegarde d'un fichier. (Cela aurait pu changer au cours des dernières années, cependant.)
ça peut. Ou, pour être plus utile, la réponse à cette question dépend de p>
Certaines optimisations vraiment fortes seraient très désordonnées de gâcher à la volée. D'autre part, une compilation de base, s'il n'ya pas besoin de s'inquiéter de l'attribution de compensations pour les instructions X86? Bien sûr. P>
Notez que vous utilisez l'IDE, mais c'est ainsi que VB.NET fonctionne. P>
C'est exactement ce que l'éditeur de code VB.NET dans Visual Studio fait. P>
L'avantage est beaucoup plus précis intellisense que c #. L'inconvénient est qu'il gaspille vraiment de vastes quantités de temps de processeur et de mémoire. : - ( p>
Ce n'est qu'un déchet s'il n'est pas utilisé i> utilisé.
@RocketMagneNet: Il peut rendre l'interface utilisateur SLINGISH & Interface avec les processus d'arrière-plan (c'est-à-dire d'autres programmes). Ce n'est pas comme SQL Server où vous pouvez définir une limite sur l'utilisation de la mémoire et de la CPU.
@RocketMagneNet: Malheureusement, il est utilisé. Il existe une limite supérieure très évidente sur la taille et la complexité d'une solution VB.NET. En revanche, j'ai travaillé sur C # Solutions 20 fois la taille et je n'ai pas encore atteint une limite pratique.
Je ne suis pas bien versé dans les compilateurs ou les méthodes par quel code est converti en une langue IL et de la machine, etc. Mais même pour que je puisse voir comment modifier mon programme par une déclaration de contrôle de flux peut complètement invalider le travail d'un compilateur a fait jusqu'à ce point. En ajoutant ou en modifiant une ligne de code unique, des parties entières d'un programme peuvent devenir obsolètes, inutilisées ou d'une autre manière nécessitent une réévaluation. P>
Je pense que je préférerais sauver ces cycles CPU pour distribuer.net ou seti @ home au lieu de recompiler constamment mon code comme je l'modifiais. P>
qui dépend totalement de la langue. P>
Les langues offrant des syntaxes de contexte "pourraient" pré-compiler des expressions une fois dactylographiés. Cependant, la compilation de ce projet de langues est toujours rapide, alors pourquoi utiliser la CPU lorsque vous pouvez lotter rapidement le travail lorsque le code est prêt? P>
D'autres langues, telles que ceci, c ++, dépendent du contexte. Dans la plupart des cas, le compilateur ne peut pas comprendre une expression sans avoir déjà lu le code entier avant l'expression. Il est vraiment très difficile d'analyser et c'est pourquoi nous avons une erreur d'erreur avant la compilation que maintenant (dans VS2010 et autre IDE récent). Dans ce cas, il semble impossible de mettre en œuvre la fonctionnalité que vous demandez. P>
Cela dit, je ne suis pas un spécialiste du tout. C'est tout ce que je sais à ce sujet. P>
Même interprété des langues comme PHP ont un support pour cela dans l'éditeur de Komodo. Je suis sûr qu'il y a beaucoup plus d'éditeurs qui l'appuient pour presque toutes les langues. P>
Peut-être parce que quand vous l'avez, quelqu'un voudra éteindre. Stackoverflow.com/questions/665747 / ...
Quelle langue utilisez-vous? Il n'est pas rare que les IDes compilent à la volée de nos jours.