Webbplatser

Googles Go är lovande, men fortfarande i blöjor

Google I/O 2012 - Go Concurrency Patterns

Google I/O 2012 - Go Concurrency Patterns
Anonim

Googles Go kan förbättra befintliga programmeringsspråk genom att förenkla utvecklingen utan att åsidosätta programmets prestanda, men det kommer sannolikt att ta år för att Go ska uppnå en etablerad position som gör det möjligt att få märkbar inverkan.

Följaktligen kommer det att vara avgörande för Google att åta sig att gå på lång sikt, arbeta hårt för att mästas och stärka det. Annars kommer den öppna källan Go inte att uppfylla sin angivna potential att erbjuda utvecklingshastigheten för dynamiska språk som Python med robustheten i kompilerade språk som C ++.

"Jag skulle gärna se ett kompilerat, snabbt språk som detta utvecklare har försökt att påskynda utvecklingstiden med språk och ramar för de senaste fyra till fem åren - Ruby on Rails, Django, CodeIgniter - men har offrat programmets prestanda i den strävan " säger Michael Wales, seniorutvecklare med General Dynamics Information Technology.

"Googles mål är att utveckla ett språk som inte bara är effektivt för utvecklaren när det gäller att utveckla en applikation utan också är effektiv för datorn, vid behandlingstid / minnesanvändning och affärsprocesserna för den ansökan [som] säkerhet, samtidighet, "Wales tillfogade i en e-post intervju.

Fortfarande, Go är väldigt mycket på ett barnstadium just nu och Google och den öppna källkommunit du som samlar runt projektet har sitt arbete skurit ut för dem. "Det kan vara fem år i ett decennium innan Go når en kritisk massa för att vara en hållbar fixtur i Babels beräknande torn, för att till och med nå, säg, 10 procent av det nya projektet börjar över hela linjen, säger Al Hilwa, en IDC-analytiker.

Gartneranalytiker Ray Valdes delar en liknande bild. Valdes prognoser att det kommer att ta minst fem år för att Go ska ta fast håll och bygga ett stabilt samhälle av utvecklare som använder det.

"De främsta hämmande faktorerna är att det är helt nytt, det kräver att man läser ett nytt språk och uppsättning verktyg och ramverk, och det finns mycket lite existerande kod som utvecklare kan utnyttja för att bygga lösningar, säger Valdes i en telefonintervju. "Så det tar lite tid att påverka utanför Google."

Den tidtabellen är avstängning för Alan Peters, chef och grundare av Singlebound Creative, ett digitalt marknadsföringsbyrå och grundare och VD för Tap Riot, en start av mobila applikationer.

"Jag kommer att hålla ett öga på det eftersom mitt yrke kräver att jag förstår dessa saker. Men, frankly, nej: Det presenterar för stor risk för någon av mina företag," sa han när han frågades om han planerar att investera sina företags tid och ansträngningar på Go just nu.

"Google har en mycket akademisk företagskultur som värderar forskning och experiment. Datavetenskap akademi tycker om att uppfinna programmeringsspråk," tillade Peters via e-post. "Vid Singlebound och Tap Riot är vi verkligen applikationsfokuserade. Och den tillämpade världen har bara ett annat sätt att det löser problem: snabbt."

Wales oroar sig för att Google inte får göra det disciplinerade, medvetna engagemanget som Go kommer att kräva för att lyckas. "Visst, de är intresserade av det just nu, men de är förmodligen den mest utspridda gruppen av utvecklare för att någonsin göra vinst, hoppa från projekt till projekt utan att få någonting till den" perfekta "punkten - med undantag för Google Maps och Google Reader ", sa Wales. "Jag menar, helvete, hur länge har vi väntat på en anständig kontaktadministratör i Gmail?"

Om Google inte ger Går nödvändig uppmärksamhet kommer det att vara synd, eftersom det nya programmeringsspråket har stor potential.

"De har kunnat komma fram till en renare och enklare syntax som bevarar större delen av kraften i de äldre språken som är mer komplicerade och de har kunnat göra det på ett sätt som gör bearbetningstiden mycket snabbt, "sade Valdes.

"Det verkar som om de har kunnat kombinera produktiviteten hos ett dynamiskt språk med prestanda för ett kompilerat, mer statiskt språk", tillade han.

Wales finner Gos syntaxvänliga, med en ren känsla för det som Pythons och Ruby på Rails ", samtidigt som de är bekanta med syntaxen på C-baserade språk. Han gillar också att Go, som ett kompilerat språk, körs extremt snabbt.

Wales har också beröm för Gos verktyg, kallar dem "utmärkt". "Kompilatorn är snabb, det finns en formaterare som säkerställer att alla filer i en applikation är konsekvent formaterade, vilket är bra för lag som släpper ut kod till allmänheten," sa Wales. "Så, vad är nycklarna för Go att hugga ut en plats som ett etablerat programmeringsspråk?

Till att börja med kan den syntax som han gillar så mycket förbättras ytterligare, sa Wales. "Syntaxen är mer verbos än vad vanliga Python och Ruby-utvecklare brukar, ett fel som inte lätt kan förbises eftersom det här är en av de viktigaste försäljningsställena för dessa två språk", säger Wales.

En annan svag punkt är vad Wales anser Go's vattna, objektorienterade design, som han anser vara "en stor undergång". "[Objektorienterad programmering] är ett beprövat koncept som gör hanteringen och underhållet av stora applikationer väsentligt enklare", säger han.

Google kan ge ett stort steg genom att bygga "seriösa applikationer" med det och visa hur mycket enklare och Det är bekvämt att bygga dem med Go i motsats till andra språk, sade Hilwa i en e-post intervju.

Wales rekommenderar också att man lägger större fokus på handledning och att nå ut till nybörjare. "Den nuvarande dokumentationen och de exempel som de har tillhandahållit kan bara förstås av erfarna utvecklare," sa han.

Google behöver också domareutvecklare så att de bygger Go-bibliotek. "Det här är inte bara bra för lärande, genom att granska andras kod, men det gör språket mer kraftfullt," sa Wales. "Historien har visat att stöd från tredje part är där de flesta språk vinner slaget."

Peters rekommenderar att belönade intresserade utvecklare med mycket ömtålig vård. "Google är ett kraftfullt varumärke som håller emotionell överklagande till en viss klass av nörd. Involver den nörd", sa Peters. "Ge den nerden en del interaktiv åtkomst med riktiga doktorsavhandlingar på Google och tidig tillgång till experiment. Låt dem delta i skapandet och förbättringen. Sedan har du något bättre än en utvecklare: en varumärkesmästare."