View Full Version : [News]Go: new open source programming language from Google
Go is a new programming language from Google that aims for performance that is nearly comparable to C, but with more expressive syntax and faster compilation. What it won't do, however, is liberate the coding masses from bracist tyranny. Google's Go is yet another take on C
ArsTechica.com (http://arstechnica.com/open-source/news/2009/11/go-new-open-source-programming-language-from-google.ars?utm_source=rss&utm_medium=rss&utm_campaign=rss)
http://golang.org/
E' meglio che Google lasci fare a qualche startup per poi comprarsela perchè se questo è il meglio che riesce a fare siamo a cavallo - di un ronzino.
http://golang.org/
E' meglio che Google lasci fare a qualche startup per poi comprarsela perchè se questo è il meglio che riesce a fare siamo a cavallo - di un ronzino.
Ho visto giusto qualche riga di codice, ma per curiosità, cos'ha che non ti piace? Sembra molto simile al C++.
PS: E' almeno tipizzato forte?
Direi la mancanza di idee.
Direi la mancanza di idee.
E una sintassi molto strana :S
wizard1993
11-11-2009, 21:20
dio mio quanto è brutto...
decisamente è meglio si concentri su altre cose
Mah, più che altro mi sembra che non si inserisca bene nella politica di google... non è affatto web-oriented, ci sta qualche idea ficcata la ma qualche altro grande assente (niente ereditarietà? wat?)
In sostanza sembra un'altro n-esimo script language... vediamo come si evolverà :stordita:
Mah, più che altro mi sembra che non si inserisca bene nella politica di google... non è affatto web-oriented, ci sta qualche idea ficcata la ma qualche altro grande assente (niente ereditarietà? wat?)
In sostanza sembra un'altro n-esimo script language... vediamo come si evolverà :stordita:
Esatto... secondo me promette bene, soprattutto per l'azienda alle spalle.
Odiosa la sintassi... forse devono rivedere un attimo dove piazzare il ;
Penso possa battere Obj-C 1 a 0 :D
wizard1993
11-11-2009, 21:28
Esatto... secondo me promette bene, soprattutto per l'azienda alle spalle.
Odiosa la sintassi... forse devono rivedere un attimo dove piazzare il ;
Penso possa battere Obj-C 1 a 0 :D
mi ricorda vagamente quella di scala, ma quello mi attira molto di più
Mah, più che altro mi sembra che non si inserisca bene nella politica di google... non è affatto web-oriented, ci sta qualche idea ficcata la ma qualche altro grande assente (niente ereditarietà? wat?)
In sostanza sembra un'altro n-esimo script language... vediamo come si evolverà :stordita:
C'era qualcosa, una notizia, non ricordo bene, riguardante l'ideal di google di sviluppare programmi per browser che poi sarebbero stati compilati in codice nativo o una cosa del genere. Se quel coso si inserisse in quel contesto si capirebbe la ragione per cui si fa notare la "rapidità di compilazione".
Ryuzaki_Eru
11-11-2009, 21:37
Al primo impatto mi è sembrato Java :eek:
_Claudio
11-11-2009, 21:56
Sinceramente... dopo aver lavorato con le GWT... l'ultima cosa di cui si ha bisogno (soprattutto in ambito web e sistemi informativi) è un linguaggio di programmazione nuovo.
Oramai chiunque preferisce usare librerie del proprio linguaggio di programmazione preferito e GWT è un'ottima scelta, anche se molto carente dal punto di vista prestazionale e della completezza.
Quello su cui bisogna concentrarsi è lo sviluppo di browser sempre più vicini a veri e propri S.O. e non le cagatine tipo chrome o firefox, a nessuno interessa che si avvia in 3 o 4 secondi, ma piuttosto che non lasci la memoria in pappa (Firefox) o che non abbia problemi di rendering e motore grafico (Chrome).
Ad esempio introdurre librerie grafiche a basso livello, threading e socket (migliorare ciò che ora si fa con AJAX) nei browser non sarebbe male come idea. Poi che le applicazioni (perchè non si può più parlare di siti web) vengano scritte in java, C++, python è un decoro finale.
Potendo (e in effetti è possibile) io i browser li eliminerei direttamente. I sistemi operativi ci sono, i protocolli di rete ci sono, le piattaforme indipendenti dal sistema operativo ci sono. L'unica cosa a cui servono i browser è visualizzare la pubblicità.
E guarda caso è un danaroso venditore di opuscoli a premere perchè si usino i browser.
cdimauro
11-11-2009, 22:21
Ho visto giusto qualche riga di codice, ma per curiosità, cos'ha che non ti piace? Sembra molto simile al C++.
Proprio per questo non mi piace proprio: sintassi orrida. :D
PS: E' almeno tipizzato forte?
Sì.
E una sintassi molto strana :S
dio mio quanto è brutto...
decisamente è meglio si concentri su altre cose
Esatto... secondo me promette bene, soprattutto per l'azienda alle spalle.
Odiosa la sintassi... forse devono rivedere un attimo dove piazzare il ;
Penso possa battere Obj-C 1 a 0 :D
C rulez. :asd:
Mah, più che altro mi sembra che non si inserisca bene nella politica di google... non è affatto web-oriented, ci sta qualche idea ficcata la ma qualche altro grande assente (niente ereditarietà? wat?)
In sostanza sembra un'altro n-esimo script language... vediamo come si evolverà :stordita:
No, non è un linguaggio di script.
C'era qualcosa, una notizia, non ricordo bene, riguardante l'ideal di google di sviluppare programmi per browser che poi sarebbero stati compilati in codice nativo o una cosa del genere. Se quel coso si inserisse in quel contesto si capirebbe la ragione per cui si fa notare la "rapidità di compilazione".
Quello è un altro progetto (di cui adesso mi sfugge il nome) completamente indipendente.
Potendo (e in effetti è possibile) io i browser li eliminerei direttamente. I sistemi operativi ci sono, i protocolli di rete ci sono, le piattaforme indipendenti dal sistema operativo ci sono. L'unica cosa a cui servono i browser è visualizzare la pubblicità.
E guarda caso è un danaroso venditore di opuscoli a premere perchè si usino i browser.
Non vedo perché. Come pensi di poter farne a meno e rendere possibile l'accesso ai contenuti da remoto in maniera almeno altrettanto semplice?
Con gli application server. Anzichè scaricare una pagina html scarichi un programma. Si può fare con NET, Smalltak, Java, Python, con qualsiasi piattaforma software. E c'è molta più libertà. L'altroieri a google si son svegliato con la voglia di mettere il 3D nel browser. Son vent'anni che si possono distribuire applicazioni 3D fuori dal browser ma loro devono ficcarle dentro a firefox o ie o chrome o opera eccetera eccetera perchè altrimenti non hanno la cornice da inzuppare di advertising. Per loro è logico ma tecnologicamente è un passo indietro.
cdimauro
11-11-2009, 22:54
Ma la paginetta HTML la può fare anche mia figlia col blocco note, pubblicarla, ed essere fruibile anche da una macchinetta da due soldi usando eventualmente roba come Lynx (http://it.wikipedia.org/wiki/Lynx_(software)).
Un'applicazione è già qualcosa di molto diverso e meno "potabile".
Ma non è vero. Vuoi mettere quell'accrocchio di div e span e mezze funzioni javascript con il bel codice di una gui, pulito pulito, dove se c'è una cosa che non ti quaglia sei libero di scriverti lo strumento che ti più ti piace?
Io qua per scrivere 'sta risposta ho aperto un carrozzone che mi consuma 123 megabyte di memoria e mi fa vedere un form che è lo stesso che usava englebart quarant'anni fa.
Tutta la gui del forum la fai in neanche duemila righe e ti ritrovi con qualcosa che è veramente dinamico.
Qualè il problema? E' che google non ci può ficcare la pubblicità in mezzo (mentre potrebbe benissimo mettercela chi distribuisce il programma, scavalcando BigG).
A Zio Balmer, vuoi competere con Google? Fai un bel sitone dove distribuisci il programma IXUpgrade, con un browser di spot a latere. Quando gli utenti iniziano a vedere cosa può far girare effettivamente il loro PC una volta liberato dai browser vedrai che il www non se lo filano più.
Beh in effetti, direi che se la cosa si inquadra come dice PGI-Bis le due insignificanti features "compilation time" e "fast as C++" sono da paura :D
Certo che google 1000 ne fa e 100000 ne pensa :asd:
cdimauro
12-11-2009, 00:22
Ma non è vero. Vuoi mettere quell'accrocchio di div e span e mezze funzioni javascript con il bel codice di una gui, pulito pulito, dove se c'è una cosa che non ti quaglia sei libero di scriverti lo strumento che ti più ti piace?
Io qua per scrivere 'sta risposta ho aperto un carrozzone che mi consuma 123 megabyte di memoria e mi fa vedere un form che è lo stesso che usava englebart quarant'anni fa.
Tutta la gui del forum la fai in neanche duemila righe e ti ritrovi con qualcosa che è veramente dinamico.
Qualè il problema? E' che google non ci può ficcare la pubblicità in mezzo (mentre potrebbe benissimo mettercela chi distribuisce il programma, scavalcando BigG).
A Zio Balmer, vuoi competere con Google? Fai un bel sitone dove distribuisci il programma IXUpgrade, con un browser di spot a latere. Quando gli utenti iniziano a vedere cosa può far girare effettivamente il loro PC una volta liberato dai browser vedrai che il www non se lo filano più.
In questo modo stai focalizzando l'attenzione esclusivamente sulle applicazioni, e mi può anche stare bene (io NON sono un fanatico delle applicazioni web. Al contrario, adoro le GUI tradizionali :D).
Ma un browser permette in primis di visualizzare (renderizzare) dei dati. Né più né meno di robette del calibro di Word, Excel e PowerPoint, solo che stanno principalmente in remoto e sono costituiti da oggettini anch'essi remoti (immagini e filmati, ad esempio). Il tutto per una questione di interoperabilità e fruizione di contenuti.
Che non è cosa da poco, ed è il motivo per cui è nato il www.
Ma non è vero. Vuoi mettere quell'accrocchio di div e span e mezze funzioni javascript con il bel codice di una gui, pulito pulito, dove se c'è una cosa che non ti quaglia sei libero di scriverti lo strumento che ti più ti piace?
Io qua per scrivere 'sta risposta ho aperto un carrozzone che mi consuma 123 megabyte di memoria e mi fa vedere un form che è lo stesso che usava englebart quarant'anni fa.
Tutta la gui del forum la fai in neanche duemila righe e ti ritrovi con qualcosa che è veramente dinamico.
Qualè il problema? E' che google non ci può ficcare la pubblicità in mezzo (mentre potrebbe benissimo mettercela chi distribuisce il programma, scavalcando BigG).
A Zio Balmer, vuoi competere con Google? Fai un bel sitone dove distribuisci il programma IXUpgrade, con un browser di spot a latere. Quando gli utenti iniziano a vedere cosa può far girare effettivamente il loro PC una volta liberato dai browser vedrai che il www non se lo filano più.
Mah, credo che il problema in realtà non sussista...
così come ora AdWords ha un potere immenso, in futuro avrai AdWords plugin... sai quanto ci vuole a far vedere un form co dentro la pubblicità, posto che esista una GUI come dici te.
La chiave è la frase grassettata; il problema non è tecnico, ma di potere/visibilità... chi fa girare il forum VUOLE adwords, se te fornisci una forum app che non la supporta, io non ti scelgo.
IMHO google in questo non ha affatto paura ;)
Sinceramente... dopo aver lavorato con le GWT... l'ultima cosa di cui si ha bisogno (soprattutto in ambito web e sistemi informativi) è un linguaggio di programmazione nuovo.
Oramai chiunque preferisce usare librerie del proprio linguaggio di programmazione preferito e GWT è un'ottima scelta, anche se molto carente dal punto di vista prestazionale e della completezza.
Quello su cui bisogna concentrarsi è lo sviluppo di browser sempre più vicini a veri e propri S.O. e non le cagatine tipo chrome o firefox, a nessuno interessa che si avvia in 3 o 4 secondi, ma piuttosto che non lasci la memoria in pappa (Firefox) o che non abbia problemi di rendering e motore grafico (Chrome).
Ad esempio introdurre librerie grafiche a basso livello, threading e socket (migliorare ciò che ora si fa con AJAX) nei browser non sarebbe male come idea. Poi che le applicazioni (perchè non si può più parlare di siti web) vengano scritte in java, C++, python è un decoro finale.
Come non essere d'accordo. :D
Ma la paginetta HTML la può fare anche mia figlia col blocco note, pubblicarla, ed essere fruibile anche da una macchinetta da due soldi usando eventualmente roba come Lynx (http://it.wikipedia.org/wiki/Lynx_(software)).
Un'applicazione è già qualcosa di molto diverso e meno "potabile".
Vero, verissimo.
PS. per il C rulez, ovvio. Ma quel ; è inguardabile piazzato li :D
cdimauro
12-11-2009, 08:22
A me fanno proprio schifo le parentesi e i ; :stordita:
Ryuzaki_Eru
12-11-2009, 08:24
A me pure..ma devo dire che ultimamente mi ci ero abituato (le mettevo pure in Python :D).
Comunque date il mondo in mano a PGI-Bis e ve lo rivoluzionerà :asd:
A me fanno proprio schifo le parentesi e i ; :stordita:
No no sono comode :D :D Questione di gusti!
Però quel ; alla fine di ) mi ricorda JQuery... che ci azzecca in quel linguaggio?
zulutown
12-11-2009, 08:52
Secondo me i casi son due
1) questo è semplicemente un progetto da "tempo libero" di qualche dipendente google. (anche gmail ai tempi lo era) e quindi per ora non esiste nessuna sponsorizzazione dall'alto
2) vorranno usare Go come linguaggio per sviluppare Chrome application e Android application.
Secondo me i casi son due
1) questo è semplicemente un progetto da "tempo libero" di qualche dipendente google. (anche gmail ai tempi lo era) e quindi per ora non esiste nessuna sponsorizzazione dall'alto
2) vorranno usare Go come linguaggio per sviluppare Chrome application e Android application.
Anche io ho pensato sia un progetto di qualche sviluppatore interno..
ramones1985
12-11-2009, 09:18
scusate l'ignoranza...ma serve a???
cdimauro
12-11-2009, 10:06
No no sono comode :D :D Questione di gusti!
Però quel ; alla fine di ) mi ricorda JQuery... che ci azzecca in quel linguaggio?
Comodo proprio no. Se parli di gusti alzo le mani e mi arrendo. :D
Secondo me i casi son due
1) questo è semplicemente un progetto da "tempo libero" di qualche dipendente google. (anche gmail ai tempi lo era) e quindi per ora non esiste nessuna sponsorizzazione dall'alto
2) vorranno usare Go come linguaggio per sviluppare Chrome application e Android application.
1) E' partito così.
2) Non mi pare. Per lo meno finora non letto proprio nulla a riguardo.
Anche io ho pensato sia un progetto di qualche sviluppatore interno..
Lo è, ma poi Google l'ha preso in considerazione esattamente come per tanti altri progetti.
scusate l'ignoranza...ma serve a???
A rimpiazzare il C. Come taaaaanti altri linguaggi. Auguri! :p
Ryuzaki_Eru
12-11-2009, 16:28
Alla Google la maggior parte dei progetti partono da sviluppatori che se li creano nel tempo libero. Questo dovrebbe dare l'idea di quali cervelli ci siano là dentro.
sto dando un'occhiata veloce ... ma che senso ha implementare i puntatori e non la relativa aritmetica? anche sto fatto che gli array vengano passati come copia e non come riferimento non mi attizza proprio tanto .. continuo la lettura :)
banryu79
12-11-2009, 16:45
Alla Google la maggior parte dei progetti partono da sviluppatori che se li creano nel tempo libero. Questo dovrebbe dare l'idea di quali cervelli ci siano là dentro.
Non so niente della realtà esistente in Google, ma sbaglio di molto se penso che con i loro mezzi (sia economici, che culturali e tecnologici, nonchè l'esperienza accumulata) possano tranquillamente fare R&D come dio comanda? :confused:
Ryuzaki_Eru
12-11-2009, 17:43
Non ho ben capito se vuoi dire che ne fanno poca oppure che è normale che sviluppatori Google nel tempo libero si facciano le loro cose e poi queste vengano prese in mano dall'azienda.
Potendo (e in effetti è possibile) io i browser li eliminerei direttamente. I sistemi operativi ci sono, i protocolli di rete ci sono, le piattaforme indipendenti dal sistema operativo ci sono. L'unica cosa a cui servono i browser è visualizzare la pubblicità.
E guarda caso è un danaroso venditore di opuscoli a premere perchè si usino i browser.
L'OS è troppo di basso livello, l'OS non è compatibile con un altro OS, non esiste una maniera standard di fare le cose tra OS diversi, non esistono le stesse funzionalità tra OS diversi.
Con un sw è tutto complicato:
Devi ottenerlo (Come lo ottengo? Che versione? Quanti tempo ci metterà? Quanto spazio occorre? Tramite quale supporto? Cos'è un OS? Qual'è il mio OS? Quale versione è il mio OS? Quale architettura? Che differenza c'è tra 32 e 64 bit? Ho Linux che faccio? E' supportata la mia distro? Conterrà virus? Ho Mac OS X su PowerPC che faccio? Ho Linux su ARM che faccio?...)
Devi installarlo (Esiste una procedura universale? Devo conoscere la procedura in base al mio OS? Quanto tempo ci metterà? Devo inserire un seriale? Devo riavviare? Dove lo installa? Devo rispondere sempre sì, sì, sì? Devo leggermi ogni singolo passo? Non ho i permessi per installare che faccio? Ho Linux che faccio?)
Devo avviarlo (Dov'è la voce per avviarlo? In quale categoria? Quanto tempo vuole per avviarsi? Vuole ancora altri passaggi? Vuole essere configurato? Vuole essere configurato in base al mio hw? Mi fa delle domande sul mio OS/hw? Mi dice che manca la liberia x? Cos'è una libreria? L'ho avviato ma non si vede niente, cos'è successo?...)
Deve poter funzionare (Il 3D non va che faccio? Una funzionalità risponde in maniera diversa al cambiare dell'OS? Ci sono bug specifici per un OS? L'audio su Linux non va che faccio? Va molto più lento rispetto a Windows, è un mio problema? Va molto più lentamente rispetto ad un sw nativo per il mio OS, cerco un'alternativa?)
Come lo aggiorno? Come lo elimino?
...
Per uno sviluppatore è ancora peggio.
Quali sono le piattaforme da supportare? Che linguaggio uso? Linux supporta questo linguaggio? Mac OS X lo supporta parzialmente? Quanti soldi impiegherò per supportare un OS? Quanti due? Quanti quattro?
Ho la possibilità di testarlo su Mac OS X? Ho le conoscenze per testarlo su Mac OS X?
Che toolkit grafico utilizzo? QT? QT+Linguaggio è una buona accoppiata? Swing? Swing è poco reattivo, i miei clienti non saranno soddisfatti, WX? Che licenza ha WX?
Come gestisco il caso di moduli dipendenti dall'OS?
Come gestisco il problema della distribuzione? Come faccio per Linux? Ubuntu, Debian, SuSE, RedHat, Gentoo, Fedora...Gentoo supporta QT? Gentoo ha le QT nel sistema di base? Esiste un sistema di base Gentoo? Come gestisco le dipendenze? Come gestisco la dipendenza di qualcosa fuori dai repo? Posso distribuirla io? Avere 20 copie di quella dipendenza per ogni OS? Nei repo che versione c'è?
QT su Windows c'è nel sistema di base? Devo distribuirla io? E' legale? Quante altre applicazioni includono una propria copia delle QT?
Nuova versione di OS, continuerà a funzionare tutto? Con quante versioni diverse dell'OS devo continuamente testare il prodotto? Quanto mi costerà tutto ciò?
C'è una copia warez del mio sw su eMule che faccio?
Il browser ci ha permesso tramite degli STANDARD di trovare una soluzione a molto di tutto ciò, quindi altri 20 anni di html+js aspettando l'arrivo di nuovi standard come html5
wingman87
12-11-2009, 21:05
...cut...
Troppe domande, mi è venuto mal di testa :Prrr:
Troppe domande, mi è venuto mal di testa :Prrr:
Allora buona programmazione web :D :sofico:
L'OS è troppo di basso livello...
Le domande che poni sono legittime e sono normali questioni relative allo sviluppo di programmi che hanno normali risposte.
La configurazione di un programma se necessaria sarà resa comprensibile, le estensioni saranno installate automaticamente: prendi net, java o smalltalk, sono tutte piattaforme software con delle procedure di aggiornamento automatiche non diverse da quelle richieste per l'aggiornamento di un browser.
OS e architetture sono problemi di chi sviluppa driver e piattaforme, non certo di chi fa software dal middleware in su.
E poi, per la cronaca, se non c'è il precottino uno si rimbocca le maniche e se lo scrive così magari iniziamo anche a distinguere tra una software house e una copisteria che non farebbe male.
Tutto sta nel pretendere che i programmatori sappiano programmare.
Adesso non è che stiamo qui a prenderci per i fondelli: uno che fa il programmatore sa usare un compilatore ma sa anche scriverselo se non lo trova. Sa usare il linguaggio XYZ ma se non c'è sa scriversi il linguaggio.
Mangia la pappa pronta perchè se c'è conviene ma se manca deve sapersela cucinare. Altrimeni a fare il programmatore ci possiamo benissimo mettere anche mio nonno.
Non c'è la macchina virtuale per ARM? Ti guardi i sorgenti di quella per x86 e te la scrivi. La prima JVM mica l'han scritta in sessantamila persone in cent'anni. L'ha scritta uno in tre mesi.
Ingalls quando è andato a lavorare per Sun s'è detto "faccio un po' di pratica con Netbeans" e ha scritto Smalltalk in Java.
Una persona.
Posso capire che un programmatore nostrano ormai sia ridotto a mettere insieme quattro righe di jsp al giorno se va bene, non c'è nulla di male, la pagnotta si deve pur portare a casa. Ma non ditemi che vi sembra il meglio che si possa tirar fuori da una mandia di PC assetati di calcoli perchè non vi credo neanche se me lo giurate.
Ryuzaki_Eru
12-11-2009, 23:20
Sempre tutto semplice per te eh? :)
Io non la farei cosi facile, perchè un programmatore non è detto che abbia le conoscenze per potersi creare tutto da solo. Servono determinate conoscenze per sviluppare compilatori, linguaggi ecc.
E di sicuro di gente come Ingalss non ce ne sono a palate. E' gente fuori dal normale. Non è che tutti si alzano e dicono: "Toh, ora provo questo IDE" e ti creano un linguaggio, un sistema operativo, un compilatore o altro soltanto per "fare pratica" con un IDE o un qualsiasi altro strumento.
Le domande che poni sono legittime e sono normali questioni relative allo sviluppo di programmi che hanno normali risposte.
La configurazione di un programma se necessaria sarà resa comprensibile, le estensioni saranno installate automaticamente: prendi net, java o smalltalk, sono tutte piattaforme software con delle procedure di aggiornamento automatiche non diverse da quelle richieste per l'aggiornamento di un browser.
OS e architetture sono problemi di chi sviluppa driver e piattaforme, non certo di chi fa software dal middleware in su.
E poi, per la cronaca, se non c'è il precottino uno si rimbocca le maniche e se lo scrive così magari iniziamo anche a distinguere tra una software house e una copisteria che non farebbe male.
Tutto sta nel pretendere che i programmatori sappiano programmare.
Adesso non è che stiamo qui a prenderci per i fondelli: uno che fa il programmatore sa usare un compilatore ma sa anche scriverselo se non lo trova. Sa usare il linguaggio XYZ ma se non c'è sa scriversi il linguaggio.
Mangia la pappa pronta perchè se c'è conviene ma se manca deve sapersela cucinare. Altrimeni a fare il programmatore ci possiamo benissimo mettere anche mio nonno.
Non c'è la macchina virtuale per ARM? Ti guardi i sorgenti di quella per x86 e te la scrivi. La prima JVM mica l'han scritta in sessantamila persone in cent'anni. L'ha scritta uno in tre mesi.
Ingalls quando è andato a lavorare per Sun s'è detto "faccio un po' di pratica con Netbeans" e ha scritto Smalltalk in Java.
Una persona.
Posso capire che un programmatore nostrano ormai sia ridotto a mettere insieme quattro righe di jsp al giorno se va bene, non c'è nulla di male, la pagnotta si deve pur portare a casa. Ma non ditemi che vi sembra il meglio che si possa tirar fuori da una mandia di PC assetati di calcoli perchè non vi credo neanche se me lo giurate.
Realizzare un linguaggio di programmazione non è cosa da tutti i programmatori per questioni di tempistica, esperienza, conoscenze teniche, voglia, mentalità, testa, ecc... ecc... ecc...
Ryuzaki_Eru
12-11-2009, 23:26
Quello che ho detto io sopra. E di conoscenze solide ed esperienza ce ne vogliono per fare un linguaggio che sia sopra il livello spazzatura. Ovviamente si deve avere voglia e deve affascinare questo campo, come per tutte le cose. Si sa che se una cosa affascina allora ci si impegna e si ottengono ottimi risultati, anche se non si è geni (purtroppo lì dipende da madre natura).
No, realizzare un linguaggio di programmazione E' cosa da tutti i programmatori, così come fare una piattaforma piuttostochè un compilatore. Può non essere da tutti inventare una nuova tecnologia, questo sì.
Diavolo, poi dicono che la categoria è bistrattata: vi bistrattate da soli!
E' chiaro che se domattina andate dal vostro boss e gli dite "no, questa pagina php non la faccio perchè è una schifezza" quello vi guarda come se foste ammattiti. Per mille ragioni, tutte praticissime: è difficile che la Ponte di Legno Software SRL possa permettersi di lanciarsi all'avventura.
Ma, e torniamo al topic, Google ne avrebbe i fondi. Ma non l'interesse.
Ryuzaki_Eru
12-11-2009, 23:42
Dai non è cosa da tutti i programmatori, altrimenti avremmo un mondo pieno di rivoluzionari per caso. Come per tutte le cose servono conoscenze, esperienza, studio e voglia di fare soprattutto.
La Google in ogni caso con le menti che ha su cosa deve investire? Si investono da soli i dipendenti :D
Le domande che poni sono legittime e sono normali questioni relative allo sviluppo di programmi che hanno normali risposte.
La configurazione di un programma se necessaria sarà resa comprensibile, le estensioni saranno installate automaticamente: prendi net, java o smalltalk, sono tutte piattaforme software con delle procedure di aggiornamento automatiche non diverse da quelle richieste per l'aggiornamento di un browser.
OS e architetture sono problemi di chi sviluppa driver e piattaforme, non certo di chi fa software dal middleware in su.
E poi, per la cronaca, se non c'è il precottino uno si rimbocca le maniche e se lo scrive così magari iniziamo anche a distinguere tra una software house e una copisteria che non farebbe male.
Tutto sta nel pretendere che i programmatori sappiano programmare.
Adesso non è che stiamo qui a prenderci per i fondelli: uno che fa il programmatore sa usare un compilatore ma sa anche scriverselo se non lo trova. Sa usare il linguaggio XYZ ma se non c'è sa scriversi il linguaggio.
Mangia la pappa pronta perchè se c'è conviene ma se manca deve sapersela cucinare. Altrimeni a fare il programmatore ci possiamo benissimo mettere anche mio nonno.
Non c'è la macchina virtuale per ARM? Ti guardi i sorgenti di quella per x86 e te la scrivi. La prima JVM mica l'han scritta in sessantamila persone in cent'anni. L'ha scritta uno in tre mesi.
Ingalls quando è andato a lavorare per Sun s'è detto "faccio un po' di pratica con Netbeans" e ha scritto Smalltalk in Java.
Una persona.
Posso capire che un programmatore nostrano ormai sia ridotto a mettere insieme quattro righe di jsp al giorno se va bene, non c'è nulla di male, la pagnotta si deve pur portare a casa. Ma non ditemi che vi sembra il meglio che si possa tirar fuori da una mandia di PC assetati di calcoli perchè non vi credo neanche se me lo giurate.
Secondo il mio modesto parere invece sì, si tratta solo di spostare dove vengono eseguite le elaborazioni.
Immediatezza, multi piattaforma dal giorno 1, testing limitato alle varie versioni di browser e non ad interi OS. Subito pronto per essere usato, il famoso "semplicemente funziona". Nessun problema di warez, possibilità di tenere statistiche reali sui dati di utilizzo della propria app, diffusione degli aggiornamenti istantanea, accessibile in qualsiasi posto dove ci sia un pc collegato
Ovviamente ha grandi limiti tutto ciò: che faccio con IE6? IE?
Come lavoro con file di grandi dimensioni? E' veramente possibile spostare tutto online? Come faccio a modificare un mio video online? Aspetto di uppare i 3gb del video prima? Come vedo il mio film online se il server è sotto stress? Se la mia connessione è limitata? Se la mia connessione non c'è?
Sono problemi enormi, ma per tutte le app che possono essere spostarle online perchè no?
http://280slides.com/Editor/ non è male per essere interamente in html+js no?
Ma, e torniamo al topic, Google ne avrebbe i fondi. Ma non l'interesse.
Sì scusate l'OT, ma era un argomento interessante :P
Magari nell'organizzazione e nella direzione :D
Non puoi semplicemente prendere un mucchio di geni e aspettare che facciano "qualcosa", l'organizzazione è sempre la cosa più difficile... il che spiega perchè nessuno fa come dice PGI-Bis: si, tanti saprebbero farlo un linguaggio, ma per usarlo poi tutti i giorni va fatto uno sforzo organizzativo decisamente costoso che si preferisce delegare a chi è specializzato in quello :D
E' così dappertutto, sarebbe come pretendere che la fiat si metta a sviluppare la sua marca di benzina... ovvio, tutto si può fare. Ma peggio e co più soldi.
http://280slides.com/Editor/ non è male per essere interamente in html+js no?
Staticamente è bella. Ma se ci trascino dentro un'immagine il browser mi apre un'altra pagina e mi fa vedere l'immagine.
Ci resti di stucco: c'era il cursore di drop, mi aspetto un drop. Paf, programma sparito.
Non è colpa del programma, è che il browser ha una sua logica, una sua interattività e noi ci vogliamo ficcare dentro qualcosa che non è bravo a gestire.
_Claudio
13-11-2009, 00:59
Il problema di tutto questo non sta nel fatto che PRATICAMENTE per vari motivi molte cose siano irrealizzabili ma che la stragrande maggioranza di persone che si definiscono "esperti dell'IT" non ha le COMPETENZE TEORICHE per realizzare quanto detto.
Questo perchè molti si improvvisano da un giorno con l'altro, altri (e quanti ne vedo...) pur avendo laurea, dottorato e master alla fine non sanno praticamente nulla.
Il problema dello svilimento della categoria è la mancanza di un albo o per lo meno di un apparato legislativo che limiti un po' lo "svaccamento" dei praticoni (in italia purtroppo bisogna ricorrere a queste brutte cose) e l'autoamputazione professionale a 900€ al mese per tenere in piedi (male) l'IT di una azienda che oramai per quanto piccola non può farne a meno.
Come si può poi pretendere che chi ha VERAMENTE certe competenze venga apprezzato? Perchè pagare 3000€ una persona quando per far funzionare alla meno peggio le stesse cose un altra persona prestata all'IT ne vuole 900?
Purtroppo in italia è così, all'estero molto meno, le competenze tecniche vengono apprezzate molto perchè han capito che la tecnica riduce i costi e aumenta la produttività, mentre qui è solo una voce spesa nel bilancio che più è piccola meglio è.
Magari nell'organizzazione e nella direzione :D
Non puoi semplicemente prendere un mucchio di geni e aspettare che facciano "qualcosa", l'organizzazione è sempre la cosa più difficile...
Ma no, non c'entra il genio. E' l'atteggiamento.
E' un po' come andare a vedere certi post su Java FX. Vai lì, leggi, "eh, ma perchè non avete messo dentro il codec per il formato Ciripà 2000", "eh, ma il suono su MiniMac funziona solo con i file Pappardella".
Ti viene una tristezza. Lasciamo perdere Java FX che ti fa venire tristezza di suo ma, in generale, han fatto l'architettura a plug-in, vuoi usare il codice Ciripà? Ti scrivi il plug-in del codec.
C'è un player linux di cui non ricordo il nome, be' si son fatti il loro bel pacchetto di codec e il player funziona con quei codice. Non sono andati da torvalds "ehhh, ma non ci hai fatto il codice nel kernel".
Roba da prenderli a vangate sugli stinchi. Eccolo lì il 2000. Una torma di zombie che barcollano con le mani in avanti bonfonchiando "ehhh... geiesseppiiii... eggeibbiiii...". Gli mostri la lucetta e via tutti dietro...
Non vi viene mai il magone a verdeli?
Il problema di tutto questo non sta nel fatto che PRATICAMENTE per vari motivi molte cose siano irrealizzabili ma che la stragrande maggioranza di persone che si definiscono "esperti dell'IT" non ha le COMPETENZE TEORICHE per realizzare quanto detto.
Questo perchè molti si improvvisano da un giorno con l'altro, altri (e quanti ne vedo...) pur avendo laurea, dottorato e master alla fine non sanno praticamente nulla.
Il problema dello svilimento della categoria è la mancanza di un albo o per lo meno di un apparato legislativo che limiti un po' lo "svaccamento" dei praticoni (in italia purtroppo bisogna ricorrere a queste brutte cose) e l'autoamputazione professionale a 900€ al mese per tenere in piedi (male) l'IT di una azienda che oramai per quanto piccola non può farne a meno.
Come si può poi pretendere che chi ha VERAMENTE certe competenze venga apprezzato? Perchè pagare 3000€ una persona quando per far funzionare alla meno peggio le stesse cose un altra persona prestata all'IT ne vuole 900?
Purtroppo in italia è così, all'estero molto meno, le competenze tecniche vengono apprezzate molto perchè han capito che la tecnica riduce i costi e aumenta la produttività, mentre qui è solo una voce spesa nel bilancio che più è piccola meglio è.
Eh, questo è il solito discorso che putroppo - visto dall'esterno per parte mia - sembra sempre più vero. Da un altro interno posso dire che, e spezziamo una lancetta a favore di 'sti poveri imprenditori dell'IT - i loro colleghi degli altri settori produttivi se possono evitare di spendere mezzo euro in tecnologia non si fanno pregare. Ci sono figuri che vantano possedimenti immobiliari alla Rockfeller e poi nella loro azienda c'è la gente che gira coi lapis e i temperini, che se non ci fosse stata quella fregatura della corrente elettrica sarebbero ancora lì con la loro bella caldaia e i telai a vapore.
La pubblica amministrazione poi non ne parliamo, che stan là tramortiti coi "faldoni" (il faldone! come nella francia del milleottocento). Se vi capita di dover interloquire con l'agenzia delle entrate portatevi direttamente un bancale di carta A4 da casa e c'è il rischio di non farcela.
Siamo tecnologicamente arretrati, c'è poco da fare.
cdimauro
13-11-2009, 07:56
Che un programmatore debba avere conoscenze e, magari, esperienza, sono d'accordo. Se non le ha, al limite le acquisisce non appena si trova ad avere a che fare con qualche nuovo (e rognoso :D) problema.
Il problema attuale è che ci sono troppi personaggi che si spacciano come "programmatori" magari dopo aver realizzato qualche macro Excel o un form Access.
La categoria è inflazionata o, peggio ancora, avvelenata da ciarlatani prestati alla professione.
Sia chiaro: non ho nulla contro chi non ha esperienza e si avvicina a questo mondo. Mi riferisco a sedicenti professionisti di cui ormai, purtroppo, è pieno il paese.
Che un programmatore debba avere conoscenze e, magari, esperienza, sono d'accordo. Se non le ha, al limite le acquisisce non appena si trova ad avere a che fare con qualche nuovo (e rognoso :D) problema.
Il problema attuale è che ci sono troppi personaggi che si spacciano come "programmatori" magari dopo aver realizzato qualche macro Excel o un form Access.
La categoria è inflazionata o, peggio ancora, avvelenata da ciarlatani prestati alla professione.
Sia chiaro: non ho nulla contro chi non ha esperienza e si avvicina a questo mondo. Mi riferisco a sedicenti professionisti di cui ormai, purtroppo, è pieno il paese.
Concorde. Concorde.
Come non esserlo? Il nostro campo è pieno di saccentelli programmatori che mettono insieme due variabili e risolvo un algoritmo banale e si credono ' geni dell'ICT '.
Secondo me per 'inventare' e 'scrivere' un nuovo linguaggio di programmazione ci vuole esperienza e conoscenze particolari; non dico che pochi o nessuno saprebbero farlo.
Dico che per realizzare un linguaggio valido, completo, con una buona praticità di utilizzo e una discreta velocità in esecuzione serve esperienza; non puoi pretendere al primo programmatore che arriva (che magari programma da 2 anni in PHP) di scriversi un linguaggio di programmazione; io la vedo così, poi ognuno ha le sue idee.
Preferisco lasciare questi settori a chi ha più idee ed esperienza di me; magari tra 10/15 anni ne riparleremo ;)
Ryuzaki_Eru
13-11-2009, 10:28
Non puoi semplicemente prendere un mucchio di geni e aspettare che facciano "qualcosa", l'organizzazione è sempre la cosa più difficile... il che spiega perchè nessuno fa come dice PGI-Bis: si, tanti saprebbero farlo un linguaggio, ma per usarlo poi tutti i giorni va fatto uno sforzo organizzativo decisamente costoso che si preferisce delegare a chi è specializzato in quello :D
Credo che "tanti" sia un pò esagerato. Come ha detto _Claudio servono conoscenze teoriche e solide anche, che la maggior parte dei laureati, dottorandi o altro non ha. Da quando sono all'uni ne ho viste cose assurde e mi chiedo in che mani daremo nel futuro l'IT. E non parlo solo della progettazione e sviluppo di un linguaggio di programmazione, ma per qualunque cosa. Non sempre si può dire: "Questa cosa non c'è o non mi piace allora me fa faccio io", bisogna considerare tante cose.
Ha anche ragione cdimauro a dire che se una cosa non si sa si studia, ma per certe cose serve più tempo, più pratica e molta esperienza.
Anche michele.broggi ha ragione, ci sono troppi ciarlatani e di chi è la colpa? Oltretutto questo rovina non poco il futuro di ragazzi che magari non hanno avuto possibilità di fare esperienza prima della laurea e anche se hanno potenziale e voglio imparare e crescere vengono trattati da "garzoni".
E' vergognoso.
Credo che "tanti" sia un pò esagerato. Come ha detto _Claudio servono conoscenze teoriche e solide anche, che la maggior parte dei laureati, dottorandi o altro non ha. Da quando sono all'uni ne ho viste cose assurde e mi chiedo in che mani daremo nel futuro l'IT. E non parlo solo della progettazione e sviluppo di un linguaggio di programmazione, ma per qualunque cosa. Non sempre si può dire: "Questa cosa non c'è o non mi piace allora me fa faccio io", bisogna considerare tante cose.
Ha anche ragione cdimauro a dire che se una cosa non si sa si studia, ma per certe cose serve più tempo, più pratica e molta esperienza.
Anche michele.broggi ha ragione, ci sono troppi ciarlatani e di chi è la colpa? Oltretutto questo rovina non poco il futuro di ragazzi che magari non hanno avuto possibilità di fare esperienza prima della laurea e anche se hanno potenziale e voglio imparare e crescere vengono trattati da "garzoni".
E' vergognoso.
Più che altro danneggia il futuro di quelle persone che non possiedono un titolo di studio come una Laurea (anche di primo livello) ma ne sanno 10 volte tanto rispetto ad una persona che ha una Laurea; senza guardare poi la voglia di imparare e mettersi in gioco... che nel 95 % dei neo-laureati manca.
Io lavoro e studio (Informatica); molti miei compagni di corso non sanno nemmeno per quale motivo stanno facendo questo corso di Laurea; quindi mi domando: che Laureti saranno? Che professionisti ICT saranno? Assurdo.
Io nel mio lavoro ci metto passione e voglia, poi viene lo studio.
Con il tempo mi farò l'esperienza necessaria ad affrontare qualsiasi problematica.
Ma ora come ora non penserei MAI di mettermi a scrivere un linguaggio di programmazione; solo i folli lo farebbero. :D
Ryuzaki_Eru
13-11-2009, 11:22
Più che altro danneggia il futuro di quelle persone che non possiedono un titolo di studio come una Laurea (anche di primo livello) ma ne sanno 10 volte tanto rispetto ad una persona che ha una Laurea; senza guardare poi la voglia di imparare e mettersi in gioco... che nel 95 % dei neo-laureati manca.
Non tutti i laureati però non sanno niente, ci sono quelli che studiano per imparare e perchè hanno passione. E restano fuori i ragazzi che fanno parte del 5%.
Io lavoro e studio (Informatica); molti miei compagni di corso non sanno nemmeno per quale motivo stanno facendo questo corso di Laurea; quindi mi domando: che Laureti saranno? Che professionisti ICT saranno? Assurdo.
Io nel mio lavoro ci metto passione e voglia, poi viene lo studio.
Con il tempo mi farò l'esperienza necessaria ad affrontare qualsiasi problematica.
Sono d'accordo, c'è gente che è qua perchè gli piace navigare.
Anche a me piacerebbe trovare lavoro mentre studio in modo da fare esperienza, ma non è facile..
Non tutti i laureati però non sanno niente, ci sono quelli che studiano per imparare e perchè hanno passione. E restano fuori i ragazzi che fanno parte del 5%.
Ma infatti... ho tenuto fuori il buon 5% perché rientrano quei ragazzi che studiano con passione e non per il titolo.
Ryuzaki_Eru
13-11-2009, 22:07
Peccato che non vengano valorizzati e nessuno li aiuta a crescere.
s0nnyd3marco
14-11-2009, 22:52
Le domande che poni sono legittime e sono normali questioni relative allo sviluppo di programmi che hanno normali risposte.
La configurazione di un programma se necessaria sarà resa comprensibile, le estensioni saranno installate automaticamente: prendi net, java o smalltalk, sono tutte piattaforme software con delle procedure di aggiornamento automatiche non diverse da quelle richieste per l'aggiornamento di un browser.
OS e architetture sono problemi di chi sviluppa driver e piattaforme, non certo di chi fa software dal middleware in su.
E poi, per la cronaca, se non c'è il precottino uno si rimbocca le maniche e se lo scrive così magari iniziamo anche a distinguere tra una software house e una copisteria che non farebbe male.
Tutto sta nel pretendere che i programmatori sappiano programmare.
Adesso non è che stiamo qui a prenderci per i fondelli: uno che fa il programmatore sa usare un compilatore ma sa anche scriverselo se non lo trova. Sa usare il linguaggio XYZ ma se non c'è sa scriversi il linguaggio.
Mangia la pappa pronta perchè se c'è conviene ma se manca deve sapersela cucinare. Altrimeni a fare il programmatore ci possiamo benissimo mettere anche mio nonno.
Non c'è la macchina virtuale per ARM? Ti guardi i sorgenti di quella per x86 e te la scrivi. La prima JVM mica l'han scritta in sessantamila persone in cent'anni. L'ha scritta uno in tre mesi.
Ingalls quando è andato a lavorare per Sun s'è detto "faccio un po' di pratica con Netbeans" e ha scritto Smalltalk in Java.
Una persona.
Posso capire che un programmatore nostrano ormai sia ridotto a mettere insieme quattro righe di jsp al giorno se va bene, non c'è nulla di male, la pagnotta si deve pur portare a casa. Ma non ditemi che vi sembra il meglio che si possa tirar fuori da una mandia di PC assetati di calcoli perchè non vi credo neanche se me lo giurate.
Scusa se te lo chiedo, ma ti rendi conti di quello che dici?
Hai mai dato un occhiata ai sorgenti del compilatore GCC? credi che crearne uno sia una bazzeccola? E ammesso che ti scrivi un compilatore, pensi di poterlo usare per qualche progetto che non sia puramente un tuo esercizio di stile? Nel software, anche quello non mission critical, bisogna garantire un certo grado di affidabilità e maturità. Dubito fortemente che un compilatore scritto, anche da un team di programmatori estremamente esperti, venga addottato da qualcuno, in quanto sicuramente ha qualche bug, che solo con l'uso negli anni salta fuori. Sai quante volte si decide di rimanere con le vecchie versioni perche testate e affidabili?
Discorso ananlogo per quanto riguarda scrivere una macchina virtuale, specialmente se devi emulare un architettura differente (arm su x86 o ppc su x86).
Considera che quando inizi a sviluppare un software per risolvere un determinato problema devi stabilire anche delle condizioni al controno, ovvero una precisa verione di quel componente, un certo db, su un certo os ecc, e che le migrazione e gli aggiornamenti, specialmente quando si hanno problemi di retrocompatibilità portano spesso a situazioni realmente incresciose. Non sempre puoi dire mi metto e scrivo quello che mi server perche richiederebbe troppo tempo e poiche il tempo è denaro bisogna vedere se vale la pena spendere per tempo uomo per creare qualcosa che magari sarà usato solo in quella situazione. Dubito che il tuo capo ti dia carta bianca e ti lasci fare quello che ti pare o iniziare progetti. Da quello che ho visto nella mia esperienza spesso ti tocca usare quello che c'è e cercarlo di adattare al meglio alle tue esigenze. Considera anche che spesso devi documentarti e/o apprendere tecnologie che non conosci e questo porta via ancora più tempo.
Anch'io son dell'idea che un programmatore debba saper fare il programmatore e che non basti aver fatto un due cosine. Spesso la differenza tra un programmatore esperto e uno che ha appena iniziato sta nel saper dare un design all'applicazione sfruttando quello che ha a disposizione, segliendo il pattern più appropriato, e non buttandosi a scrivere codice a manetta.
concludo citandoti una frase dai pirati di silicon valley: "gli artisti mediocri copiano, i grandi artisti rubano".
Scusa se te lo chiedo, ma ti rendi conti di quello che dici?
Sì.
cdimauro
15-11-2009, 03:34
Concordo. Poi il GCC è scritto veramente male, tant'è che già da tempo quelli di BSD stanno pensando di abbandonarlo (http://undeadly.org/cgi?action=article&sid=20070915195203&mode=expanded/) e farsene uno in casa (sulla base di un progetto esistente).
Anche realizzare virtual machine non è che ci voglia poi tanto. Emulatori di CPU inclusi.
Io lavoro e studio (Informatica); molti miei compagni di corso non sanno nemmeno per quale motivo stanno facendo questo corso di Laurea; quindi mi domando: che Laureti saranno? Che professionisti ICT saranno? Assurdo.
Io nel mio lavoro ci metto passione e voglia, poi viene lo studio.
Con il tempo mi farò l'esperienza necessaria ad affrontare qualsiasi problematica.
Ma ora come ora non penserei MAI di mettermi a scrivere un linguaggio di programmazione; solo i folli lo farebbero. :D
Quoto ma ad una condizione; qua dentro ci si fascia un sacco la testa perchè l'informatica non è più quella professione "romantica" che era negli anni 90, ma hai idea di quanti facciano che ne so, giurisprudenza per passione? Medicina per passione? In ogni facoltà è zeppo di gente che sta li a passare l'aria, e devo dire che almeno da me ad ingegneria la percentuale di cazzoni è piuttosto bassa rispetto a quello che so degli altri corsi...
Poi si confermo; chiunque saprebbe scrivere un linguaggio, pure io e nemmeno sono laureato (per quello che conta).
Poi però sarebbe buggatissimo, lento, e stupido, e non vedo davvero il motivo percui dovrei reinventare la ruota per la duecentesima volta invece di fare qualcosa di davvero nuovo.
PGI-Bis, dimentichi che il tempo è la risorsa più costosa, e solo i geni hanno il diritto di mettersi a sperimentare come e quando gli va... :read:
s0nnyd3marco
15-11-2009, 10:28
Sì.
Secondo me la fai troppo semplice. Considera che per scrivere un linguaggio, un compilatore, un layer di macchine virtuali ecc non basta un programmatore che lavori nei week end a tempo perso, ma un team di sviluppo ed un bel po di tempo.
Tu saresti in grado di scrivere da solo un compilatore, diciamo C++ in quanto tempo? un qualcosa che sia funzionante parlo.
zulutown
15-11-2009, 10:36
Non so niente della realtà esistente in Google, ma sbaglio di molto se penso che con i loro mezzi (sia economici, che culturali e tecnologici, nonchè l'esperienza accumulata) possano tranquillamente fare R&D come dio comanda? :confused:
consentire anche all'ultimo arrivato (che magari è un genio, mentre magari i responsabili R&D sono solo dei mezzi-geni) di aver visibilità con progetti fatti da lui ti consente sulla quantità di progetti proposti di trovare anche qualcosa di interessante
_Claudio
15-11-2009, 11:18
Secondo me la fai troppo semplice. Considera che per scrivere un linguaggio, un compilatore, un layer di macchine virtuali ecc non basta un programmatore che lavori nei week end a tempo perso, ma un team di sviluppo ed un bel po di tempo.
Tu saresti in grado di scrivere da solo un compilatore, diciamo C++ in quanto tempo? un qualcosa che sia funzionante parlo.
Un compilatore di un linguaggio esistente lo scrivi (funzionante e usabile) forse in una settimana perchè esistono le specifiche, strumenti che facilitano molto lo sviluppo (flex, yacc, bison... mai sentiti?).
Se bisogna progettare un linguaggio nuovo, il problema non è tanto nello scrivere il codice ma tanto nel trovare la grammatica corretta e definire correttamente le traduzioni, roba che viene fatta su carta.
Poi è ovvio che un linguaggio nuovo non potrà competere con Java, C++, ecc... (sicuramente batterebbe ad occhi chiusi python :D :D )
però non è nemmeno detto che nella sua prima versione sia da buttare e inutilizzabile.
s0nnyd3marco
15-11-2009, 14:10
Un compilatore di un linguaggio esistente lo scrivi (funzionante e usabile) forse in una settimana perchè esistono le specifiche, strumenti che facilitano molto lo sviluppo (flex, yacc, bison... mai sentiti?).
Se bisogna progettare un linguaggio nuovo, il problema non è tanto nello scrivere il codice ma tanto nel trovare la grammatica corretta e definire correttamente le traduzioni, roba che viene fatta su carta.
Poi è ovvio che un linguaggio nuovo non potrà competere con Java, C++, ecc... (sicuramente batterebbe ad occhi chiusi python :D :D )
però non è nemmeno detto che nella sua prima versione sia da buttare e inutilizzabile.
Ok, ma il parsing del linguaggio fino ad arrivare ad un albero sintattico è solo una parte del problema. Considera che poi devi trasformarlo in codice macchina o bytecode e quindi devi avere una conoscenza piuttosto approfondita del sistema operativo o della vm che sta sotto. Chiaramente tutto è fattibile. Ma credo che scrivere un compilatore, anche utilizzando strumenti di parsing già disponibili, sia cmq un lavoraccio e che alla fine porti pochi benefici, anzi probabilmente più grattacapiche altro. Dubito che un compilatore self made sia affidabile, ottimizzato e collaudato come uno che è su piazza da diversi anni.
Se poi decidi di scrivere un linugaggio nuovo, oltre a dover decidere la grammatica, che sia innovativa, priva di incongruenze ecc il compito diventa ancora più arduo. Tieni presente che un linguaggio di programmazione nuovo privo di librerie è praticamente inutile.
PS: guarda che il python, rispetto a tutti gli altri linguaggi interpretati, scala molto bene.
khelidan1980
15-11-2009, 14:27
Ok, ma il parsing del linguaggio fino ad arrivare ad un albero sintattico è solo una parte del problema. Considera che poi devi trasformarlo in codice macchina o bytecode e quindi devi avere una conoscenza piuttosto approfondita del sistema operativo o della vm che sta sotto.
E chi la detto?Credo che il 90% dei linguaggi sia semplicemente scritto in C
_Claudio
15-11-2009, 16:14
Ok, ma il parsing del linguaggio fino ad arrivare ad un albero sintattico è solo una parte del problema. Considera che poi devi trasformarlo in codice macchina o bytecode e quindi devi avere una conoscenza piuttosto approfondita del sistema operativo o della vm che sta sotto. Chiaramente tutto è fattibile. Ma credo che scrivere un compilatore, anche utilizzando strumenti di parsing già disponibili, sia cmq un lavoraccio e che alla fine porti pochi benefici, anzi probabilmente più grattacapiche altro. Dubito che un compilatore self made sia affidabile, ottimizzato e collaudato come uno che è su piazza da diversi anni.
Se poi decidi di scrivere un linugaggio nuovo, oltre a dover decidere la grammatica, che sia innovativa, priva di incongruenze ecc il compito diventa ancora più arduo. Tieni presente che un linguaggio di programmazione nuovo privo di librerie è praticamente inutile.
PS: guarda che il python, rispetto a tutti gli altri linguaggi interpretati, scala molto bene.
Trasformare in codice macchina o bytecode fa parte di quello che chiamo traduzione.
Che poi sia un lavoro poco utile in ambito lavorativo è indubbio, così come che sia poi inutilizzabile vista la mancanza di librerie e poco performante nella sua prima versione.
Ma non è assolutamente vero che ci vogliono mesi di lavoro in team per crearne uno, basta avere le competenze giuste e le idee ben chiare in testa.
s0nnyd3marco
15-11-2009, 16:39
E chi la detto?Credo che il 90% dei linguaggi sia semplicemente scritto in C
Il compilatore e, se previsto, la vm, ma quello che ti esce dalla compilazione è bytecode o codice macchina.
Tu saresti in grado di scrivere da solo un compilatore, diciamo C++ in quanto tempo? un qualcosa che sia funzionante parlo.
Certamente sì, e penso che ci impiegherei più o meno tre anni lavorativi, perchè ci sono una marea di cose che dovrei studiare. Però considera che io sono un praticone: da uno che ha studiato informatica penso sia lecito pretendere una performance un pelino più agile.
Dico "certamente sì" perchè il compito richiederebbe semplicemente studio e applicazione: i compilatori sono una tecnologia consolidata per cui esistono riferimenti in quantità industriale.
Dubito fortemente che sarei in grado di apportare una qualsiasi innovazione durante il percorso, se non per classica "botta di culo": per mirare a quello bisogna avere una comprensione del problema semplicemente diversa da quella che è richiesta per una mera riproduzione di ciò che già si fa.
s0nnyd3marco
15-11-2009, 17:05
Trasformare in codice macchina o bytecode fa parte di quello che chiamo traduzione.
Che poi sia un lavoro poco utile in ambito lavorativo è indubbio, così come che sia poi inutilizzabile vista la mancanza di librerie e poco performante nella sua prima versione.
Ma non è assolutamente vero che ci vogliono mesi di lavoro in team per crearne uno, basta avere le competenze giuste e le idee ben chiare in testa.
Concordo con te, tranne per le tempistiche. Cmq mi avete messo la pulce nell'orecchio. Appena trovo un briciolo di tempo inizio a documentarmi approfonditamente.
s0nnyd3marco
15-11-2009, 17:21
Certamente sì, e penso che ci impiegherei più o meno tre anni lavorativi, perchè ci sono una marea di cose che dovrei studiare. Però considera che io sono un praticone: da uno che ha studiato informatica penso sia lecito pretendere una performance un pelino più agile.
Dico "certamente sì" perchè il compito richiederebbe semplicemente studio e applicazione: i compilatori sono una tecnologia consolidata per cui esistono riferimenti in quantità industriale.
Dubito fortemente che sarei in grado di apportare una qualsiasi innovazione durante il percorso, se non per classica "botta di culo": per mirare a quello bisogna avere una comprensione del problema semplicemente diversa da quella che è richiesta per una mera riproduzione di ciò che già si fa.
Sono d'accordo con te: il scrivere un compilatore tradizionale, ovvero privo di brillanti innovazioni, è un compito di puro studio e applicazione. Per quanto riguarda l'aspetto "da uno che ha studiato informatica... " consentimi di dissentire. Sto facendo la specialistica di ing info a ts e lavoro come programmatore, e ti assicuro che purtroppo la maggior parte dei corsi e dei piani di studio sono del tutto insufficienti per la preparazione ad un compito del genere. Spesso ho dovuto cercare in rete o studiarmi per conto mio determinati argomenti in cui avrei voluto un maggiore approfondimento da parte dell'univ.
Senza contare che la maggior parte dei studenti purtroppo è la solo per il titolo.
khelidan1980
15-11-2009, 18:11
Il compilatore e, se previsto, la vm, ma quello che ti esce dalla compilazione è bytecode o codice macchina.
ma non è vero dipende da cosa vuoi fare,se ti scrivi un linguaggio interpretato ti basta un interprete scritto in C,stile ruby,dobbiamo metterci d'accordo se il target è scrivere un nuovo linguaggio,oppure un compilatore vero e proprio
khelidan1980
15-11-2009, 18:16
Sono d'accordo con te: il scrivere un compilatore tradizionale, ovvero privo di brillanti innovazioni, è un compito di puro studio e applicazione. Per quanto riguarda l'aspetto "da uno che ha studiato informatica... " consentimi di dissentire. Sto facendo la specialistica di ing info a ts e lavoro come programmatore, e ti assicuro che purtroppo la maggior parte dei corsi e dei piani di studio sono del tutto insufficienti per la preparazione ad un compito del genere. Spesso ho dovuto cercare in rete o studiarmi per conto mio determinati argomenti in cui avrei voluto un maggiore approfondimento da parte dell'univ.
Senza contare che la maggior parte dei studenti purtroppo è la solo per il titolo.
ma secondo me è anche giusto,il cercare qualcosa in più fa la differenza a mio modo di vedere,a livello di persona
http://www.dalkescientific.com/writings/diary/archive/2009/09/15/100000_tasklets.html :D
Stackless Python faster than Go
cdimauro
15-11-2009, 21:06
Molto interessante, grazie! :)
s0nnyd3marco
15-11-2009, 21:53
ma non è vero dipende da cosa vuoi fare,se ti scrivi un linguaggio interpretato ti basta un interprete scritto in C,stile ruby,dobbiamo metterci d'accordo se il target è scrivere un nuovo linguaggio,oppure un compilatore vero e proprio
Prima si parlava che se uno sviluppatore non trova un compilatore adatto ai suoi scopi può scriversene uno. Io ho solamente fatto notare come tale compito mi sembrava piuttosto gravoso e di sicuro non di facile realizzazione, in quanto richiederebbe parecchio studio e riflessioni. Chiaramente i compilatori sono molto difusi, quindi anche la documentazione a riguardo. Se poi si usa anche un parser e un analizzatore lessicale già disponibile ci si toglie una parte del compito, ma non tutto. Per quanto riguarda la mia esperienza da programmatore (circa 16 mesi), nella maggior parte dei casi si riutilizza cose già scritte da altri piuttosto che iniziare qualcosa di nuovo, tranne che non si è proprio costretti.
Tornando on topic, trovo lodevole che google investa in molte iniziative, anche se non sempre portano a un fine.
Non capisco perche abbiano deciso di fare un n-esimo linguaggio, quando esistono molteplici concorrenti simili a Go, vedi python o ruby, tanto per citarne alcuni. Non vedo nessuna caratteristica cosi innovativa da far abbandonare uno di questi per passare a Go.
Se sperano di sostituire il C++ con questo, beh, ho solo una cosa da dire: Auguri :D
Prima si parlava che se uno sviluppatore non trova un compilatore adatto ai suoi scopi può scriversene uno. Io ho solamente fatto notare come tale compito mi sembrava piuttosto gravoso e di sicuro non di facile realizzazione, in quanto richiederebbe parecchio studio e riflessioni. Chiaramente i compilatori sono molto difusi, quindi anche la documentazione a riguardo. Se poi si usa anche un parser e un analizzatore lessicale già disponibile ci si toglie una parte del compito, ma non tutto. Per quanto riguarda la mia esperienza da programmatore (circa 16 mesi), nella maggior parte dei casi si riutilizza cose già scritte da altri piuttosto che iniziare qualcosa di nuovo, tranne che non si è proprio costretti.
Tornando on topic, trovo lodevole che google investa in molte iniziative, anche se non sempre portano a un fine.
Non capisco perche abbiano deciso di fare un n-esimo linguaggio, quando esistono molteplici concorrenti simili a Go, vedi python o ruby, tanto per citarne alcuni. Non vedo nessuna caratteristica cosi innovativa da far abbandonare uno di questi per passare a Go.
Se sperano di sostituire il C++ con questo, beh, ho solo una cosa da dire: Auguri :D
Se l ha fatto è perché avrà successo, come la maggior parte dei prodotti della grande G. Siamo fiduciosi :D
Così cdimauro abbandonerà quella schifezza del pitone per passare a Go :Prrr: :Prrr: :Prrr:
s0nnyd3marco
16-11-2009, 08:10
Se l ha fatto è perché avrà successo, come la maggior parte dei prodotti della grande G. Siamo fiduciosi :D
Così cdimauro abbandonerà quella schifezza del pitone per passare a Go :Prrr: :Prrr: :Prrr:
Perche' tutto questo astio nei confronti del pitone? Nonostante sia abituato a linguaggi tipo c++ c# e java, lo trovo estremamente facile e comodo. Personalmente l'ho usato principalmente per progetti relativamente piccolini, al max 2000 line, ma da quello che dicono scala veramente bene.
cdimauro
16-11-2009, 08:47
Hai perfettamente ragione, ma credo che michele.broggi stesse scherzando. :p
Hai perfettamente ragione, ma credo che michele.broggi stesse scherzando. :p
Esatto, hai colto in pieno. Era una presa in giro al pitoniano :D
Anche io uso il pitone :cool: (per piccolissimi progetti) e penso che lo utilizzerò più spesso... :D
s0nnyd3marco
16-11-2009, 11:00
Esatto, hai colto in pieno. Era una presa in giro al pitoniano :D
Anche io uso il pitone :cool: (per piccolissimi progetti) e penso che lo utilizzerò più spesso... :D
Credevo fosse una frecciatina sottoforma scherzosa :sofico:
Credevo fosse una frecciatina sottoforma scherzosa :sofico:
No assolutamente, non sono il tipo :D
wingman87
16-11-2009, 12:40
Se l ha fatto è perché avrà successo, come la maggior parte dei prodotti della grande G. Siamo fiduciosi :D
Errare e' umano
Errare e' umano
Senza dubbio...
s0nnyd3marco
16-11-2009, 15:56
Senza dubbio...
Tornando in thread, secondo voi questo linguaggio in che contesto potrebbe trovare applicazione? rimmarra' solamente una cosa interna a google? sempre che decidano di usarlo in produzione? quali sono i principali linguaggi con cui potrebbe scontrarsi?
Chiaramente se sperano di andare contro il C++ hanno sbagliato i calcoli (IMHO).
Tornando in thread, secondo voi questo linguaggio in che contesto potrebbe trovare applicazione? rimmarra' solamente una cosa interna a google? sempre che decidano di usarlo in produzione? quali sono i principali linguaggi con cui potrebbe scontrarsi?
Chiaramente se sperano di andare contro il C++ hanno sbagliato i calcoli (IMHO).
Mai dire mai della grande G.
Per me lo adotteranno in Chrome OS ... un pò come MS ha fatto con C# e Apple con Obj-C
s0nnyd3marco
16-11-2009, 16:18
Mai dire mai della grande G.
Per me lo adotteranno in Chrome OS ... un pò come MS ha fatto con C# e Apple con Obj-C
Scusa, ma da quello che ho capito, Chrome OS e' un linux smanacciato + chrome, corretto? visto che il kernel, librerie ecc di linux sono gia' scritte e lo stesso per chrome, non vedo come sto linugaggio trovi spazio in Chrome OS. MS ha sviluppato il C# sia per usarlo lato interno loro, sia per dalro ai sviluppatori per le mile mila applicazioni di windows. ChromeOS praticamente non avra' altro che i browser.
Scusa, ma da quello che ho capito, Chrome OS e' un linux smanacciato + chrome, corretto? visto che il kernel, librerie ecc di linux sono gia' scritte e lo stesso per chrome, non vedo come sto linugaggio trovi spazio in Chrome OS. MS ha sviluppato il C# sia per usarlo lato interno loro, sia per dalro ai sviluppatori per le mile mila applicazioni di windows. ChromeOS praticamente non avra' altro che i browser.
Ancora non si sa niente su Chrome OS; di ufficiale c'è ben poco e sono tutte presunzioni si basi sul kernel di linux; e comunque se anche fosse, Google può aver sviluppato una GUI tutta sua, con un ambiente grafico totalmente proprietario e rilasciare Go per programmarci sopra.
Può essere.
Secondo voi Google basa i suoi server su GNU/Linux?
Se si sarà una versione di GNU altamente personalizzata; secondo me non basa tutto su GNU/Linux ma su un OS proprietario interno, che hanno deciso ora di rendere pubblico.
Magari mi sbaglio, non lo so, possiamo solo aspettare e vedere.
Le mie sono supposizioni se qualcuno ha informazioni chiare e documentate ben venga!
s0nnyd3marco
16-11-2009, 20:47
Ancora non si sa niente su Chrome OS; di ufficiale c'è ben poco e sono tutte presunzioni si basi sul kernel di linux; e comunque se anche fosse, Google può aver sviluppato una GUI tutta sua, con un ambiente grafico totalmente proprietario e rilasciare Go per programmarci sopra.
Può essere.
Secondo voi Google basa i suoi server su GNU/Linux?
Se si sarà una versione di GNU altamente personalizzata; secondo me non basa tutto su GNU/Linux ma su un OS proprietario interno, che hanno deciso ora di rendere pubblico.
Magari mi sbaglio, non lo so, possiamo solo aspettare e vedere.
Le mie sono supposizioni se qualcuno ha informazioni chiare e documentate ben venga!
http://en.wikipedia.org/wiki/Google_platform
Da quello che avevo visto sulle proposte di lavoro di google cercano gente che conosca bene linux: quindi penso che usino prinicpalmente quello. Sicuramente sarà customizzato a manetta.
Per quanto riguarda Chrome OS scommetto che usaranno una debian derivata (modo velato per dire Ubuntu), magari quella fatta a posta per nettop con tolto tutto tranne chrome e poco altro. Dubito che si smazzino a fare qualcosa da cui non trarranno direttamente guadagno.
(IMHO ovviamente)
http://en.wikipedia.org/wiki/Google_platform
Da quello che avevo visto sulle proposte di lavoro di google cercano gente che conosca bene linux: quindi penso che usino prinicpalmente quello. Sicuramente sarà customizzato a manetta.
Per quanto riguarda Chrome OS scommetto che usaranno una debian derivata (modo velato per dire Ubuntu), magari quella fatta a posta per nettop con tolto tutto tranne chrome e poco altro. Dubito che si smazzino a fare qualcosa da cui non trarranno direttamente guadagno.
(IMHO ovviamente)
Dubito utilizzeranno una Debian ;) filosofie completamente diverse tra GNU/Debian e Google.
Io prenderei la fonte Wikipedia con le pinze.
http://lwn.net/Articles/357658/ :)
Da quel che leggo in quell'interessante articolo mi pare di capire che Google prenda a piene mani dal kernel linux e restituisca poco o nulla in termini di codice. Spero se non altro che contribuisca (e sostanziosamente) in denaro al sostentamento della comunità di sviluppatori da cui attinge.
Da quel che leggo in quell'interessante articolo mi pare di capire che Google prenda a piene mani dal kernel linux e restituisca poco o nulla in termini di codice. Spero se non altro che contribuisca (e sostanziosamente) in denaro al sostentamento della comunità di sviluppatori da cui attinge.
Al momento più che altro li sta ammazzando definitivamente dato che Chrome sta diventando un pericolo per FF (e Google non dà più fondi a Mozilla) e questo Chrome OS potrebbe rendere inutili parecchie distribuzioni se si guarda ad usabilità e net-accessibility...
Cmq non mi aggrada parecchio che ChromeOS sia praticamente una distro, da loro mi aspettavo molto di più in termini di innovazione del modo di usare un PC...
Al momento più che altro li sta ammazzando definitivamente dato che Chrome sta diventando un pericolo per FF (e Google non dà più fondi a Mozilla) e questo Chrome OS potrebbe rendere inutili parecchie distribuzioni se si guarda ad usabilità e net-accessibility...
Cmq non mi aggrada parecchio che ChromeOS sia praticamente una distro, da loro mi aspettavo molto di più in termini di innovazione del modo di usare un PC...
Secondo i rumors stanno lavorando a qualcosa di alternativo a X11. Secondo Techcrunch questa settimana dovrebbe uscire qualcosa su Google Chrome OS, ormai non ci resta che aspettare.
http://www.techcrunch.com/2009/11/13/google-chrome-os-to-launch-within-a-week/
cdimauro
17-11-2009, 07:22
Tornando in thread, secondo voi questo linguaggio in che contesto potrebbe trovare applicazione? rimmarra' solamente una cosa interna a google? sempre che decidano di usarlo in produzione? quali sono i principali linguaggi con cui potrebbe scontrarsi?
Chiaramente se sperano di andare contro il C++ hanno sbagliato i calcoli (IMHO).
Da quel che ho letto mi sono fatto l'idea che sarà utilizzato per realizzare server che debbano smazzarsi una grossa quantità di richieste, senza per questo scomodare C o C++.
Diciamo che rappresenta un buon compromesso fra velocità di scrittura del codice, robustezza e prestazioni (sempre in quest'ambito applicativo). Questo se e solo se mantiene le aspettative.
Non lo vedo come linguaggio "mainstream", capace di sostituire C/C++ a basso/medio livello o linguaggi di più alto livello. Anche perché, come diceva qualcuno, non ha una buona libreria in dotazione (indispensabile ormai).
nucarote
17-11-2009, 08:21
Quoto per intero il pensiero di PGI e pensare che Sun 15 anni fà aveva le Applet, che dal punto di vista del programmatore, sono ancora superiori a qualsiasi accrocchio AJAX forse l'unico che ci si avvicina come concetto e facilità è IMHO appunto GWT che ad oggi IMHO rimane l'unica soluzione plausibile per lo sviluppo di web app "avanzate" benchè abbia ancora dei limiti.
Tornando IT, mi accodo anch'io sulle perplessità su Go e del suo utilizzo reale, ma conoscendo la grande G, sarà solo questioni di pochi mesi e ne sapremo di più.
beh che la sintassi è strana è proprio strana, ma il fatto che dietro ci sia il nome google mi rassicura, in fin dei conti gli ultimi progetti sono stati veramente ottimi, bisogna vedere che capacità avrà questo linguaggio di entrare nel vasto mondo dei linguaggi di programmazione
http://www.ibasblog.it/programmazione/go-hello-world.html
beh che la sintassi è strana è proprio strana, ma il fatto che dietro ci sia il nome google mi rassicura, in fin dei conti gli ultimi progetti sono stati veramente ottimi, bisogna vedere che capacità avrà questo linguaggio di entrare nel vasto mondo dei linguaggi di programmazione
http://www.ibasblog.it/programmazione/go-hello-world.html
Obj-C è decisamente peggiore ;)
_Claudio
17-11-2009, 09:20
Quoto per intero il pensiero di PGI e pensare che Sun 15 anni fà aveva le Applet, che dal punto di vista del programmatore, sono ancora superiori a qualsiasi accrocchio AJAX forse l'unico che ci si avvicina come concetto e facilità è IMHO appunto GWT che ad oggi IMHO rimane l'unica soluzione plausibile per lo sviluppo di web app "avanzate" benchè abbia ancora dei limiti.
Tornando IT, mi accodo anch'io sulle perplessità su Go e del suo utilizzo reale, ma conoscendo la grande G, sarà solo questioni di pochi mesi e ne sapremo di più.
Personalmente ho lavorato con le GWT e devo dire che è bella l'idea ma non sono assolutamente considerabili per lo sviluppo di applicazioni "pesanti".
Si basano pur sempre su javascript e vengono eseguite sul browser, le applet per quanto obrobriose almeno avevano una JVM a supportarle.
Diciamo che in termini prestazionali se le applet stavano a 5/10 le GWT sono a 1/10, e senza fluidità e solidità di esecuzione c'è ben poco da fare.
nucarote
17-11-2009, 10:09
Personalmente ho lavorato con le GWT e devo dire che è bella l'idea ma non sono assolutamente considerabili per lo sviluppo di applicazioni "pesanti".
Si basano pur sempre su javascript e vengono eseguite sul browser, le applet per quanto obrobriose almeno avevano una JVM a supportarle.
Diciamo che in termini prestazionali se le applet stavano a 5/10 le GWT sono a 1/10, e senza fluidità e solidità di esecuzione c'è ben poco da fare.
Non a caso ho parlato dal punto di vista del programmatore (con una classe java e un paio di jar al contorno e avevi la tua applicazione cosa non sempre con GWT). Per quanto riguarda le prestazioni, concordo con tutto, se solo Sun le avesse sviluppate per bene invece di buttarsi in progetti di indubbia inutilità come JavaFX...
banryu79
17-11-2009, 12:38
Per quanto riguarda le prestazioni, concordo con tutto, se solo Sun le avesse sviluppate per bene invece di buttarsi in progetti di indubbia inutilità come JavaFX...
Più che altro il peccato di Sun, con le applet, potrebbe essere stato quello di aver fatto da precursore dei tempi... e le ha "bruciate"
wingman87
17-11-2009, 12:49
Come mai parlate al passato? Le applet sono "morte"?
Da quel che leggo in quell'interessante articolo mi pare di capire che Google prenda a piene mani dal kernel linux e restituisca poco o nulla in termini di codice. Spero se non altro che contribuisca (e sostanziosamente) in denaro al sostentamento della comunità di sviluppatori da cui attinge.
Ho avuto la stessa impressione
cdimauro
17-11-2009, 13:11
Google dice no all'open source (http://www.appuntidigitali.it/4842/google-dice-no-allopen-source/) :fagiano:
il titolo e' fuorviante.
Google dice no alla copia non autorizzata di applicazioni non open source che include in android
cdimauro
17-11-2009, 13:42
Non lo è. Leggiti l'articolo. ;)
s0nnyd3marco
17-11-2009, 14:31
Non lo è. Leggiti l'articolo. ;)
Ho letto l'articolo e sinceramente non ci trovo nulla di scandaloso. Infondo google, come MS, Apple ecc sono delle societa' a fine di lucro, quindi e' normale che certo codice se lo tengano ben stretto. Spesso (bando all'ipocrisia) i progetti vengono rilasciati come opensource o gratuitamente solamente per dargli fame e notorieta', diffonderlo in mercati da cui sarebbero esclusi se facessero pagare un qualche balzello.
Come mai parlate al passato? Le applet sono "morte"?
1997 wants its applets BACK!!
Come mai parlate al passato? Le applet sono "morte"?
Ma più che altro, sono mai state vive? :asd:
In 10 anni di web ne ho incontrate 2 o 3, e apparte i giochi di yahoo erano sempre e comunque opzionali.
Sono state uno dei flops più sponsorizzati dell'informatica imo :asd:
Le applet sono vive e vegete ma per svilupparne una bisogna avere un programmatore e un grafico.
C'è un aneddoto latamente collegato. Sun sta sviluppando uno strumento di design per applicazioni Java FX. Prima di iniziare hanno fatto dei test e riguardo ai risultati il buon Gosling ebbe a dire:
"Quando un grafico si mette a programmare generalmente arriva fino ad un certo punto e poi si blocca ma, sorprendentemente, il codice che riesce a scrivere non è poi così male. Quando un programmatore si mette a disegnare il risultato è sempre, invariabilmente, costantemente orrendo."
Io credo che questo sia il punto centrale non solo delle applet ma di Java come piattaforma desktop. A un certo punto Sun ha dato in mano ai programmatori delle API così malleabili, così ben documentate, e soprattutto così gratuite, che i programmatori si sono messi in testa che per magia quelle stesse API gli avrebbero anche insegnato a disegnare bene.
Non è così. Se uno vuole fare un'applicazione visivamente "bella" deve sapere disegnare BENE o deve rivolgersi a qualcuno che sappia disegnare BENE. Basta una capatina nella sezione "computer graphics" di questo forum per farsi un'idea di cosa significhi saper disegnare.
A parti inverse lo stesso si può dire per flash. Le applicazioni Flash si "disegnano", le disegnano dei grafici e sono normalmente molto belle da vedere. Fanno invariabile schifo dal punto di vista dell'interazione utente perchè la prima cosa che devi fare quando sviluppi un'applicazione "desktop" che abbia un minimo di complessità è prendere il framework che usi e sovrascrivere la meccanica dell'interazione utente: non è una questione visiva, bisogna affondare le mani nel codice.
Le applet sono vive e vegete ma per svilupparne una bisogna avere un programmatore e un grafico.
C'è un aneddoto latamente collegato. Sun sta sviluppando uno strumento di design per applicazioni Java FX. Prima di iniziare hanno fatto dei test e riguardo ai risultati il buon Gosling ebbe a dire:
"Quando un grafico si mette a programmare generalmente arriva fino ad un certo punto e poi si blocca ma, sorprendentemente, il codice che riesce a scrivere non è poi così male. Quando un programmatore si mette a disegnare il risultato è sempre, invariabilmente, costantemente orrendo."
Io credo che questo sia il punto centrale non solo delle applet ma di Java come piattaforma desktop. A un certo punto Sun ha dato in mano ai programmatori delle API così malleabili, così ben documentate, e soprattutto così gratuite, che i programmatori si sono messi in testa che per magia quelle stesse API gli avrebbero anche insegnato a disegnare bene.
Non è così. Se uno vuole fare un'applicazione visivamente "bella" deve sapere disegnare BENE o deve rivolgersi a qualcuno che sappia disegnare BENE. Basta una capatina nella sezione "computer graphics" di questo forum per farsi un'idea di cosa significhi saper disegnare.
A parti inverse lo stesso si può dire per flash. Le applicazioni Flash si "disegnano", le disegnano dei grafici e sono normalmente molto belle da vedere. Fanno invariabile schifo dal punto di vista dell'interazione utente perchè la prima cosa che devi fare quando sviluppi un'applicazione "desktop" che abbia un minimo di complessità è prendere il framework che usi e sovrascrivere la meccanica dell'interazione utente: non è una questione visiva, bisogna affondare le mani nel codice.
No un momento forse dimentichi per avere un'applet da caricare significa: l'intero browser si blocca per 2m - jvm da caricare. Flash no, è immediato. Non deve caricare nulla di pesante, semplicemente funziona. E' una bella differenza per l'utente
Quanto ci metti a caricare questa applet?
http://www.tukano.it/jrabbit/jrabbit.html
Io quattro secondi.
Quanto ci metti a caricare questa applet?
http://www.tukano.it/jrabbit/jrabbit.html
Io quattro secondi.
4s, di cui la prima volta è andato in crash FireFox :sofico:
Mi hai sorpreso in positivo ;)
L'ultima volta che mi sono imbattuto in una applet significava la morte del browser, hanno finalmente sistemato questo grande problema, adesso e solo adesso potrei anche pensare di sostituire qualcosina in Comet (ajax) con un'applet
banryu79
17-11-2009, 17:41
http://www.tukano.it/jrabbit/jrabbit.html
[OT]Fico, che roba è?
Iin tutta onestà quando sono andato a cercare un applet di prova e ho visto 'sto coso mi son detto "e tu chi cacchio sei?"
E' uno dei tanti rottami che infestano il mio spazio web. A memoria dovrebbe essere un blocco da disegno.
Per il nostro discorso credo valga la pena sottolineare come quell'applet sia di straordinaria "pochezza" visiva. Perchè? Perchè io non so disegnare. Un omologo flash (e vorrei vederlo) sarebbe certamente più bello da vedere perchè sarebbe sviluppato con strumenti che mettono la grafica e le abilità grafiche di fronte a tutto.
banryu79
17-11-2009, 18:03
L'ultima volta che mi sono imbattuto in una applet significava la morte del browser...
Era per questo che prima ho detto che le applet sono state "bruciate"...
Sono uscite forse un po' troppo presto, quando appunto ne percepivamo maggiormente il peso in relazione agli strumenti e alle possibilità dell'epoca.
Ti fai una cattiva nomea e ti sei "bruciato" anche se dopo la cosa può funzionare, perchè il mercato nel frattempo ti ha rimpiazzato con altro, creato una cultura, e abituato ad un modo di concepire e fare le cose in cui tu sei stato escluso e dimenticato a suo tempo :) Dura recuperare, per quanto buona possa essere la cosa. E' più facile entrare con qualcosa che viene percepito come "novità" e "in linea" con le tendenze del momento.
banryu79
17-11-2009, 18:08
Per il nostro discorso credo valga la pena sottolineare come quell'applet sia di straordinaria "pochezza" visiva. Perchè? Perchè io non so disegnare. Un omologo flash (e vorrei vederlo) sarebbe certamente più bello da vedere perchè sarebbe sviluppato con strumenti che mettono la grafica e le abilità grafiche di fronte a tutto.
Questa è una legge che non ha tempo: per fare una UI con i controcoglioni serve un grafico, per la grafica, magari un esperto in "usabilità" delle interfacce, per la strutturazione (parlo di roba complessa ovviamente) e, alla fine ovviamente il programmatore, che da solo, per quanto bravo, difficilmente ha la possibilità di sopperire alla mancanza di quelle figure.
Che poi, non so perchè, ma pare destino comune di molti programmatori avere gusti grafici alquanto discutibili :D se va proprio di lusso rasentano il limite tra il Kitsch e il vero schifo, parlo per esperienza :asd:
Ho trovato una prima guida in italiano per questo linguaggio(qui (http://www.ibasblog.it/programmazione/guida-linguaggio-go-1.html))...che per me continua ad essere troppo complesso nella sintassi, che parole chiave del piffero...
banryu79
19-11-2009, 12:27
Ho trovato una prima guida in italiano per questo linguaggio(qui (http://www.ibasblog.it/programmazione/guida-linguaggio-go-1.html))...
Beh, chiamarla guida è farle un esagerato complimento... in pratica è una enumerazione delle keyword e degli operatori.
Che keyword sarebbe go? :D
cdimauro
19-11-2009, 13:06
E' quella chiave del linguaggio: serve a lanciare quelle che vengono chiamate "goroutine".
Faccio un po' di spam: http://www.appuntidigitali.it/4998/ce-posto-per-google-go-prime-impressioni-sul-nuovo-linguaggio-di-bigg/ :fagiano:
banryu79
19-11-2009, 13:08
Che keyword sarebbe go? :D
E' la keyword per specificare che una funzione è una "goroutine".
E' spiegato bene in un simpatico articolo (http://www.appuntidigitali.it/4998/ce-posto-per-google-go-prime-impressioni-sul-nuovo-linguaggio-di-bigg/) di cdimauro
@EDIT: la citazione di PGI nell'articolo mi ha fatto cappottare. Però, per rendergli giustizia, avresti dovuto scrivere che la sua eccentricità è pari al suo acume :O e che [FANBOY MODE ON] spesso e volentieri è una buona fonte di stimoli di riflessione[OFF] :fagiano:
Circola notizia che i sognatori saranno accontentati.
banryu79
19-11-2009, 15:52
Circola notizia che i sognatori saranno accontentati.
Eh :confused:
Devoxx 2009, Java 7 avrà una sintassi per la dichiarazione di tipi metodo:
http://docs.google.com/Doc?id=ddhp95vd_6hg3qhc
banryu79
19-11-2009, 16:16
Mah, visto così, di primo acchitto mi pare un sistema (bruttino) per risparmiare qualche manciata di caratteri... non so, io con le classi anonime oramai mi trovo bene, una volta appreso il concetto e le forme idiomatiche d'uso.
Non è digitando un # al loro posto che mi cambia la vita, anzi, trovo il # meno espressivo di un new Runnable() {... o di un new ActionListener() {... e relativo nome del metodo/i, che almeno contribuiscono ad esplicitare il "contesto".
cdimauro
19-11-2009, 19:41
@EDIT: la citazione di PGI nell'articolo mi ha fatto cappottare. Però, per rendergli giustizia, avresti dovuto scrivere che la sua eccentricità è pari al suo acume :O e che [FANBOY MODE ON] spesso e volentieri è una buona fonte di stimoli di riflessione[OFF] :fagiano:
Ma eccentrico non ha mica una valenza esclusivamente negativa: è un termine abbastanza neutro. Nella fattispecie l'ho usato proprio nell'accezione del termine. ;)
Non era mia intenzione mancargli di rispetto.
Circola notizia che i sognatori saranno accontentati.
Preferirei venissero accontentati i sognatori che vorrebbero un linguaggio incline alla "filosofia" con cui è stato pensato ed è nato.
Devoxx 2009, Java 7 avrà una sintassi per la dichiarazione di tipi metodo:
http://docs.google.com/Doc?id=ddhp95vd_6hg3qhc
Non so se sono peggio le closure o i generic. Di certo fanno a gara rendere Java sempre più complicato e illeggibile, quando il mondo aveva già Perl e a breve accontentato un'altra frotta di masochisti con C++0x.
^TiGeRShArK^
19-11-2009, 20:40
Mah, visto così, di primo acchitto mi pare un sistema (bruttino) per risparmiare qualche manciata di caratteri... non so, io con le classi anonime oramai mi trovo bene, una volta appreso il concetto e le forme idiomatiche d'uso.
Non è digitando un # al loro posto che mi cambia la vita, anzi, trovo il # meno espressivo di un new Runnable() {... o di un new ActionListener() {... e relativo nome del metodo/i, che almeno contribuiscono ad esplicitare il "contesto".
Le lambda expression in effetti non sono altro che dei delegate anonimi, e quella sintassi proposta si avvicina molto all'utilizzo di un delegate anonimo in C# che è sempre possibile, ma che non usa nessuno perchè fa cagare. :fagiano:
List<int> evenNumbers = list.FindAll(delegate(int i) { return (i % 2) == 0; } );
Inutile dire che scrivere:
var evenNumbers = list.Where(e => (e % 2) == 0);
è MOOOOOLTO meglio.
Se davvero faranno una cosa del genere in java 7 imho fanno bene a risparmiarsela. :fagiano:
Beh, chiamarla guida è farle un esagerato complimento... in pratica è una enumerazione delle keyword e degli operatori.
Ho trovato una prima guida in italiano per questo linguaggio(qui (http://www.ibasblog.it/programmazione/guida-linguaggio-go-1.html))...che per me continua ad essere troppo complesso nella sintassi, che parole chiave del piffero...
sai com'è, mi secca un mondo leggermi la guida ufficiale in inglese, oltre questo non c'è molto sui siti italiani, a poco a poco, era la prima parte credo...:D
^TiGeRShArK^
20-11-2009, 00:37
sai com'è, mi secca un mondo leggermi la guida ufficiale in inglese, oltre questo non c'è molto sui siti italiani, a poco a poco, era la prima parte credo...:D
mah...
comunque a me non piace proprio..
Mi sembra il classico tentativo di accontentare tutti riuscendo a non accontentare nessuno.... :fagiano:
..A 'sto punto preferisco python! :O
(:asd: )
^TiGeRShArK^
20-11-2009, 00:42
Ma eccentrico non ha mica una valenza esclusivamente negativa: è un termine abbastanza neutro. Nella fattispecie l'ho usato proprio nell'accezione del termine. ;)
Non era mia intenzione mancargli di rispetto.
vabbè..
penso si fosse capito..
d'altronde siamo tutti eccentrici qui sul forum, chi x una cosa chi x un'altra...:stordita:
E infatti siamo sempre qui a scannarci x il linguaggio + facile da imparare o x chi è + bravo a governarci o x chiedere agli ufI di invaderci e a padre pio di salvarci. :asd:
(Post scritto in modalità ironica prima di beccare un DDOS su quest'IP che tra l'altro è anche dinamico :asd: )
:p
cdimauro
20-11-2009, 07:38
mah...
comunque a me non piace proprio..
Mi sembra il classico tentativo di accontentare tutti riuscendo a non accontentare nessuno.... :fagiano:
E' quel che ho scritto nel mio articolo. :D
..A 'sto punto preferisco python! :O
(:asd: )
:huh:
banryu79
20-11-2009, 08:27
Ma eccentrico non ha mica una valenza esclusivamente negativa: è un termine abbastanza neutro. Nella fattispecie l'ho usato proprio nell'accezione del termine. ;)
Non era mia intenzione mancargli di rispetto.
[OT]
Questo era palese... :rolleyes:
Ah cdimauroooo se stava a scherzà :D
Le lambda expression in effetti non sono altro che dei delegate anonimi, e quella sintassi proposta si avvicina molto all'utilizzo di un delegate anonimo in C# che è sempre possibile, ma che non usa nessuno perchè fa cagare.
Ecco, il tuo francesismo mi trova concorde.
A voler usare un'espressione tibetana, e come se volessero "mettere la testa di uno yak sul collo di una capra".
Le lambda expression in effetti non sono altro che dei delegate anonimi, e quella sintassi proposta si avvicina molto all'utilizzo di un delegate anonimo in C# che è sempre possibile, ma che non usa nessuno perchè fa cagare. :fagiano:
List<int> evenNumbers = list.FindAll(delegate(int i) { return (i % 2) == 0; } );
Inutile dire che scrivere:
var evenNumbers = list.Where(e => (e % 2) == 0);
è MOOOOOLTO meglio.
Se davvero faranno una cosa del genere in java 7 imho fanno bene a risparmiarsela. :fagiano:
A dire il vero somiglia molto di piu' ad una lambda la seconda espressione che non la prima (oltre al fatto che sarebbe piu' corretto dire che i delegate anonimi sono una forma di lambda expression).
Il succo comunque e' che molto dipende dalla sintassi. L'idea e' che dovrebbero essere piu' snelli che non fare intere classi anonime (oltre al fatto di poter selezionare al volo singoli metodi).
Certo se la pesantezza e' uguale, tanto vale...
||ElChE||88
20-11-2009, 14:45
A dire il vero somiglia molto di piu' ad una lambda la seconda espressione che non la prima (oltre al fatto che sarebbe piu'
Uh?
La seconda è un'espressione lambda. :fagiano:
Uh?
La seconda è un'espressione lambda. :fagiano:
Da come l'aveva scritta sembrava non la considerasse tale
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.