News for hackers. Stuff that matters.
Re:The compiler was supposed to end programming too by pjmlp on Wednesday October 21, 2026 @03:12PM (#50186011)
Only for those not up to date with modern compilers and language runtimes.

The 1:1 is long gone, that is the UNIX K&R C days.

Modern compilers are full of heuristics, PGO driven optimizations, machine learning compiler passes, JIT compilers, and various kinds of GC implementations, the time of 1:1 mappings is long gone.

Re:The compiler was supposed to end programming too by jacquesm on Wednesday October 21, 2026 @03:16PM (#50186066)
I did say barring optimizations to ensure that that was taken into account. The link is a deterministic one, which is what matters. If the program would do something you did not program you'd see that as a compiler bug.
Re:The compiler was supposed to end programming too by nostrademons on Wednesday October 21, 2026 @03:27PM (#50186236)
There's a whole rats nest of undefined behavior (at least in languages like C, C++, PHP, and Perl) where it's very easy to write a syntactic utterance whose output is not deterministic, and the usual outcome is "your machine is now pwned". A significant portion of the Internet was taken offline this morning because of one, with numerous HN stories documenting it.

Newer languages consider this to be a misfeature, and have taken pains to define far more of the language semantics outright, even if the definition is simply "This is a compile error" or "This is a panic." It's interesting that we're now going back the opposite way with LLMs, with their ability to generate code that does something for any natural-language prompt being a major selling point.

Re:The compiler was supposed to end programming too by troauei on Wednesday October 21, 2026 @03:43PM (#50186505)
Yes, but only a portion of the languages are undefined behavior. The rest is fairly predictable.

Plus, these undefined behaviours are well-documented, even if easy to miss.

Whereas in LLMs, the whole thing is undefined behavior.

Re:The compiler was supposed to end programming too by kazinator on Wednesday October 21, 2026 @07:07PM (#50188910)
> Whereas in LLMs, the whole thing is undefined behavior.

Bingo!

When you exploit undefined behavior using a compiler, what do you do? You verify that its output, the object code, does what you intended with the undefined code. Or else you at least have to test the heck out of it.

Gee, what is all that similar to ...

Re:The compiler was supposed to end programming too by pjmlp on Wednesday October 21, 2026 @03:22PM (#50186150)
Yeah, but only toy compilers don't do optimizations.
Re:The compiler was supposed to end programming too by Veserv on Wednesday October 21, 2026 @03:37PM (#50186405)
Which is a strawman. They are clearly attempting to say that a compiler is supposed to generate a program that is semantically identical to the source code.

All observable and defined side effects should be identical otherwise you have a compiler bug. Optimizations that are not generically semantics preserving may be used, but should only be used where the program is semantically identical for your use case otherwise you have incorrectly used the options available in your compiler.

Re:The compiler was supposed to end programming too by pjmlp on Wednesday October 21, 2026 @03:50PM (#50186613)
But it isn't, anything goes as long the "as if" rule is kept.

For example a JIT compiler can produce completely different kinds of machine code depending on the application data that was processed, and the overall machine workload.

Re:The compiler was supposed to end programming too by Veserv on Wednesday October 21, 2026 @04:01PM (#50186803)
"as if" is what semantically identical means. As I further clarified: "All observable and defined side effects should be identical otherwise you have a compiler bug."

The output program does what the input source code does. The abstraction is a precise translation and non-leaky, it just admits multiple possible internals. That does not make the translation any less precise.

Re:The compiler was supposed to end programming too by pjmlp on Thursday October 22, 2026 @03:22AM (#50192261)
Yes, and just like with human intelligence offshoring projects, if the delivered microservice e.g. always sends the right email content when a notification lands, no one cares about the garbage underneath.
Re:The compiler was supposed to end programming too by john_strinlai on Wednesday October 21, 2026 @03:15PM (#50186062)
while true, this does not change the overall point the parent was making.

i cannot type "make me an exploit based on whatever these diffs fixed" into a compiler and get usable output. and i cannot type "make me a budget, here is 6 months of credit card receipts" into a compiler and get a budget. etc.

Re:The compiler was supposed to end programming too by xw333 on Wednesday October 21, 2026 @03:34PM (#50186355)
I'm not so sure about that in the generic sense.

This sentence from the article really stuck out to me.

> and you write the rule down so clearly that nobody (human or otherwise) has to guess again.

Writing rules, or steps, unambiguously in a high level language and having those statements translated to lower level languages, that ultimately get executed by a machine, is what compilers do.

The commands you gave were not unambiguous at all and although an LLM would produce a result, the result would definitely be nonsense.

"make me a budget, here is 6 months of credit card receipts"

For example, a valid budget requires some knowledge of expected income...

Re:The compiler was supposed to end programming too by john_strinlai on Wednesday October 21, 2026 @03:43PM (#50186507)
>For example, a valid budget requires some knowledge of expected income...

i forgot my golden rule of never giving examples or using analogies while on HN because people hyper focus on nitpicking the specifics of the example/analogy rather than the overall point being made.

amend my example to "make me a budget, here is 6 months of credit card receipts, and i make somewhere around $60k per year".

Re:The compiler was supposed to end programming too by xw333 on Wednesday October 21, 2026 @03:55PM (#50186692)
Actually I was really happy you included an example because it demonstrates just how hard is it to make a rule so clear that no one has to guess again. It requires adding all the detail and addressing all the nuance and before you know it, you're programming again. The structure of the language is irrelevant.
Re:The compiler was supposed to end programming too by jacquesm on Wednesday October 21, 2026 @03:46PM (#50186543)
> i forgot my golden rule of never giving examples or using analogies while on HN because people hyper focus on nitpicking the specifics of the example/analogy rather than the overall point being made.

Yes, this is a real problem. It is also directly against the guidelines.

Re:The compiler was supposed to end programming too by Someone on Wednesday October 21, 2026 @04:02PM (#50186811)
> Writing rules, or steps, unambiguously in a high level language and having those statements translated to lower level languages, that ultimately get executed by a machine, is what compilers do.

And it definitely is not what LLMs do, even if you pepper your rules with “NEVER, ever deviate from these rules”.

Re:The compiler was supposed to end programming too by pjmlp on Wednesday October 21, 2026 @03:20PM (#50186127)
Learn to use low code, no code tools with agentic workflows.

Here are some suggestions,

Workato, Boomi, Sitecore AI, Optimizely Opal, Workfront AI...

You will naturally have to split the budget calculation in a few agentic nodes, and maybe a couple of tools.

Re:The compiler was supposed to end programming too by john_strinlai on Wednesday October 21, 2026 @03:23PM (#50186152)
>no code tools with agentic workflows. [...] a few agentic nodes, and maybe a couple of tools

i thought we were talking about compilers vs. llms.

Re:The compiler was supposed to end programming too by pjmlp on Wednesday October 21, 2026 @03:26PM (#50186217)
Compilers are one way to implement execution workflows, which can be surfaced in many forms.

Agentic programming tools are nothing other than the old ideas from UML code generation in a new package.

Re:The compiler was supposed to end programming too by jacquesm on Wednesday October 21, 2026 @09:07PM (#50189843)
> Agentic programming tools are nothing other than the old ideas from UML code generation in a new package.

Not sure I agree with that. That was still a transformation of sorts.

Re:The compiler was supposed to end programming too by pjmlp on Thursday October 22, 2026 @03:24AM (#50192278)
Written in natural language in a couple of visually connected boxes, without any visible translation to a "legacy" programming languages.

https://boomi.com/platform/agentstudio

Re:The compiler was supposed to end programming too by cwnyth on Wednesday October 21, 2026 @03:23PM (#50186160)
I'm not sure you're even reading the comments to which you're replying.
Re:The compiler was supposed to end programming too by pjmlp on Wednesday October 21, 2026 @03:27PM (#50186237)
More like some people are in denial where we unfortunately are all going, the dream of 4 GLs predating previous AI winter.

Better accept that in a few more model iterations, the code being generated is a matter of changing a markdown file.

Re:The compiler was supposed to end programming too by Ygg2 on Thursday October 22, 2026 @05:56AM (#50193319)
Even with optimizations, if you keep your backend same same code with same flag will return identical binary (modulo datetime and file location being for some reason embedded).

Same query to same AI, at different times of day will might not return the same answer. For example I wrote some docs for a class that had 14 methods. So I asked for autocomplete docs in 2 methods, and it followed other method comments well well. Then I asked to do the same task for 2 more methods and it fucked up, requiring manual edits.