Newsgroup: it.lavoro.informatica
Titolo: Google's Go

Google's Go ... e  tutto il resto improvvisamente invecchia
http://www.techcrunch.com/2009/11/10/google-go-language/
www.golang.org

 improvvisamente invecchia
perch� ?
-- 
Soprano



Se si dovesse star dietro ad ogni virgola che il potente di turno si
inventa (vedi per esempio il nuovo Samsung Bada) non avremmo pi� tempo per
lavorare.
PaF

 
� un progetto nato non da due ultimi arrivati anzi...
Rob Pike (pla9)
Ken Thompson (non ha bisogno di presentazioni)
che tutto il resto invecchia � quanto meno prematuro dirlo oggi, molte
feature mancano, la libreria � quello che �... e l'accoglienza � stata
abbastanza tiepida al momento...
micheg

 abbastanza tiepida al momento...
Vedi sopra.

 semplicemente perché nessuno ne sentiva il bisogno...
Infatti. Basta con nuovi linguaggi. Al massimo ogni 5 anni se ne può brevettare 
uno. Non ogni 5 giorni come ora... :(
-- 
__________________________________
Luc (36, CO)
25 years uninterrupted programming
__________________________________

Sentenza ha scritto:

forse mi sono spiegato male, era quello che stavo dicendo io; seppure
creato da pike e thompson non mi sembra niente di che.
Inoltre pur non utilizzandolo uno dei linguaggi che pi� mi ha colpito
degli ultimi hanni � il D che ha molte feature del C# ma permette una
compilazione nativa tramite frontend per gcc ma alla fine le librerie di
supporto e l'accoglienza � stata quantomeno tiepida; come dire che pi�
che il linguaggio di per se conta avere un buon insieme di api e
framework a corredo...
quello che mi piacerebbe vedere in un linguaggio di programmazione:
* sintassi C-like, OOP a eredit� singola, garbage collector
* compilazione nativa
* libreria completamente ad oggetti
* compilazione di librerie statica
* eseguibili piccoli veloci e compatti
* che funzioni almeno su: freebsd,linux,windows,mac,solaris
* qualcosa simile ai generics di java o ai template di c++
* gui mappata sulle chiamate native dell'os sottostante
* gestione degli eventi in stile java
* possibilmente opensource
* interrogazione delle collection stile query
ad oggi non ho trovato nessun linguaggio che corrisponde alla mia lista
dei desideri...

 dei desideri...
Pensa a Windows... Ci puoi mettere su il linguaggio che vuoi, ma alla fine 
sotto ci sono sempre le API win32, non proprio object oriented... Per questo la 
tua lista è possibile solo pensando ad un S.O. che parta da zero seguendo le 
linee da te desiderate.
Se vuoi, dammi un mesetto che te lo preparo... :P 


 * compilazione nativa
Credo che Garbage Collector e compilazione nativa siano quasi
contraddizione in termini. Il GC pu� girare solo all'esterno di un
programma, gestendone l'allocazione di memoria, quindi tramite una VM (.net
o java che sia) che "inscatola" l'esecuzione del programma stesso.
PaF

 brevettare uno. Non ogni 5 giorni come ora... :(
Dovresti dirlo anche agli amici di Microsoft...
:-(
-- 
Ciao!
Luca

 Se vuoi, dammi un mesetto che te lo preparo... :P 
Te Tanenbaum se t'incontra per strada ti sputazza in tutt'e due gli occhi e
poi ti riga tutta la fiancata dell'auto con un grosso cacciavite facendoci
i ghirigori in stile arabesco.

PaF ha scritto:

non credo sia vero in quanto sono stati scritti anche garbage collector
per gcc vedi ad esempio quello implementato dal gcj oppure quella di
Hans B. per C/C++
http://www.hpl.hp.com/personal/Hans_Boehm/gc/
altrimenti...
beh facciamo allora un count reference semiautomatico...
obj->retain();
obj->release();
quando il count va a zero automaticamente il runtime chiama
finalizzatore e pulisce la memoria
e un autorelease pool per passare i nuovi oggetti allocati...
un p� come fa cocoa, ma non con la sintassi orribile dell'objc...
pareri personalissimi

 dei desideri...
Beh, chi non lo vorrebbe un linguaggio cos�?

 Se vuoi, dammi un mesetto che te lo preparo... :P
ROTFL
dai, gente
facciamo una colletta, paghiamogli 'sto mese di lavoro. e vediamo che esce
fuori :-)
d.
-- 
________________________________
Dan (33, MI)
33 years uninterrupted breathing
________________________________

 
Credi male.
Ci sono molti linguaggi che usano un garbage collector e compilano in 
codice nativo.
Ad esempio il già citato D, e poi linguaggi funzionali come Haskell e 
OCaml.
Il GC **non** gira all'esterno di un programma, ma è gestito dal runtime 
del programma stesso che può:
1) eseguire una ciclo di collezione se esplicitamento richiesto dal
   programma (esportando l'API per gestire il GC)
2) eseguire un ciclo di collezione ad intervalli regolari
3) se il runtime controlla lo scheduling dell'esecuzione, eseguire
   un ciclo di collezione quando il programma è in stato idle
