Moi je ne comprends pas comment un langage basé sur l'utilisation d'un ramasse-miette peut prétendre être une alternative à un langage n'en ayant pas.
Moi je ne comprends pas comment un langage basé sur l'utilisation d'un ramasse-miette peut prétendre être une alternative à un langage n'en ayant pas.
Moi je ne comprends pas comment un langage basé sur l'utilisation d'un ramasse-miette peut prétendre être une alternative à un langage n'en ayant pas.
Parce qu'il ne le prétend pas. Excepté dans les titres pompeux de dvp.com qui recherche plus la génération de clic que la justesse des propos.
Go est un langage qui se situe à mis chemin entre C et python, et qui cible le prototypage d'application rapide, le développement de Web services, ou la programmation système de moyenne taille avec un trés bon support de la programmation parallèle.
Il ne permet pas la programmation en espace Kernel comme C, ni la programmation d'application lourdes ou de jeux comme C++ où la gestion manuel de la mémoire est requise.
Il n'est donc absolument pas une alternative au C / C++.
Ça n'en reste pas moin un langage trés intéressant :
- le concept de go routines permet de paralleliser des millions de tasks sans subir l'overheat d'une création de thread classique.
- Le duck typing amène une partie souplesse de python sur un langage compilé.
- La compilation est orienté "brain dead", elle est toujours en statique
- Les performances globales sont 20-30x supérieurs à du python-ruby.
It's not a bug, it's a feature
C'est en effet parfois un peu trop gros oui...Parce qu'il ne le prétend pas. Excepté dans les titres pompeux de dvp.com qui recherche plus la génération de clic que la justesse des propos.
Go peut être vue comme alternative pour de simple et léger projets tournant en C/C++. Autrement, pour les grosses appli, il va sans aucun doute que la gestion de la mémoire est indispensable. Donc non, il ne remplace rien...Go est un langage qui se situe à mis chemin entre C et python, et qui cible le prototypage d'application rapide, le développement de Web services, ou la programmation système de moyenne taille avec un trés bon support de la programmation parallèle.
Il ne permet pas la programmation en espace Kernel comme C, ni la programmation d'application lourdes ou de jeux comme C++ où la gestion manuel de la mémoire est requise.
Il n'est donc absolument pas une alternative au C / C++.
Agence web Dim'Solution, créateur de solutions numériques
Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...
Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international
Merci pour ces éclaircissements.
C'est vrai qu'on se passerait bien des titres "à scandale" de Developpez, personne n'a envoyé de MP aux newsers pour leur dire ?
Je comprend pas pourquoi google s'acharne a vouloir créer un autre langage alors que JAVA et javascript et a eux deux ces langages peuvent couvrir tous les types d'applications.
La seul chose qui manque à Java pour être C++ Killer , c la notion de structure et de tableau alloué sur la pile et avant compilation.
Genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 struct Point { int x,int y } Point add(Point p,Point q) { Point r; r.x=p.x+q.x; r.y=p.y+q.y; return r }
Dans cette exemple il y a pas d'allocation de mémoire pour le GC mais unique sur la pile d'appel de fonction, donc un gain de performance énorme.
Apres l'autre exemple
Dans ce cas on évite un problème qui arrive forcement en java et pas en C++ c le défaut de cache on est sur que les 100 points sont a coté les un des autres donc le processeur n'aura pas de défaut de cache.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Truc { Point tab[100]; Point somme() { Point somme for(int i=0;i < 100 ; i++) { somme.x+=tab[i].x; somme.y+=tab[i].y; } return somme; } }
Voilà cela fait longtemps que je pense à cette idée qui ferai de java un C++ Killer.
Je sais il reste les fonction inlines de C++ mais bon ca doit pouvoir se faire avec un system de macro en JAVA...
Les JVM modernes savent très bien inliner les petits appels. Pour le reste de ton point, je pense que tu simplifies un peu trop mais je veux pas polémiquer car c'est pas le sujet.Je sais il reste les fonction inlines de C++ mais bon ca doit pouvoir se faire avec un system de macro en JAVA...
Javacript et C/C++ sont des langages qui ont certes leurs points faibles et leurs points forts, mais qui restent incontournables dans beaucoup d'applications faute d'alternatives acceptables. Je dirais que plus que de remplacer des technos, Google propose d'autres compromis entre la sécurité, la maintenance, la productivité du développeur et les performances. A chacun ensuite d'évaluer si ce compromis les intéressent. Certains diront qu'ils sont prêts à sacrifier une partie des aspects dynamiques de JS pour bénéficier d'une expérience plus proche d'un développement en Java, tout comme d'autres seront peut être intéressés par les gains de productivité que GO peut leur offrir par rapport à du C++, quitte à perdre une partie des possibilités côté optimisation.Que pensez-vous de cette volonté de Google à vouloir remplacer ces langages populaires (JavaScript, C et C++) ?
Le gros problème de ces nouveaux venus, c'est surtout leur écosystème encore assez faible... Et dans le cas des performances de GO comparées au C qui semblent être le point le plus décrié, il faut à nouveau tenir compte de l'âge vénérable du C (ou du C++) et des centaines d'années/homme passées sur les compilateurs. Google aimant aussi beaucoup se servir de ses propres créations, s'il se met derrière un projet, c'est sans doute qu'il pense que ça peut lui être utile.
Je penses que tu exagères, la plupart des titres sont assez informatif et neutres, après si certains sont plus trollesque pour attirer l'attention je ne voie pas très bien ou est le mal, ça serais mieux selon toi des débats vides de commentaires ?
Il y à un bouton d'alerte sur les news pour communiquer avec les gars du service news.
Je vous signale aussi que vous pouvez en faire des news, le club est un site collaboratif, si celles que vous voyez ne vous plaisent pas. Vous ne pouvez pas demander à des journalistes généralistes de faire des news aussi bonnes que vous pourriez les faires, vous qui êtes des spécialistes dans votre domaine
Par exemple ce débat EDI versus éditeur été lancé par un simple membre du club, plutôt que de critiquer, pourquoi pas en faire des news, avec le titre qui te plait ?
Sur les autres sites c'est bien pire, à tel point que sur certains autres sites qui prétendent faire parfois des news développeur, certains on tout simplement supprimés la possibilités pour les membres d'avoir des commentaires, ils ont du retirer la zone commentaires tellement les sois disant newsers (en fait des agences de madagascar qui font des news à deux balles) se faisaient chambrer, et ça quand il avais la chance d'avoir des commentaires, généralement aucune réaction car news sans intérêt ou déjà vue et revue
Personnellement mes news préférées sont les news faites par les membres, mais bon cela n'engage que moi, mais il y en à tellement peu. C'est toujours pareil partout, pour critiquer et dire du mal il y à toujours des wagons entiers de volontaires, et pour se retirer les doigt du c.. et faire quelque chose d'utile il y à plus personne
Ne prenez pas la vie au sérieux, vous n'en sortirez pas vivant ...
De quel titre à scandale tu veux parler ?
"Go le nouveau langage favori de Lady gaga et Dieudonné, le nouveau roi d’Espagne témoigne, Manuel Valls décide de l'interdire, et Jean-Francois copé organise un comité de soutien financier en partenariat avec Bygmallion, allez-vous y souscrire ? " C'est de ce titre la dont tu parles ?
Peut être que comparer Go à C++ est stupide, il en reste pas moins que c'est de cette façon que c'est présenté par Google : "Go is a systems programming language intended to be a general-purpose systems language, like C++".
Donc c'est pas developpez l'inventeur de ce "titre", c'est juste une reprise de la communication Google. Après le débat est la pour justement faire naitre la vérité sur tout ceci, sinon à quoi bon faire un débat s'il y à rien à dire ?
« L’humour est une forme d'esprit railleuse qui s'attache à souligner le caractère comique, ridicule, absurde ou insolite de certains aspects de la réalité »
Google a clairement présenté le langage Go comme une alternative à C++ dans la description du langage. Voici un commentaire des créateurs du langage (qui montre que l'origine du langage est de palier aux faiblesses de C++) :
Ensuite dans la présentation du langage, il y a un gros rapprochement avec le langage C (qui présente Go comme un "C moderne").When the three of us [Thompson, Rob Pike, and Robert Griesemer] got started, it was pure research. The three of us got together and decided that we hated C++. [laughter] ... [Returning to Go,] we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason.
Et voici un autre commentaire des gars de Google tiré d'une autre news sur le sujet.Go's syntax includes changes from C aimed at keeping code concise and readable.
Go adds some basic types not present in C for safety and convenience, etc.
Un benchmark ici qui compare les performances de Go et C : http://benchmarksgame.alioth.debian.org/u64q/go.phples langages de programmation majeurs datent de plus d’une décennie, et ne se sont pas adaptés à l’évolution du paysage informatique qui a énormément changé. Go a été conçu pour tirer parti des processeurs multicœurs, fournir des fonctionnalités modernes comme le typage dynamique, le ramasse-miettes (garbage collection), et abandonner des aspects pénibles comme l’inclusion des fichiers pour le langage C.
Le titre de la news peut sembler pompeux, je le concède, mais il tient juste compte des informations que nous avons glané sur le sujet et véhiculé par Google lui même.
Le Wiki de GO : https://code.google.com/p/go-wiki/wi...CPPProgrammers
Présentation de GO : http://en.wikipedia.org/wiki/Go_(programming_language)
Une comparaison entre C et Go : http://crypto.stanford.edu/~blynn/c2go/index.html
Un excellent débat C vs Go sur hackernews : https://news.ycombinator.com/item?id=4110480
comparaison des performances de C et Go http://benchmarksgame.alioth.debian.org/u64q/go.php
Vous souhaitez participer aux rubriques .NET ? Contactez-moi
Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
Mon blog, Mes articles, Me suivre sur Twitter
En posant correctement votre problème, on trouve la moitié de la solution
GO est tellement expérimental que ça tourne aussi sur un système des plus expérimental : "Plan 9"
http://fr.wikipedia.org/wiki/Plan_9_from_Bell_Labs
http://cm.bell-labs.com/plan9/
Plan 9 en est tout de même à sa 4e édition et est aujourd'hui une rolling release avec ses mises à jour chaque nuit.
Bref, Go n'est pas une alternative à C ou C++. Il a été créé pour concurrencer Erlang et/ou D.
C'est pas moi qui l'affirme, c'est Seth Ladd, ancien core team developper pour Go et maintenant core team developper pour Dart.
D'ailleurs, s'il a abandonné Go pour Dart, c'est que ça doit en dire long sur les projets de Google ... m'enfin ça n'engage que moi.
Je porte l'épée brisée, et sépare les vrais rois des tyrans. Qui suis-je ?
Go : le langage de programmation de Google va à l’assaut du mobile
Go 1.4 introduit le support d’Android
Go se lance à la conquête des développeurs d’applications mobiles pour terminaux sous Android. Pratiquement six mois après la publication de Go 1.3, Google dévoile une nouvelle version de son langage de programmation.
Go est une alternative au langage de programmation C/C++. Il reprend ce qui a fait le succès de ces langages, tout en intégrant des nouveautés pour rendre le code plus concis, lisible et offrir plus de sécurité. C’est un langage compilé permettant de simplifier le développement d'applications concurrentes. Il est destiné notamment à la programmation système.
La version 1.4 de Go introduit comme nouveauté phare le support du développement d’applications pour Android. Il est désormais possible de créer des applications natives pour Android, en utilisant uniquement Go. Cette prise en charge est offerte à travers le référentiel « golang.org/x/mobile », qui contient des paquets pour générer des liaisons avec Java.
La prise en charge n’est pas encore complète, et permet pour l’instant de développer uniquement de simples applications Android. « À ce stade, les bibliothèques de support sont encore en cours de développement. Les premiers utilisateurs doivent s’attendre à rencontrer des problèmes, mais nous nous félicitons de l’implication de la communauté », explique Google dans un billet de blog.
Les API Go pour Android qui sont actuellement disponibles permettent « de concevoir des choses simples, comme des dessins sur l’écran, la production des sons et la gestion des événements tactiles, ce qui en fait une excellente solution pour développer des jeux », note un ingénieur de Google.
En plus de la prise en charge d’Android, le ramasse-miettes (garbage collector) du langage a subi de nombreuses améliorations afin d’offrir de meilleures performances. Go 1.4 dispose également du support des processeurs ARM sur la technologie multiplateforme Native Client, ainsi qu’AMD64 sur Plan 9.
De nombreux ajouts, modifications et optimisations ont été apportés à la bibliothèque standard du langage de programmation.
Go a été lancé par Google il y a maintenant plus de cinq ans. Le langage a eu droit à un court moment de gloire et depuis, séduit peu de développeurs, tandis que les langages C et C++ restent encore très populaires.
Télécharger Go 1.4
Source : Google
Vous souhaitez participer aux rubriques .NET ? Contactez-moi
Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
Mon blog, Mes articles, Me suivre sur Twitter
En posant correctement votre problème, on trouve la moitié de la solution
Prévisible, vus les problèmes entre Google et Oracle...
J'aurais plutôt parié sur Dart mais bon...
N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java
Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI
ENFIN ! C'est très étonnant qu'ils n'aient pas fait ça plus tôt, surtout compte tenu de leurs démêlés avec Oracle. Maintenant que Java a amené les devs sur Android il ne reste plus à Google qu'à convertir ces derniers à Go.
Oui sinon ne confondons pas Dart et Go. Dart n'est juste qu'un langage de script Web comme le JavaScript (qui lui aussi a un avenir prometteur mais ceci est un autre débat). Rien à voir donc avec Go qui lui est un plus un langage compilé "système" comme le C et le C++. Personne ne confond JS et C/C++, alors pourquoi le faire avec Dart et Go ?
"Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain
Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).
Justement, j'étais entrain de me dire que Go pourrait aider à remplacer Java dans le coeur d'Android et donc, de ne plus avoir le problème avec Oracle.
Nul ne peut mieux connaitre la connaissance qu'elle-même.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager