I’ve noticed that dynamically typed programming languages, such as Python and R, are used much more often for statistical & machine learning tasks than languages with more stringent type systems. Statically typed languages tend to have a scarcer supply of feature-complete libraries for this class of application.
As I understand it (which is to say, not very well), dynamically typed languages often have robust facilities for procedurally generating, updating, and visualizing models—features that aren’t nearly as mature or extensible in statically typed implementations. All the same, many statically typed languages allow the programmer to directly represent properties of, and relationships between, objects within the program, instead of just leaving these implicit. One might think that this could act as a strength when it comes to domains such as machine learning… apparently not, or maybe not enough.
Why is this? What is the correlation between “loose” typing and ease of implementation for machine learning data structures & algorithms? I would greatly appreciate it if someone with experience in AI/ML—potentially in a statically typed language!—could give their two cents. But of course, anyone is welcome to take a stab.