Precedente :: Successivo |
Autore |
Messaggio |
Zeus News Ospite
|
Inviato: 10 Apr 2012 16:30 Oggetto: Go 1, il linguaggio di programmazione di Google |
|
|
Commenti all'articolo Go 1, il linguaggio di programmazione di Google
Il linguaggio di Google e le librerie di base sono pronti per l'utilizzo ''nel mondo reale''.
|
|
Top |
|
|
{Eugenio} Ospite
|
Inviato: 10 Apr 2012 23:18 Oggetto: |
|
|
Citazione: | "ponendosi in competizione con giganti come C e C++" |
wow, mi piacerebbe vedere un due programmi che hanno le stesse caratteristiche e funzioni, ma scritti con con i suddetti diversi linguaggi di programmazione, e vedere quale veramente è più efficiente e veloce, anche dal punto di vista di sfruttamento dell'hardware della macchina :3 |
|
Top |
|
|
etabeta Dio maturo
Registrato: 06/04/06 10:02 Messaggi: 2704
|
Inviato: 11 Apr 2012 07:14 Oggetto: |
|
|
Ce n'era proprio bisogno??
Onestamente ai "linguaggi" sponsorizzati preferisco i linguaggi indipendenti. |
|
Top |
|
|
mdini Eroe in grazia degli dei
Registrato: 09/09/08 13:59 Messaggi: 136
|
Inviato: 11 Apr 2012 08:39 Oggetto: |
|
|
Citazione: | "ponendosi in competizione con giganti come C e C++" |
Molto tempo fa programmavo in assembler, C e C++ e non credo che oggi si possa cerare un linguaggio altrettanto efficiente della famiglia C, in ternini di prestazioni runtime. Anche se alcune routine critiche si realizzavano in assembler, i programmi in C o C++ compilati erano campioni di prestazioni: velocità e occupazione di memoria. Il fatto è che per ottenere quelle prestazioni bisogna scendere nel merito dei dettagli della macchina e gestire la memoria in modo manuale, con impatti rilevanti sulla produttività e sul tempo di debuggung. I linguaggi delle generazioni successive come il Java, che necessita di un ambiente runtime per essere eseguito, scontano una lentezza intrinseca di esecuzione (che ne fa sconsigliare l'impiego per videogiochi, app altamente interattive e applicazioni Real time), ma rispetto ai precedenti permettono di generare sorgenti con un bassissimo tasso di bug fin dall'inizio e le fasi di sviluppo e test risultano molto più economiche e rapide. Quindi, nonostante il proliferare di nuovi linguaggi, ancora oggi c’è spazio per un nuovo linguaggio che raccolga in se le due anime: prestazioni del runtime e prestazioni dello sviluppo. Sono curioso di vedere che compromesso hanno scelto per Go 1, perché se non scioglie questo nodo, allora hanno solo perso tempo. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11566 Residenza: Tokelau
|
Inviato: 11 Apr 2012 09:29 Oggetto: |
|
|
mdini: non posso che essere d'accordo
Personalmente posso confermare che C e C++ hanno sostanzialmente la stessa efficienza, anche se il secondo tipicamente genera codice un pochino più grande (e su sistemi embedded fortemente limitati in termini di memoria infatti questo può diventare un problema)
per il resto si ricorre all'uso dell'assembler di norma solo quando non è possibile (o fortemente complicato) scrivere un codice in C per fare la stessa cosa, e solo dove si ha dannatamente bisogno di essere veloci (real time audio o video ad esempio...)
|
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 12 Apr 2012 04:18 Oggetto: |
|
|
Per me il C è rimasto solo per fare cose estreme (come OS, realtime, librerie, ecc..) mentre il C++ è più pratico.
L'assembler è da tempo sostituito dai speudo-assemblatori come il Linoleum che rendono la scrittura del codice molto più agevole.
Questo Go si propone d'esser agevole nella scrittura, ma possiede veramente librerie immense come Java e C, C++ e C# oppure possiede la capacità di sfruttare librerie di altro tipo come Python?
Ciao |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11566 Residenza: Tokelau
|
Inviato: 17 Apr 2012 15:36 Oggetto: |
|
|
ci ho dato una occhiata (edit: mi riferisco a Linoleum), perché mi ha incuriosito il post qui sopra, ma onestamente alla fine non ho trovato una vera utilità... che di norma non interessa a nessuno scrivere codice assembler portabile, e il livello di astrazione introdotto è sufficiente, secondo me, a perdere molti dei vantaggi che si hanno quando si scrive un segmento di codice a così basso livello... ad esempio poter usare solo 5 registri quando magari il processore ne mette 16 a disposizione... |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 17 Apr 2012 16:36 Oggetto: |
|
|
Di speudo-assembler ci sono molti e nominai Linoleum perchè scritto da un italiano e di "facilità di scrittura del codice" e come dici anche te, permette un buon livello d'astrazione e portabilità.
Del resto, esempio, se scrivi su 16registri e finisce su una CPU che dispone di solo 4 non potrebbe funzionare! Non sarebbe portabile.
Ma per la maggioranza delle applicazioni assembler poterle scrivere anche con solo pochi registri non sarebbe di nessun problema.
Scriverle, esempio, in C ti devi affidare alla bontà del compilatore che spessissimo, per automatismi, spreca molto di più. Scriverle in assembler puro è molto più complicato!
Insomma senza lodi ma senza infamia! Poi come dici anche te dipende dagli usi che ne fai, forse per questo gli speudo-assembler sono letteralmente spariti dal mercato!
Ciao |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11566 Residenza: Tokelau
|
Inviato: 18 Apr 2012 09:57 Oggetto: |
|
|
so che sto rischiando una diatriba infinita eppure vorrei rispondere lo stesso
in generale scrivere codice in assembler invece che in C non è una buona idea, e, sempre in generale, un buon compilatore C produce codice migliore o comunque paragonabile a quello che si sarebbe potuto scrivere a mano.
esistono dei casi in cui, però, il compilatore non riuscirà a sfruttare peculiari situazioni e in quei casi conviene prendere "il segmentino" di codice e riscriverlo... però questo ha senso solo quando si parla di codice che viene eseguito migliaia di volte al secondo o quando comunque esistono delle criticità (elaborazioni real-time ad esempio)
una lettura che posso consigliare a riguardo è questa pagina, l'autore cerca (e spesso riesce) a scrivere codice migliore del compilatore, sfruttando particolarità dell'operazione (o del processore), cosa che non sempre il compilatore è in grado di fare
|
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 18 Apr 2012 11:09 Oggetto: |
|
|
Sono d'accordo con te. Anche se, da parte mia vedo che i compilatori del C non siano tanto performanti come dici.
Ma questo è questione di punti di vista e casi d'uso. Poi spesso creano codice compatibile con diversissime CPU che possono esserci ma non ci sono.
Vedo semmai che scrivere in C in basso livello è più semplice! Questo tocca i costi del software specie per il debugging.
Ci sono stati kernel che dal assembler sono passati al C proprio per diminuire i costi ma rallentando e consumando più memoria.
In questo caso Linoleum prende i due aspetti.
Un esempio sul sito è fare un orologio con meno di 5k. In C è difficilissimo raggiungerlo.
Maggiormente sviluppato penso proprio che sia un bel linguaggio.
Ciao |
|
Top |
|
|
kenshir Semidio
Registrato: 21/02/07 15:29 Messaggi: 473 Residenza: un punto nero sulla faccia del mondo
|
Inviato: 25 Apr 2012 01:24 Oggetto: |
|
|
Certo che siete abituati a sporcarvi le mani eh? Una discussione sull'efficienza, routine assembler vs codice c, erano un bel po' di anni che non la leggevo piu'.
Massimo rispetto per chi sa ancora lavorare in sala macchine, io preferisco invece starmene un paio di gradini di astrazione piu' in su, java e php.
Mio prossimo obiettivo, ma bisogna trovare il tempo azz, e' python. Potente ed elegante, da quanto mi hanno detto.
Mi interesserebbe pero' sapere da qualcuno che ha provato go1 quali sono pro e contro del linguaggio. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11566 Residenza: Tokelau
|
Inviato: 26 Apr 2012 11:16 Oggetto: |
|
|
in realtà per lavoro è un bel po' che non mi capita... sporcarmi le mani è un divertimento a cui mi dedico nel tempo libero |
|
Top |
|
|
freemind Supervisor sezione Programmazione
Registrato: 04/04/07 20:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 26 Apr 2012 13:45 Oggetto: |
|
|
E qui vengono fuori gli altarini dei programmatori!
Uno normali nel tempo libero gioca a carte, assume una escort, fa l'uncinetto!
Noi invece:
1) giochiamo con gli assemblatori
2) inventiamo pattern esoterici
3) impariamo linguaggi di programmazione che usano solo gli spazi come caratteri
4) ci bruciamo le meningi combinando i 3 punti qui sopra
Hihihihihii....
Scusate il veloce ot... |
|
Top |
|
|
mda Dio maturo
Registrato: 01/11/06 09:39 Messaggi: 6648 Residenza: Figonia
|
Inviato: 26 Apr 2012 17:04 Oggetto: |
|
|
Basta che ci sente un psichiatra!
Ciao |
|
Top |
|
|
kenshir Semidio
Registrato: 21/02/07 15:29 Messaggi: 473 Residenza: un punto nero sulla faccia del mondo
|
Inviato: 27 Apr 2012 01:49 Oggetto: |
|
|
Hehe vero freemind
Ma l'aspetto piu' preoccupante e' quel senso di "estetica" che ti prende quando vedi un codice ben scritto, un algoritmo nato da una bella idea. Neanche fosse una bella bionda.
Malaaaaaato... |
|
Top |
|
|
|