Posso dire nel mio piccolo la mia su Python vs Java ? Non ho grandi esperienze in nessuno dei due linguaggi, però vengo dal mondo ovattato di Visual Studio e come programmatore sono stato viziato e cresciuto nella bambagia.
Dopo aver provato per poche settimane entrambi i linguaggi a pelle mi sta più simpatico Python di Java, però a volte ha degli atteggiamenti che mi stanno un po sulle balle. Sarà vero quello che dite voi, che Python insegna a responsabilizzarsi, sarà vero quello che scrive Marco Beri che Python è un linguaggio fortemente tipizzato, però... vi spiego il mio malumore con un esempio Ci sono due programmatori Python, Tizio e Caio. Un giorno Tizio, che è un programmatore sciatto che non inserisce nemmeno una riga di docstrings, scrive: def gigetto(a, b): return a + b Il giorno dopo arriva Caio, legge il codice e si domanda cosa fa gigetto. Somma due numeri? Concatena due stringhe? Si perchè quando Caio prova a passare diversi parametri ottiene risultati diversi print(somma(4, 3)) # Restituisce il numero 7 print(somma("Ajeje", "Brazorv")) # Restituisce "AjejeBrazorv" Vero che Tizio avrebbe potuto scrivere due righe di codice in più per verificare i tipi dei parametri passati a gigetto, però è altrettanto vero che in java un problema non si sarebbe posto, perchè tizio avrebbe probabilmente scritto: public int gigetto(int a, int b) { return a + b; } e se Caio ci prova soltanto a scrivere: System.out.println(gigetto("Ajeje", "Brazorv")) Java s'incavola chiedendogli cosa diavolo vuole fare: "method gigetto in class X cannot be applied to given types required: int, int found: java.lang.String, java.lang.String" Io difatti per risolvere il problema alla radice in python scrivo: def gigetto(a, b): assert isinstance(a, int) assert isinstance(b, int) return a + b e questo mi aiuta ad ottenere un comportamento simile a quello di Java. Sono io che sbaglio qualcosa o è normale e ci devo fare l'abitudine ? _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python