Sono stato lì! Adoro sia OCaml che Erlang e li uso regolarmente.
Quando ho iniziato a utilizzare Erlang, ho avuto anni di esperienza con OCaml. Mi ci sono volute diverse settimane per adattarmi al fatto che nel compilatore non c'era un tipografo statico. Ma dopo, il dolore era completamente sparito.
In una certa misura, andare senza il typechecker è un esercizio utile. Per me è stata un'esperienza illuminante e mi ha davvero reso un programmatore migliore.
C'è, tuttavia, un typechecker statico esterno per Erlang chiamato Dializer. Lo trovo molto utile. Il problema è che devi chiamarlo separatamente ed è lento. Eseguirlo una volta ogni tanto (ad es. Prima di eseguire il codice o come parte di build automatizzate) funziona alla grande. Non ho mai provato a eseguirlo dopo ogni compilation in quanto sarebbe troppo di una distrazione per aspettare fino al completamento.
Può spiegare perché andare senza un coontrollore dei tipo è stato illuminante? Sei arrivato a pensare che i tipografi siano inutili nella tua esperienza? – mljrg
Esistono molte applicazioni in cui i tipografi sono estremamente utili. E funzionano come per magia in linguaggi come OCaml. Per me, un effetto collaterale di fare sempre affidamento su di loro era che la parte del mio cervello non prestava attenzione a un aspetto significativo di alto livello di un programma. Diventa qualcosa come un cieco e preferisco mantenere la piena consapevolezza e attenzione del programma che sto scrivendo. Detto questo, mi piacerebbe che ci fosse un migliore typechecker opzionale in Erlang. Non è possibile battere i typechecker per il refactoring e la collaborazione in quanto è impossibile mantenere lo stesso focus con tutto il codice in ogni momento. – alavrik