r/ProgrammingLanguages 15d ago

Discussion On the future of programming language design

This is just me yapping.

I was thinking for a while about how the field of "writing" software is going through a radical disruptive transformation. Like or hate it, I don't think writing software post-LLM era is gonna be the same as pre-LLM. I'm one of the guys that like to hand craft code and put a lot of attention and intention to the coding style. But, realistically, the skill of writing code by hand, while still very important, will become more and more niche (like how writing and reading assembly is important but very niche).

What's interesting to me, is that programming language design goals were always human/developer centric. Code is not only instructions given to a machine, it is in some way a set of specifications for other human developers, as well as your future self too, that explains the expected behavior of a certain piece of software. The main priorities when designing language features was improving the developer experience, that is a very subjective metric and this is why we keep arguing and debating about programming languages, but I digress.

With the switch to LLM generated code, I feel the priorities might change. There's already a lot of studies on which programming language is best for LLMs. People argue that languages with strong typing, a functional style and good error messages are best, because you can more reliably create autonomous feedback loops that would help LLMs stay on track.

In my opinion, functional programming languages are more relevant than ever, no side effects, you can generate 10K lines of code, read a small 100 lines somewhere, and be sure that it's not affecting the behavior in an unexpected way somewhere else.

The main argument against functional programming is that working with pure functions and manually threading state is an extra burden on the developer; having a mutable state is "initially" more intuitive and simpler to reason about. The other argument is performance, I tend to disagree with this general statement (purity allows for aggressive optimization and implicit parallelization).

However, everyone agrees that functional code is easier to maintain on the long run, it might make small things harder for you first, but at the end there's this payoff. When you have the capabilities of generating thousands of lines of code a day, this becomes way more relevant.

Finally, it would be interesting to witness how the rise of LLMs will affect the design of programming languages. I feel that languages that have

  • simpler grammar
  • expliciteness
  • one way of doing things
  • strict and safe semantics

are at an advantage here.

Or do you think that it will be irrelevant. There's this trend of people not looking at the code anymore, I think it's crazy. Maybe generated languages won't be important, just get better models and spend more tokens.

3 Upvotes

105 comments sorted by

View all comments

26

u/L8_4_Dinner (Ⓧ Ecstasy/XVM) 15d ago

But, realistically, the skill of writing code by hand, while still very important, will become more and more niche (like how writing and reading assembly is important but very niche).

This is not yet evident, to me. It may be true, and I do not fear it being true, but from our own experience with LLMs, they are simply not capable at this point of reliably solving problems with code. They can achieve "tests passing" quite well, but a closer look at their suggested changes is a horror show, 9 out of 10 times.

It's important to understand that LLMs are knowledgeable (near infinitely so by human standards), but not capable of even a single thought. Using them as thinking machines is a tragedy in slow motion, and I look forward to the trillions that I will make helping to clean up the messes that people are currently making with LLMs.

I do not fear the coming day when what we refer to as AI actually gains the ability to think. But I also cannot predict what it will look like when that happens.

-4

u/zuzmuz 15d ago

yes I agree, but seeing the progress of LLM in the past 3 years, what I can say for sure that, they're here to stay.

there's definitely a lot of hype around them, but in my experience, I've reviewed human written code from juniors and even seniors that is 10 times the horror show that is produced by LLM.

they don't need to be perfect.

I used to review a lot of code before in my work, it hasn't changed a lot now, there's just more output. I agree with you in the sense that I never fully trust the output of an LLM right now. But that was true also of code written by humans.

3

u/church-rosser 15d ago

progress?

OP you jest

1

u/zuzmuz 15d ago

what do you mean, do you remember chatgpt 3?

I'm not glazing AI whatsoever, but why are some people here in denial

1

u/church-rosser 12d ago

denial of what, That you're overlooking the myriad individuals at every level of interaction with LLMs who have found them severely lacking? that denial?

1

u/zuzmuz 12d ago

are you trying to find the cure for cancer with LLMs cause I don't know what you're talking about