HACKER Q&A
📣 jamesralph8555

Python’s Prospects in a Copiloted World


Given that models are emerging that can write code at a competent level, do you think the attractiveness of dynamically typed languages like python will diminish while statically typed languages like C++ and rust will become more popular?

My thought process here is that languages like python are easy for humans to write, but hard for computers to validate. The advantages somewhat go away when code can be written by a model. Meanwhile, the disadvantages such as poorer maintainability and performance of these languages would still exist.


  👤 tacostakohashi Accepted Answer ✓
I see this cycle where simplified "scripting" languages for "non-programmers" never last.

See: BASIC, perl, php, 4GL languages, etc.

The cycle goes like this:

1. A new simplified language for non-programmers is created

2. Non-programmers jump on board and get as far as they can...

3. Now they need just a little bit more from the language, so it is added (for perl, that was perl5 with OO, use strict, etc, for php, also the OO stuff when they turned it into java, for python, it's python3)

4. The non-programmers have become programmers, and the language has become a bit of a mess, so former non-programmers jump to C++ or Java or Clojure, and next generation of non-programmers don't like the look of the now complicated mess of a language, so back to step 1.

I guess it also doesn't help that a lot of these non-programmer languages are tightly coupled with some particular use case, like server side web apps for php, or "data science" for php, once that goes away, there isn't much of a general-purpose language left.

Anyway, yes, the appeal of C++, rust, Java, etc is definitely more stable over time - nobody learns those because they are simple, and drops them when it turns out not to be the case.


👤 qup
I think that we'll have to keep optimizing for human readability while we still cannot trust the code.

In the future, perhaps we can let it write whatever language best suits the task. Or perhaps we'll design a programming language specifically intended to be used by LLMs. (Or let the LLMs design it)


👤 jawmes8
Anecdotally, using GPT-4 with Typescript has made its code output much cleaner.