[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