S'il faut un langage compilé pour obtenir de meilleures performances, pourquoi en faire un langage à gestion automatique de mémoire ? plutôt que d'utiliser de simples aides à la gestion comme les pointeurs intelligents, qui n'impactent pas les performances mais gardent la souplesse et la puissance d'une gestion manuelle ?
Parce que c'est l'enfer quand on commence à faire de la programmation parallèle.
D'autre part, programmation système != programmation kernel, ce n'est pas du tout évident que Go soit adapté pour la programmation kernel. A priori ils s'interessent aux programmes systemes (serveurs, base de données, etc.).
Ça me paraît donc un peu aninomique, surtout qu'en compilant vite (ce qui est un objectif prioritaire du langage) on ne pourra pas profiter de beaucoup d'optimisations de la part du compilateur.
La rapidité de compilation c'est surtout un side effect d'avoir écrit le compilateur from scratch. Ça risque de devenir plus lent avec les optimisations, même si le design du langage permet de conserver une certaine rapidité (surtout dans les couches hautes: la grammaire et la gestion particulière des modules doivent aider).
la Faq sur le langage parle de python en disant que ce n'est pas efficace, les développeurs Python devraient apprécier ; il devrait être possible de développer un compilateur python rapide non ?
C'est très dur (il suffit de voir depuis quand pypy existe), python est un langage trop dynamique pour le compiler/JITter efficacement. Alors que Go possède un système de type entièrement statique (que je trouve assez élégant, c'est une sorte de duck typing statique).
[^] # Re: Interrogations...
Posté par ribwund . En réponse au journal Go : Un nouveau langage chez Google. Évalué à 3.
Parce que c'est l'enfer quand on commence à faire de la programmation parallèle.
D'autre part, programmation système != programmation kernel, ce n'est pas du tout évident que Go soit adapté pour la programmation kernel. A priori ils s'interessent aux programmes systemes (serveurs, base de données, etc.).
Ça me paraît donc un peu aninomique, surtout qu'en compilant vite (ce qui est un objectif prioritaire du langage) on ne pourra pas profiter de beaucoup d'optimisations de la part du compilateur.
La rapidité de compilation c'est surtout un side effect d'avoir écrit le compilateur from scratch. Ça risque de devenir plus lent avec les optimisations, même si le design du langage permet de conserver une certaine rapidité (surtout dans les couches hautes: la grammaire et la gestion particulière des modules doivent aider).
la Faq sur le langage parle de python en disant que ce n'est pas efficace, les développeurs Python devraient apprécier ; il devrait être possible de développer un compilateur python rapide non ?
C'est très dur (il suffit de voir depuis quand pypy existe), python est un langage trop dynamique pour le compiler/JITter efficacement. Alors que Go possède un système de type entièrement statique (que je trouve assez élégant, c'est une sorte de duck typing statique).