+++ to secure your transactions use the Bitcoin Mixer Service +++

 

concours-frandroid-ygic2

Article

  • le 11.11.2009
  • à 09:05
  • par Nicobx

Le nouveau langage de programmation « Go » de Google sur Android ? 10

nov11

Non il ne s’agit pas d’une version mobile du célèbre jeu. Mais du nouveau langage de programmation tout juste lancé par Google : le Go.

logo-153x55

Voici l’annonce officielle chez google

Ce langage est pour le moment proposé sous GCC (Linux, Mac, et Windows avec cygwin). Il comprend un langage fortement proche du java, mais ne produit pas de bytecode interprété par une machine virtuelle. Il produit directement un exécutable, comprenant un système de garbage collector (comme java).

Quel est le lien avec Android ?

Les exécutables produits par Go tournent sur OS Linux. Imaginons un nouveau package Go, associé à une librairie permettant de communiquer avec la couche java d’android. Il suffirait à ce package Go de communiquer avec le binder (module du noyau linux android permettant aux programmes java de communiquer entre eux et « l’OS », par exemple pour construire une fenêtre, des boutons,…) et nous aurions un programme natif qui s’exécuterait sur Android.

Pourquoi ce n’était pas déjà fait avec le C++ ?

Probablement parce que la manipulation de pointeurs, l’expérience requise pour développer en C++, et le manque de garbage collector aurait rendu le système très instable par les applications du market.

Tout ceci n’est que pure spéculation, mais pourquoi Google lancerait-il aujourd’hui un nouveau langage, reliant la beauté du java avec la vitesse du C, si ce n’est pour l’inclure dans Android ou Chrome OS ?
Allez : un petit hello Frandroid en Go

package main
import "fmt"
func main() {
fmt.Printf("Hello Frandroid !n")
}

RSS des commentaires

10 commentaires

  1. naholyr dit :

    ’sont un peu chiants google à passer leur temps à réinventer la roue. Parfois c’est bien, mais là franchement créer (encore) un nouveau langage de prog, pfff… Il apporte quoi concrètement ce langage ? Si c’est juste pour la rapidité, ils n’ont qu’à sortir un compilateur qui transforme le bytecode Dalvik en binaire exécutable, ce sera pas plus compliqué que de créer un compilateur pour un nouveau langage, et beaucoup plus intéressant pour les développeurs.

  2. deus13 dit :

    Je croyais que c’était python et c++ le go -_-

  3. Nicobx dit :

    il y a des elements de python, java et c++

  4. thetest dit :

    Soit c’est un langage de script et il est portable, soit ça compile en assembleur natif et alors le binaire n’est plus portable.

    Il faut rappeler que la portabilité du binaire c’est justement l’interet du Java. Pas besoin de recompiler le binaire pour le faire tourner sur une autre plateforme. Pour l’instant tous les téléphones sont sous ARM, mais qu’en sera-t-il dans qqe années ? ;-)
    Si c’est du natif, impossible de le faire tourner sur un autre processeur, sauf à utiliser un émulateur (encore faut-il en disposer ou qu’il soit autorisé, contrairement à l’iPhone).

    Ce qui fait ch*er Google avec Java (tout comme MS avant lui) c’est qu’il n’ont pas le controle total dessus … car ils doivent soit payer des droits ou alors publier leur propre code sous GPL. Et la GPL, ils aiment pas ça du fait de sa viralité.

    L’absence de viralité est d’ailleur la raison du choix pour la license d’android. Ce qui pose des problèmes. Impossible de récupérer les codes de Samsung (hors code lié à Linux sous GPL donc), par exemple pour le Galaxy et sortir une version 2.0 à partir des sources publiées par Google du tronc principal. On peut bricoler ça, mais on obtiendra pas le même niveau de résultat.

    Enfin pour rire un peu, les ARM de l’ensemble des Android actuels et de tous les iPhones sont compatible avec Jazelle. Un méchanisme qui permet d’exécuter du bytecode Java directment comme de l’assembleur machine. Et la blague, c’est que coté Android ou Iphone, ce n’est pas utilisé :) :) :)

    Coté Apple on préfère dire que Java c’est pas rapide en oubliant bien vite que leurs processeurs savent l’exécuter en natif … coté Google et on préfère « oublier » ce « détail » et pousser un nième format propriétaire équivalent le « DEX ».

    On comprend facilement la raison qu’apple à ne pas se froter à un système qui prone la portabilité : conserver un modèle « d’exclusivité » aux applications iphone.
    Mais coté Google, quel est l’objectif ? A quoi ils jouent ;-)

  5. kouray dit :

    En se projetant sur quelques années, vous pensez qu’il y a une quelconque utilité à apprendre ce langage ? Si google arrive a l’imposer sur sa plateforme android ainsi que chrome os je pense que ca pourait devenir interessant…

  6. Plorf dit :

    Pourquoi ne pas faire que du python ????

    Je vois pas l’interêt, un framework python aurais été tellement bien :)

  7. 2beta dit :

    +1 pour le python.
    Langage relativement simple, stable, bien documenté, open source, …

  8. non dit :

    LIBRARY = BIBLIOTHEQUE

  9. Rakoun dit :

    Rappelez vous, en 2000 Microsoft lançait C#. Maintenant Google va lancer son OS, son langage de programmation, Google est sur les traces de Microsoft. En cherchant un peu je suis sûr qu’on trouvera quelques ex Microsoft influent chez Google.

    Rakoun

  10. Thomas Broyer dit :

    Pour info, Mark C. Chu-Carroll (de Google) dit que Go n’a rien à voir avec Android: http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php#comment-2066770

Feel free to feed the troll

* these are required fields

Comment moderation is enabled. Your comment may take some time to appear.

FrAndroid est un site d'actualité autour d'Android géré par PO, Ulrich, Baptiste et Arnaud Farine, Thème inspiré de FREEmium