Sembra che tutti i nuovi linguaggi di programmazione o almeno quelli diventati popolari utilizzino l'inferenza di tipo. Anche Javascript ha ottenuto tipi e inferenza di tipo attraverso varie implementazioni (Acrittico, dattiloscritto ecc.). Mi sembra fantastico ma mi chiedo se ci sono dei compromessi o perché diciamo che Java o le vecchie buone lingue non hanno inferenza di tipo
- Quando dichiari una variabile in Vai senza specificarne il tipo (usando var senza un tipo o la sintassi: =), il tipo della variabile viene dedotto dal valore sul lato destro.
- D consente di scrivere frammenti di codice di grandi dimensioni senza specificare in modo ridondante i tipi, come fanno i linguaggi dinamici. D'altra parte, l'inferenza statica deduce tipi e altre proprietà del codice, dando il meglio dei mondi statici e dinamici.
- Il motore di inferenza del tipo in Rust è abbastanza intelligente. Fa più che guardare il tipo del valore r durante un'inizializzazione. Guarda anche come la variabile viene utilizzata in seguito per dedurne il tipo.
- Swift utilizza l'inferenza del tipo per elaborare il tipo appropriato. L'inferenza di tipo consente a un compilatore di dedurre automaticamente il tipo di un'espressione particolare quando compila il codice, semplicemente esaminando i valori forniti.