[Python] Parere su Go di un professore di informatica (delle superiori) nonche' uno dei fondatori di ERLUG
Davide Muzzarelli
d.muzzarelli a dav-muz.net
Sab 11 Lug 2015 12:40:07 CEST
Il 10/07/2015 21:27, Carlos Catucci ha scritto:
> Scusa solo per capire, dov'e' la differenza con try except? E comunque
> tu indich defer (non lo conosco bene) subito dopo avere aperto. Implica
> che verra' eseguito COMUNQUE (tipo finally per capirci) alla fine della
> funzione? Se si e' davvero una cosa buona.
E' come in finally, con la differenza che puoi metterli nel punto dove
preferisci e non devi creare dei livelli d'identazione quando ne devi
creare più di uno. In sostanza sono più comodi e semplici da utilizzare
rispetto ai finally.
> > Go è un linguaggio che ha i suoi difetti ma sono veramente pochi,
> anche Python e C hanno i loro difetti eh.
>
> Beh nessuno e' perfetto (tranne Andy ;P).
:)
> Comunque si penso che per
> certe cose sia interessante. Gia' intendevo riscrivere con Flask i web
> services del progetto. Se i boss non mi farranno girare le palle al
> punto da essere sfanculati, potrei pensare di ricriverene una buona
> parte in Go. In particolair quelli che gestiranno le
> connessioni/disconnessioni degli utenti sui router. (*)
>
> * Trattasi di rete wifi free dove chi entra si connette come se fosse la
> rete di casa. Questo comporta che io debba far registrare dati
> provenienti dai vari router (si conta a progetto avviato di averne
> qualche decina di milgiaia) tutti i casi di connessione/disconnessione
> che potrebbe essere un problema non da poco con Python (ce la fara' a
> reggere? Potrebbero arrivare in pochi secondi un numero elevatissimo di
> segnalazioni).
Go sarebbe adatto per quel progetto.
Ogni gorutine (simile ai thread) occupa 4kb. In 350MB di RAM puoi
gestire circa 90.000 connessioni aperte simultaneamente. Puoi usare
tutte le CPU a disposizione fin da subito senza scrivere codice aggiuntivo.
Sicuramente farai prima a scriverlo in Python che in Go, anche perché
dovresti imparare ad usarlo. Valuta tu se hai bisogno di quelle performance.
Byez,
Davide Muzzarelli
Maggiori informazioni sulla lista
Python