Google présente un nouveau langage de programmation ambitieux baptisé Go.
Google présente un nouveau langage de programmation ambitieux baptisé Go.
Windows 7 Edition Familiale Premium 64 Bits (OEM) - PC
à partir de 99,89 €
Comparer les prix
Sony Vegas Pro 11
à partir de 619,97 €
Comparer les prix
Windows 7 Edition Intégrale (Ultimate) Mise à Jour - PC
à partir de 152,50 €
Comparer les prix
Windows 7 Edition Intégrale (Ultimate) 32 bits - PC
à partir de 258,99 €
Comparer les prix
CeBIT 2012
CeBIT 2010
Réactions
Je n'ai pas trouvé de functions socks ou sqlite mais ce n'est qu'une 0.1 donc patience.
Ok pour les temps de compilation, c'est vraiment emmerdant. Mais du code C/C sans template compilera aussi vite que ce Go.
Code typé vs Javascript-like : je déteste le second, donc c'est vite vu (hautement subjectif bien sûr). Par contre l'écriture de certaines choses en C est trop lourde, notamment les templates et cast C - vivement les autotypes pour corriger le second point, comme son exemple : foo.MyFoo *myFoo = new foo.Foo(foo.FOO_INIT).
J'aime bien la syntaxe de ce Go : pas dépaysante. À part le mot clef "var" et le ":=", qui pourraient être éliminés. Marrant ce mélange C-Pascal
Quid de la vérification de type par contre? Aussi, on ne sait pas si les nombres sont des int ou des floats ou des types vectoriels, ce qui peut avoir des conséquences catastrophiques en termes de bugs et de perfs.
EDIT: apparemment il y a les int et let Number (float?)
Plus d'infos sur la grammaire :
http://golang.org/doc/go_for_cpp_programmers.html
pas du tout de ton avis, les langages interprétés ça va pour certaines applications, mais dés qu'il s'agit de performance rien ne remplace le langage compilé. j'ai due abandonner matlab (lui même semi compilé car basé sur des appel aux libraires F77 Blas et Lapack ) et passer au bon vieux C durant ma thèse pour diviser les temps d'exécution de mon "usine a gaz" par un facteur supérieur a 10 !!
autrement 1 a tfpsly pour le typage, de plus je rajouterais qu'une fois qu'on a maitrisé les mécanismes d'allocation de mémoire on peut gagner pas mal de performances en alignant les objets en blocs mémoire contigües ( Vecteurs , matrices ... ) et en utilisant des pointeurs pour les parcourir de manière linéaire
J'ai bien parlé uniquement de simplicité et de souplesse, pas de performances (Cela dit avec un bon interpréteur qui fait du compilé JIT pour les parties du code qui sont compilables ça serait tout aussi bien...) Et le meilleur langage n'est pas forcément celui qui fait les applis les plus rapides, sinon tout le monde coderait en assembleur.
Ça peut éventuellement faire perdre un peu en lisibilité, mais ça peut pas mal aider pour bien nettoyer tout ce qui doit l'être.
lol,
je ne suis pas un extrémiste non plus. mais bon, un langage proche de la machine ( C/C ) et une bonne connaissance de la libc (par ex : http://www.gnu.org/software/libc/m...ndex.html) et de la translation que fait le compilateur de ton programme plus un petit coup d'oeil sur l'ASM pour vérifier tout ça peut faire des miracles ;-)
je vous rassure c'est très rare que j'en arrive là !
ps : mon boulot actuel est de coder dans ça http://www.mat.ensmp.fr/Accueil/fr...pe=zebulon , CQFD
Sinon à part ça je trouve dommage qu'en Go la fonction 'new' initialise les variables à zéro plutôt qu'à un état 'indéfini' ça fait tout de suite moins 'haut niveau' comme langage et pour l'instant je n'ai pas vu de référence à un équivalent du 'yield' des dernières versions de Python (dont j'aurais eu besoin récemment mais en C++, oui je sais je suis pas clair et alors ?) mais j'avoues que j'ai pas tout lu...