¡He estado allí! Amo tanto OCaml como Erlang y los uso regularmente.
Cuando comencé a usar Erlang, tenía años de experiencia con OCaml. Me llevó varias semanas adaptarme al hecho de que no hay ningún registrador de tilde estático en el compilador. Pero después de eso, el dolor desapareció por completo.
Hasta cierto punto, pasar sin el typechecker es un ejercicio que vale la pena. Para mí, fue una experiencia esclarecedora y realmente me hizo un mejor programador.
Hay, sin embargo, un contador de estado estático externo para Erlang llamado Dializer. Me resulta muy útil. El problema es que debe llamarlo por separado y es lento. Ejecutarlo de vez en cuando (por ejemplo, antes de confirmar el código o como compilaciones automáticas) funciona muy bien. Nunca intenté ejecutarlo después de cada compilación, ya que sería una gran distracción esperar hasta que se complete.
Puede explicar por qué ir sin typechecker fue esclarecedor? ¿Te vuelves para pensar que los typecheckers son inútiles en tu experiencia? – mljrg
Existen muchas aplicaciones en las que los typecheckers son tremendamente útiles. Y funcionan como magia en idiomas como OCaml. Para mí, un efecto secundario de confiar siempre en ellos fue que la parte de mi cerebro no estaba prestando atención a un aspecto significativo de alto nivel de un programa. Se convierte en algo así como un punto ciego y prefiero mantener la plena conciencia y concentración del programa que estoy escribiendo. Dicho esto, me gustaría que hubiese un mejor typechecker opcional en Erlang. No se puede vencer a los revisores de tipos para la refactorización y la colaboración, ya que es imposible mantener el mismo enfoque con todo el código en todo momento. – alavrik