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

Publié le 11 novembre 2009 par Androider

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.

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")
}