Non è che Python non possa, ma non è così. La differenza sta nei sistemi di tipi che i designer delle lingue scelgono di seguire.
Python utilizza la digitazione anatra e ha digitato oggetti ma nomi di variabili non tipizzate. I vincoli di tipo non vengono controllati in fase di compilazione; piuttosto, le operazioni su un oggetto potrebbero fallire, a significare che l'oggetto dato non è di un tipo adatto. Nonostante sia digitato in modo dinamico, Python è fortemente digitato, impedendo operazioni che non sono ben definite (ad esempio, aggiungendo un numero a una stringa), piuttosto che cercare silenziosamente di capirle.
Scala è un linguaggio tipizzato staticamente, ovvero i tipi vengono controllati in fase di compilazione. Un meccanismo di inferenza di tipo locale si preoccupa che all'utente non sia richiesto di annotare il programma con informazioni di tipo ridondanti. Le operazioni che interrompono i vincoli di tipo portano a errori del compilatore, non a errori di runtime. Vedi anche The Purpose of Scala's Type System, in particolare la sezione in cui viene discussa la digitazione anatra.
fonte
2010-10-20 07:14:59
Scala ha tipi. Basta non doverli digitare tutto il tempo (gioco di parole). – Thilo
Non penso che sia un duplicato. L'altra domanda riguarda più "perché Python non ha bisogno di digitare affatto". – Thilo
@Emil: Perché tutti vogliono che tutto il linguaggio di programmazione sia uguale? – pyfunc