Alfonso Maruccia

Google, la programmazione è Go

Mountain View rende pubblici i suoi esperimenti con un nuovo linguaggio di programmazione, lodandone le qualità velocistiche e chiamando a raccolta sviluppatori esterni per far maturare la piattaforma. Tutto con licenza BSD

Roma - A Google, si sa, sta particolarmente a cuore la velocità di esecuzione di appliance e programmi: e per tale motivo la società non lesina sulla distribuzione di strumenti di sviluppo ad alto tasso di ottimizzazione. Dalla realizzazione di tool specifici a un vero e proprio linguaggio di programmazione il passo può essere breve, e infatti Go sta lì a dimostrare gli sforzi compiuti da Google durante gli ultimi due anni nel tentativo di rendere più facile la vita agli sviluppatori.

"Go prova a combinare la velocità di sviluppo nel lavorare con un linguaggio dinamico come Python con le performance e la sicurezza di un linguaggio compilato come C o C++" spiega Google presentando la sua nuova creatura, con l'obiettivo ultimo di ottenere un codice compilato con le stesse prestazioni possibili con C contemporaneamente a una predisposizione naturale a girare al meglio su sistemi a più core.

I campi di applicazioni più indicati per il nuovo linguaggio sono quelli dei software di sistema inclusi web server, sistemi di storage e database, anche se Google non chiude le porte a ulteriori ambiti di utilizzo. "Abbiamo sviluppato Go perché eravamo un po' frustrati da quanto lo sviluppo software fosse divenuto complicato negli ultimi 10 anni" dice Rob Pike, l'ingegnere software di Mountain View.
Go offre il supporto nativo ai processori multi core, un'alta velocità di esecuzione e anche di compilazione visto che il processo di creazione dei binari avviene in maniera più o meno istantanea. Il componente essenziale - che poi rende il sistema così propenso alla velocità - di ogni "Go-programma" sono le "Go-routine": processi leggeri ed efficienti a cui vengono delegati i compiti di gestire i vari sistemi e server da sviluppare. "Fate girare migliaia di Go-ruotine se volete - suggerisce Google - e dite addio ai problemi di stack overflow".

Al di là dei toni trionfalistici di Google, a ogni modo, Go non è al momento utilizzato per la creazioni di nessuna delle componenti software dell'ecosistema di Mountain View. Non potrebbe essere altrimenti visto che il linguaggio versa ancora in uno stato sperimentale, e proprio per traghettarlo verso uno stato di maggiore maturità -magari rendendolo utile alla creazione di applicazioni per il mondo reale piuttosto che di semplici showcase propagandistici - al Googleplex hanno deciso di distribuire la piattaforma di sviluppo sotto licenza BSD.

Alfonso Maruccia
Notizie collegate
  • TecnologiaGoogle regala tool di sviluppoMountain View converte all'open source alcuni degli strumenti utilizzati per costruire le sue appliance più popolari. Affinché il web sia sempre più veloce
