I’ve found coding assistance to be pretty lacklustre myself as well. That said, one area where language models might actually be good is emulating a type system for dynamic languages. Given how good these things are at figuring out general shape of the code, I suspect they could fairly accurately tell you argument and return types for functions. And you could probably get away with a pretty small model if it only targets a specific language.
Dedicated incremental static type checkers for dynamic languages already exist. In particular, Pyright for Python is fantastic and in many ways surpasses the type systems of classic typed languages
I’m not too familiar with tooling for Python, but my experience is that you get fairly limited support in dynamic languages unless you start adding hints. Ultimately, a static type checker can’t resolve information that’s not there.
How do the SaaS AI code assistants work? I am guessing they have to send the entire file or the codebase to their datacenter. Won’t this be a problem for corporations who want to protect their codebase?
The corporations have their own contracts with e.g. Microsoft/OpenAI. The data will likely be sent the same way as with the public tools, but the providers promise not to use it for other purposes.
I think it’s definitely an issue that the code gets sent over. While, as onoki points out, the providers promise to keep the data private this still opens up a problem that their infrastructure could be compromised.