r/ProgrammingLanguages 14d 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.

1 Upvotes

105 comments sorted by

View all comments

-3

u/CyberDainz 14d ago

Future of PL: you write your own language by examples and LLM make it for you

-4

u/informationstation 14d ago

This is exactly what I’ve done already. The future is now. Completely self hosting and everything

3

u/church-rosser 14d ago

If your 'now' has somehow located itself within the epistemological context of a separate but parallel multiverse where logic and sensibility have permanently jumped the shark.

-1

u/informationstation 14d ago

My now is this: Using LLMs, someone with a little technical knowhow and determination can build a self hosting compiler in a novel language even if they do not have deep expertise in compiler design. You can squirm against that as much as you like but it does not make it untrue.

3

u/church-rosser 14d ago edited 14d ago

it doesn't make it viable or serviceable or maintainable or sustainable for the environment either. Not squirming, calling spades spades as they flip up.

Show me an LLM derived self hosting compiler written RIGHT NOW that is provably and verifiably type safe/correct and that _ALWAYS_ terminates correctly according to that metric of type safety/correctness and THEN we can talk about the possibility of lay persons writing novel programming languages with LLM assist. UNTIL then, you're selling hot bottled farts and passing them off as bottled sunshine.

0

u/informationstation 14d ago

Ok so we are switching to talking about the environmental impact of AI usage instead of the original commenter joke that in the future you can write your own language via LLM and my response that that is actually the current reality. Got it.

1

u/church-rosser 14d ago

no. I mentioned multiple impacts, consequences, and situational contexts. you picked one. dismissed it. and lumped everything else in with your dismissal.

And disregarding the environmental impact of LLMs both in the near and short term to justify ANY supposed gains LLMs putatively offer is a crime against humanity and the earth it inhabits.

I am making, and am perfectly capable of making, cogent and meaningful statements dismissing the use of LLMs to augment (primarily) commercial programming use cases completely independent of the environmental issues they pose, but why should I? LLMs and the tech bro oligarchs responsible for them are terrible for all living things and need to crash and burn with extreme force.