Rendered at 06:50:08 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
ulrikrasmussen 51 minutes ago [-]
Can't remember who said it, but I think the most poignant commentary about the prospects of LLMs completely replacing humans is the simple observation that yes, you can delegate many if not all of your tasks requiring thinking to LLMs, but it is inherently impossible to delegate the task of understanding. If you hope to write an efficient prompt which gives you what you think you want, you need to actually understand what you want, which also requires you to understand what you currently have. Programming languages are a medium for transferring and - not the least - maintaining shared understanding of a software system in terms of the basic abstractions that the programming language provides. The need for good programming languages does not go away just because we use LLMs to write the code, on the contrary: would you rather review LLM-written assembly or LLM-written Haskell?
xscott 2 minutes ago [-]
> would you rather review LLM-written assembly or LLM-written Haskell?
I wish we had a language that was targeted specifically for LLMs to write and humans and LLMs to inspect:
- Simple robust syntax
- One obvious way to do things
- Static type checking
- Purely functional encouraged, escape hatches for performance
- Inspect-able, testable, and reviewable in small pieces
- Something like formal predicates, preconditions, post-conditions, assertions, or effects typing
Giving LLMs all the surface area of Python, JavaScript, TypeScript, or C++ seems like a huge mistake. It's amazing it works as well as it does. Well written Haskell is beautiful, but there are way too many ways to write Haskell:
There's a lot that's worth thinking about and discussing on this topic, but it's too loaded with emotional stuff for many people to hope for a productive discussion.
I'm a programming languages nerd. I was paid to program in over 20 different languages over my 25 year career. I read up on many more languages along the way, and I wrote pet projects in a few of those. I've written a couple assemblers, compilers, and interpreters for my own languages.
I think literally everyone should be taught to program in elementary school. It's arguably one of the best ways to teach logical thought and careful organization of ideas. I like Alan Perlis's quote: You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program.
With all of that out of the way, I think there are interesting questions to ask going forward:
If you were starting a business for a great software idea, with your own savings on the line, would you hire 10 AI hostile programmers to implement the idea or 2 AI friendly people and get them some subscriptions to the top models? Remember: if it doesn't come together, it's YOUR money on the line.
What are the best programming languages for LLMs to program with? Could someone design a better language that fits their strengths and weaknesses? I think the most popular human languages have way too much affordance for concerns that don't apply to models. I think letting LLMs program in human friendly languages makes the results more difficult for humans to inspect. There's a slight chicken and egg problem based on the training sets used by large models, but this can be addressed with LoRA tuning and similar techniques for open weight models.
How can we make LLMs scale better so that people who don't like to program can get better "vibe coding" results? Tools like Excel are huge force multipliers for so many people who aren't interested in writing traditional code. I think it should be possible for non-programmers to solve their own problems and trust the results without becoming programmers.
Anyways, I've got my own partially formed answers to those questions, but I'd like to hear what other people who aren't still suffering stages of LLM programming grief have to say and ask.
kfreds 7 minutes ago [-]
I agree. I believe LLMs are ushering in a new golden age for programming language design and implementation.
steve1977 9 minutes ago [-]
> I think letting LLMs program in human friendly languages makes the results more difficult for humans to inspect.
Does it? I think for example Ruby seems to work quite well with LLMs in this regard. Or is this not what you would consider human friendly?
lwansbrough 9 minutes ago [-]
Why stop there though? My harness writes WAT directly and compiles with wasmtime.
It’s very fast and very difficult to read.
remiminnebo 3 minutes ago [-]
English has become the new programming language
kusokurae 1 hours ago [-]
Any and all discussion that suggests the deprecation of human-held domain-specific, manually-able knowledge & skill, on the basis of LLM capacity, is propaganda.
alpha_trion 1 hours ago [-]
I think a lot of folks in the industry are feeling this way. It’s an existential crisis for many of us right now. Why bother progressing when slop is “good enough”? Some of us still care but I have a feeling there are a lot of people that don’t.
kusokurae 59 minutes ago [-]
Good enough IFF you are dealing with a cute web app or simple SAAS or something.
Software engineers feeling down should think about software designed to track medication administration, or validate their tax calculations, or to decide whether to flag you for a CIFAS marker, or whatever, and then imagine the generic "fuck it, that'll do" type vibecoder-level-engineer handling the code.
geraneum 9 minutes ago [-]
Even on a less dangerous level, repeated mistakes can be detrimental to your business. Imagine a typical ecommerce app for selling anything. Mess with people’s orders and money and you’ll go out of business or get sued or get a bad reputation. This not even about AI, it’s just how business works.
yuye 36 minutes ago [-]
>Software engineers feeling down should think about software designed to track medication administration, or validate their tax calculations, or to decide whether to flag you for a CIFAS marker, or whatever, and then imagine the generic "fuck it, that'll do" type vibecoder-level-engineer handling the code.
That makes me feel even more down, because I know this will happen.
ulrikrasmussen 47 minutes ago [-]
There's very little evidence, if any, to suggest that slop is actually "good enough". I have interacted with multiple apps that clearly were written using AI by people who did not actually spend the time understanding what was made, and it most certainly was not an experience that I would classify as "good enough".
I know this may be some kind of reverse survivorship bias and that I simply do not notice all of the slop around me that somehow is truly "good enough", but I think I need to see some concrete examples to convince me.
ozim 9 minutes ago [-]
Do you care about each and every single app you encounter?
Maybe you use your 2-10 apps and that’s it? Do you even let’s say — for the excercise sake — use those apps fully, each and every screen?
I use dozens of apps, most of functionality from the ones I need is a single flow or function.
I don’t care about setting my avatars or filling „user details” unless it is a delivery app or a shop. Most frameworks have boilerplate for that but there are dozens of such screens that don’t have boilerplate yet those are nice to have even if not used by 90% of users.
I wish we had a language that was targeted specifically for LLMs to write and humans and LLMs to inspect:
- Simple robust syntax
- One obvious way to do things
- Static type checking
- Purely functional encouraged, escape hatches for performance
- Inspect-able, testable, and reviewable in small pieces
- Something like formal predicates, preconditions, post-conditions, assertions, or effects typing
Giving LLMs all the surface area of Python, JavaScript, TypeScript, or C++ seems like a huge mistake. It's amazing it works as well as it does. Well written Haskell is beautiful, but there are way too many ways to write Haskell:
https://people.willamette.edu/~fruehr/haskell/evolution.html
I'm a programming languages nerd. I was paid to program in over 20 different languages over my 25 year career. I read up on many more languages along the way, and I wrote pet projects in a few of those. I've written a couple assemblers, compilers, and interpreters for my own languages.
I think literally everyone should be taught to program in elementary school. It's arguably one of the best ways to teach logical thought and careful organization of ideas. I like Alan Perlis's quote: You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program.
With all of that out of the way, I think there are interesting questions to ask going forward:
If you were starting a business for a great software idea, with your own savings on the line, would you hire 10 AI hostile programmers to implement the idea or 2 AI friendly people and get them some subscriptions to the top models? Remember: if it doesn't come together, it's YOUR money on the line.
What are the best programming languages for LLMs to program with? Could someone design a better language that fits their strengths and weaknesses? I think the most popular human languages have way too much affordance for concerns that don't apply to models. I think letting LLMs program in human friendly languages makes the results more difficult for humans to inspect. There's a slight chicken and egg problem based on the training sets used by large models, but this can be addressed with LoRA tuning and similar techniques for open weight models.
How can we make LLMs scale better so that people who don't like to program can get better "vibe coding" results? Tools like Excel are huge force multipliers for so many people who aren't interested in writing traditional code. I think it should be possible for non-programmers to solve their own problems and trust the results without becoming programmers.
Anyways, I've got my own partially formed answers to those questions, but I'd like to hear what other people who aren't still suffering stages of LLM programming grief have to say and ask.
Does it? I think for example Ruby seems to work quite well with LLMs in this regard. Or is this not what you would consider human friendly?
It’s very fast and very difficult to read.
Software engineers feeling down should think about software designed to track medication administration, or validate their tax calculations, or to decide whether to flag you for a CIFAS marker, or whatever, and then imagine the generic "fuck it, that'll do" type vibecoder-level-engineer handling the code.
That makes me feel even more down, because I know this will happen.
I know this may be some kind of reverse survivorship bias and that I simply do not notice all of the slop around me that somehow is truly "good enough", but I think I need to see some concrete examples to convince me.
Maybe you use your 2-10 apps and that’s it? Do you even let’s say — for the excercise sake — use those apps fully, each and every screen?
I use dozens of apps, most of functionality from the ones I need is a single flow or function.
I don’t care about setting my avatars or filling „user details” unless it is a delivery app or a shop. Most frameworks have boilerplate for that but there are dozens of such screens that don’t have boilerplate yet those are nice to have even if not used by 90% of users.