157 Commenti alla Notizia Google, la programmazione è Go
Ordina
  • ... le solite discussioni dove si parla di quali sono i linguaggi giusti e quali quelli sbagliati...

    nessuno in realtà ha ancora capito che l'unico linguaggio giusto da usare è quello che per fare una determinata cosa x fornisce le caratteristiche migliori per farla.

    oppure è così difficile passare da un linguaggio ad un altro (fermo restando che le basi sono identiche tra le diverse famiglie di linguaggi???)

    non la capirò mai questa cosa! Ma vi chiedo... se al MIT e luoghi similari tanto tempo fa avessero avuto gli stessi vostri pensieri che ne sarebbe stata dell'informatica? Sicuramente tutti noi faremmo un altro mestiere, in primis.
    E poi: niente LISP? niente LOGO (poveri bambini!!!) ??? niente multitasking? niente di niente???
    ogni cosa nasce da un esigenza ed è questo che imho ha fatto sì che la razza umana evolvesse e primeggiasse sulle altre... ora vogliamo fermare l'evoluzione in nome dell'assembler e di C ???
    non+autenticato
  • - Scritto da: sempreio
    > ... le solite discussioni dove si parla di quali
    > sono i linguaggi giusti e quali quelli
    > sbagliati...

    > nessuno in realtà ha ancora capito che l'unico
    > linguaggio giusto da usare è quello che per fare
    > una determinata cosa x fornisce le
    > caratteristiche migliori per farla.

    > oppure è così difficile passare da un linguaggio
    > ad un altro (fermo restando che le basi sono
    > identiche tra le diverse famiglie di
    > linguaggi???)
    >
    > non la capirò mai questa cosa! Ma vi chiedo... se
    > al MIT e luoghi similari tanto tempo fa avessero
    > avuto gli stessi vostri pensieri che ne sarebbe
    > stata dell'informatica? Sicuramente tutti noi
    > faremmo un altro mestiere, in
    > primis.
    > E poi: niente LISP? niente LOGO (poveri
    > bambini!!!) ??? niente multitasking? niente di
    > niente???

    Ecco, appunto, lasciamolo ai bambini, qui si parlava di programmatori.

    > ogni cosa nasce da un esigenza ed è questo che
    > imho ha fatto sì che la razza umana evolvesse e
    > primeggiasse sulle altre... ora vogliamo fermare
    > l'evoluzione in nome dell'assembler e di C
    > ???
    krane
    22544
  • A quanto pare esisteva già un altro linguaggio con quel nome....

    http://code.google.com/p/go/issues/detail?id=9&col...

    :)
    non+autenticato
  • - Scritto da: Jakob Grunig
    > A quanto pare esisteva già un altro linguaggio
    > con quel
    > nome....
    >
    > http://code.google.com/p/go/issues/detail?id=9&col
    >
    >Sorride

    Insomma di go ce n'è a gogò A bocca aperta
  • Assembly (e non "assembler", che semmai è il compilatore dell'assembly) e C++. Il primo di basso, il secondo di alto livello. Tutto il resto è roba derivata dai primi 2. Un bravo programmatore PRIMA si studia per bene assembly e C++, POI tutto il resto. Anzi, ancora prima bisogna studiare l'architettura x86.Sorride
    E' come lo studio della geometria al liceo, si parte dagli assiomi, poi le prime definizioni, poi i triangoli, i teoremi sui triangoli, i postulati e i corollari sui triangoli, poi gli altri poligoni e infine i solidi. Tutto con processo deduttivo e rigorose dimostrazioni.
    Se uno conosce bene il C++ poi Java lo impara in poco tempo. Se uno invece studia prima Java, C#, html, ecc... manda solo a memoria nozioni senza capirle davvero.
    non+autenticato
  • >Se uno conosce bene il C++ poi Java lo impara in poco tempo. Se uno >invece studia prima Java, C#, html, ecc... manda solo a memoria nozioni >senza capirle davvero.

    Certo bisogna sicuramente prima studiare l'assembly e il C++ per capire bene l'HTML.... e anche per capire bene le funzionalità della menubar del notepad...

    Ma ce sei venuto o te c'hanno mannato?
    non+autenticato
  • > >Se uno conosce bene il C++ poi Java lo impara in
    > poco tempo. Se uno >invece studia prima Java, C#,
    > html, ecc... manda solo a memoria nozioni >senza
    > capirle
    > davvero.
    >
    > Certo bisogna sicuramente prima studiare
    > l'assembly e il C++ per capire bene l'HTML.... e
    > anche per capire bene le funzionalità della
    > menubar del
    > notepad...
    Se per te l'html è un linguaggio di programmazione...
    Torna pure al liceo, a giocare coi triangoli!A bocca aperta
    non+autenticato
  • E se tu non capisci il sarcasmo non hai rimedi da cercare...
    non+autenticato
  • > E se tu non capisci il sarcasmo non hai rimedi da
    > cercare...
    Se ti mancano i fondamentali, che te lo spiego a fare
    non+autenticato
  • - Scritto da: pippO
    > > >Se uno conosce bene il C++ poi Java lo impara
    > in
    > > poco tempo. Se uno >invece studia prima Java,
    > C#,
    > > html, ecc... manda solo a memoria nozioni >senza
    > > capirle
    > > davvero.
    > >
    > > Certo bisogna sicuramente prima studiare
    > > l'assembly e il C++ per capire bene l'HTML.... e
    > > anche per capire bene le funzionalità della
    > > menubar del
    > > notepad...
    > Se per te l'html è un linguaggio di
    > programmazione...
    > Torna pure al liceo, a giocare coi triangoli!A bocca aperta

    Sono io che ho fatto la similitudine con lo studio della geometria al liceo, non "Bresaola" (un nome, un programma), che invece ha fatto il "fenomenale" paragone con l'HTML.
    E la similitudine con la geometria mi sembra perfettamente appropriata.
    non+autenticato
  • > > Se per te l'html è un linguaggio di
    > > programmazione...
    > > Torna pure al liceo, a giocare coi triangoli!A bocca aperta
    >
    > Sono io che ho fatto la similitudine con lo
    > studio della geometria al liceo, non "Bresaola"
    > (un nome, un programma), che invece ha fatto il
    > "fenomenale" paragone con
    > l'HTML.
    > E la similitudine con la geometria mi sembra
    > perfettamente
    > appropriata.
    Infatti sono d'accordo con te, anch'io trovo "bresaola" un po' insipida...Occhiolino
    non+autenticato
  • - Scritto da: Bresaola
    > >Se uno conosce bene il C++ poi Java lo impara in
    > poco tempo. Se uno >invece studia prima Java, C#,
    > html, ecc... manda solo a memoria nozioni >senza
    > capirle
    > davvero.
    >
    > Certo bisogna sicuramente prima studiare
    > l'assembly e il C++ per capire bene l'HTML.... e
    > anche per capire bene le funzionalità della
    > menubar del
    > notepad...
    >
    > Ma ce sei venuto o te c'hanno mannato?

    Tu invece da dove sei uscito per definire l'html un "linguaggio di programmazione"? Che codice "esegui" nella cpu con l'html? Firefox secondo te è scritto in html?
    Perchè su P.I. ho sempre la sensazione di avere a che fare con gente che nemmeno si sognerebbe mai di iscriversi ad ingegneria informatica?
    non+autenticato
  • - Scritto da: The Real Gordon

    L'hai scritto tu questo?
    "Se uno conosce bene il C++ poi Java lo impara in poco tempo. Se uno invece studia prima Java, C#, html, ecc... manda solo a memoria nozioni senza capirle davvero."
    In particolare che ha C++ per essere indispensabile per capire l'html?
    >
    > Perchè su P.I. ho sempre la sensazione di avere a
    > che fare con gente che nemmeno si sognerebbe mai
    > di iscriversi ad ingegneria
    > informatica?

    Perchè che ha ingegneria informatica da dover essere nei sogni di tutti gli informatici? E a ingegneria informatica insegnano: "I VERI linguaggi sono solo 2"? E si dovrebbe pure sognare di imparare l'assembly?
  • > Perchè che ha ingegneria informatica da dover
    > essere nei sogni di tutti gli informatici? E a
    > ingegneria informatica insegnano: "I VERI
    > linguaggi sono solo 2"? E si dovrebbe pure
    > sognare di imparare
    > l'assembly?
    Perchè a medicina insegnano anatomia?
    Forse perchè se NON sai i fondamentali non vai molto lontano?A bocca aperta
    non+autenticato
  • - Scritto da: pippO
    > > Perchè che ha ingegneria informatica da dover
    > > essere nei sogni di tutti gli informatici? E a
    > > ingegneria informatica insegnano: "I VERI
    > > linguaggi sono solo 2"? E si dovrebbe pure
    > > sognare di imparare
    > > l'assembly?
    > Perchè a medicina insegnano anatomia?

    Perchè medicina e informatica sono lontanamente paragonabili?
    E in medicina insegnano che i soli veri strumenti sono bisturi e ago?

    > Forse perchè se NON sai i fondamentali non vai
    > molto lontano?
    >A bocca aperta

    Perchè i fondamentali li trovi solo a ingegneria?
    http://it.wikipedia.org/wiki/Tim_Berners-Lee
    non mi sembra sia arrivato poco lontano
  • Sembra la classica notizia da primo aprile. Dando un'occhiata al sito di Go sembra di vedere del C con un po' di cipria, e' uno scherzo vero?
    non+autenticato
  • - Scritto da: Gianei
    > Sembra la classica notizia da primo aprile. Dando
    > un'occhiata al sito di Go sembra di vedere del C
    > con un po' di cipria, e' uno scherzo
    > vero?

    Guarda meglio. A bocca storta
  • il linguaggio GO esisteva già!!
    http://code.google.com/p/go/issues/detail?id=9
    non hanno neppure googlato per vedere se il nome era originale o meno.

    a mio avviso a sto giro hanno toppato...
    non+autenticato
  • Ecco, meglio che lo chiamino GWAT
    Go Was Already Taken
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
1 | 2 | 3 | Successiva
(pagina 1/3 - 12 discussioni)