With AI becoming so predominant, I wonder if dynamically typed languages will lose favorability? Seems to me like a heavily documented, statically typed language is going to be ideal for AI programming. I'm wondering what role these flexible, coder-friendly, dynamically typed languages will play in the years to come.
That is a really good question. My personal intuition is that LLMs do well with any language as long as you set up for fast syntax checking tools, access to either a REPL or very fast to run tests, etc.
I usually use small local models, and the work to set up very concise skills and efficient tooling is a big part of the fun. I have also adopted the practice of writing my own custom coding harnesses (these can be less than 2000 lines of code, not the huge project you might expect.)
Actually, staticly typed languages are easier for both humans and machines; however dynamically typed languages are harder for humans and probably neutral for LLMs. LLM should be able to infer usage (hence "typing") because it can put the entire codebase in its context, while humans cannot.
I'd count in LLM coding agents favour: e.g. willingness and capability to do things which I'd have to go read a tutorial for; as well as rapidly being able to iterate and narrow down e.g. when given access to a repl.
Rhombus looks promising in terms of tooling.
On the other hand: LLMs are susceptible to incorrectly guessing "I think it should work this way".. I'd guess the powerful flexibility of metaprogramming could be more annoying than helpful. But, I'm curious.
Comments
With AI becoming so predominant, I wonder if dynamically typed languages will lose favorability? Seems to me like a heavily documented, statically typed language is going to be ideal for AI programming. I'm wondering what role these flexible, coder-friendly, dynamically typed languages will play in the years to come.
That is a really good question. My personal intuition is that LLMs do well with any language as long as you set up for fast syntax checking tools, access to either a REPL or very fast to run tests, etc.
I usually use small local models, and the work to set up very concise skills and efficient tooling is a big part of the fun. I have also adopted the practice of writing my own custom coding harnesses (these can be less than 2000 lines of code, not the huge project you might expect.)
Actually, staticly typed languages are easier for both humans and machines; however dynamically typed languages are harder for humans and probably neutral for LLMs. LLM should be able to infer usage (hence "typing") because it can put the entire codebase in its context, while humans cannot.
I'd count in LLM coding agents favour: e.g. willingness and capability to do things which I'd have to go read a tutorial for; as well as rapidly being able to iterate and narrow down e.g. when given access to a repl.
Rhombus looks promising in terms of tooling.
On the other hand: LLMs are susceptible to incorrectly guessing "I think it should work this way".. I'd guess the powerful flexibility of metaprogramming could be more annoying than helpful. But, I'm curious.