AI coding assistants bring us the next level of autocomplete. Will this lead to a growing preference for dynamic languages?

Dynamic versus static languages

Although I’ve been a Java developer for the most part of my career, I have always been a fan of dynamic languages like Groovy, Python and JavaScript.

One of the advantages of static typed languages, is better tooling and autocomplete. When pair programming with colleagues in Python, the constantly switching between EDI and Google, is what they dislike the most.

But as noted by Uncle Bob and others:

Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …

Dynamic languages are typically more expressive and less verbose than static languages (I rewrote an internal Java library in Python, reducing the lines of code to 1/3 and reducing the cyclomatic complexity to 1/10!).

GitHub Copilot

Last week I started using the GitHub Copilot IntelliJ plugin again after a few months of absence.

I was pleasantly surprised by the quality of the suggestions. At times its suggestions were ahead of what I was thinking. Even for this blog post, I only had to type half of the words.

So my question is:

Will AI coding assistants lead to more developers choosing dynamic languages?

As the AI coding assistants are closing the tooling gap, my guess is that they will strengthen Python’s position as the most popular language.

Comments