[Python] Ma Go non ha le classi

Manlio Perillo manlio.perillo a gmail.com
Ven 27 Mar 2015 23:10:10 CET


2015-03-27 22:12 GMT+01:00 Federico Fissore <federico a fsfe.org>:

> Carlos Catucci ha scrito il 26/03/2015 alle 22:16:
>
>> Scopro solo ora (ni ritagli di tempo mi sto guardando questo linguaggio)
>> che Go non ha le classi. Va considerao lo stesso un linguaggio OOP?
>>
>>
> Fosse questo l'unica problema: prova ad scrivere un programma che apre
> file in 3 punti diversi, inserisci deliberatamente un baco e poi dallo ad
> un collega e misura quanto ci mette a trovarlo
>
> python ha questa cosa futuristica chiamata "traceback" che forse i
> programmatori di go non conoscevano. E sì che lo stack lo usano... :\
>
>
Il traceback lo hai in Python, come lo hai in Go ed anche in C, utilizzando
un debugger.
Ovviamente il livello di dettaglio è diverso, ma un qualsiasi programmatore
è in grado di trovare il bug.


> quindi in python a individuare l'errore ci metti 0 secondi, perchè ti
> stampa il nome file e riga in cui si è generato l'errore;


Anche in Go ed in gdb, ma sembra tu non li abbia mai usati.


> in go no, solo "no such file or directory", l'equivalente di un vaffa
>

Ah, ecco.

Questo non ha niente a che fare con il traceback, ma nella differente
gestione degli errori.
Python (e molti altri linguaggi) scelgono di gestire errori a runtime
tramite una eccezione.
Guarda caso eccezione significa "eccezionale", ma cercare di aprire un file
che non esiste secondo gli autori di Go non è poi così eccezionale.

Il bug in questo caso si trova facilmente con la ricerca di parti di codice
dove il programmatore non controlla l'eventuale errore restituito da una
funzione.


Ciao  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150327/2705f454/attachment.html>


Maggiori informazioni sulla lista Python