4) quando, nella richiesta di allocazione di memoria, si superano dei
   certi parametri di soglia
Ciao  Manlio

 Beh, chi non lo vorrebbe un linguaggio così?
Io ? C'è qualcosa di più vecchio e poco innovativo all'orizzonte ?
  ngw

 Dovresti dirlo anche agli amici di Microsoft...
Tutti. Certo che gli opensorcisti sono peggio di M$. 


 i ghirigori in stile arabesco.
Sopravviverò e sarò ancora qui a mostrarvi che siete in torto. 


Il Thu, 12 Nov 2009 22:06:46 GMT, Manlio Perillo ha scritto:
[cut]
Grazie sia a te che a Michelangelo delle info.
PaF

 fuori :-)
Gratis, gratis... :P 


   ngw
ma io non voglio nulla di innovativo solo qualcosa alla java o c#
compilato staticamente... e buono in campo Desktop... alla fine avevo
preso in considerazione il D ma il supporto alle gui � ancora un p�
diciamo quantomeno macchinoso... e ho ripiegato su C++ e wxwidgets +
sqlite (+oracle remoto).

 sqlite (+oracle remoto).
Scusa ma perchè deve essere compilato staticamente ? Cioè, non vuoi
che sia facilmente decompilabile o cosa ?
  ngw

 che sia facilmente decompilabile o cosa ?
Beh la decompilazione facile non � una gran cosa (vedi .NET) inoltre se non
ci fosse una VM con tutto l'overhead che ne consegue anch'io sarei pi�
contento (.NET o Java che sia)
PaF


Tra parentesi aggiungo: stai descrivendo Objective C.
 ngw

  ngw
no manco per il cazzo...
a me la sintassi:
[[mio_oggetto alloc] init]
[mio_oggetto setX:23setY:25]
non mi piace particolarmente...
come non mi piace particolarmente
[mio_oggetto retain]
oppure
return [mio_oggetto autorelease]
inoltre non � multipiattaforma...; non posso sovrascrivere gli operatori
e molto � risolto a runtime mentre preferisco i controlli a compiler time..

 più contento (.NET o Java che sia)
non mi risulta che su .net ci sia una vm... e comunque sull'overhead 
parliamone, anche qui non mi risulta tanto, per esempio il threading 
(tanto per citare un aspetto sensibile) di una vm java non è che si 
comporti così malaccio.
 

rootkit ha scritto:

nahm...
è solo per una questione di deploy semplificato sia java che .net
utilizzano un jit quindi alla fine l'overhead è molto basso.

 utilizzano un jit quindi alla fine l'overhead è molto basso.
appunto.

 utilizzano un jit quindi alla fine l'overhead � molto basso.
L'overhead non � solo dovuto all'interpetazione e successiva compilazione
JIT, ma anche al memory footprint del CLR. Quando iniziai a lavorare con
.NET rimasi sbalordito dall'occupazione di memoria di un programma .NET con
un form vuoto, rispetto allo stesso in Win32, qualcosa come 10 MB rispetto
a 800KB.
E' vero che con i pc di oggi questo ha un impatto inferiore, ma essendo
nato come sviluppatore C sono ancora sensibile ai malloc fatti
centellinando i byte, � un retaggio difficile da perdere !
PaF

 centellinando i byte, è un retaggio difficile da perdere !
ma va perso.
a parte il "si stava meglio quando si stava peggio", il discorso è che non 
è valida l'equazione "memoria allocata = memoria sprecata". basti vedere 
(ad esempio) i meccanismi estremamente sofisticati con cui la jvm gestisce 
l'heap e il gc, il tutto con lo scopo di massimizzare le prestazioni. se 
si mettesse a centellinare i byte minimizzerebbe l'occupazione ma il costo 
si ribalterebbe sul tempo cpu perché richiedere e rilasciare memoria al 
sistema operativo non è affatto gratis.

 sistema operativo non � affatto gratis.
Si, vero, per� non � che questa impostazione sia sempre stata implementata
in modo valido. Pensa a Microsoft Vista, dove l'enorme allocazione di
memoria iniziale era venduta come "se c'� tanto vale usarla", peccato che
se anche non c'era l'allocava lo stesso, motivo (uno dei tanti) per cui
Vista non lo montano sui netbook.
Con Seven hanno cambiato l'approccio...
PaF