Live data from Hacker News

Why care about programming languages

ebellani.github.io

51–60 of 70 posts

Re: Why care about programming languages

#51
post #8

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 in…

As a side note, I previously commented somewhere else that, if a language has a terse way and a verbose way to do the same thing, preferring the terse way might be more economical because it saves bunch of tokens for the LLM. But for humans to review the code, we may need some mechanism to translate the code from terse way to the verbose way, if the human has a hard time understanding the terse code. > If you were st…

> we may need some mechanism to translate the code from terse way to the verbose way

I completely agree. Nothing says humans need to read in exactly the syntax the model wrote. We could give the model a typed lisp, or forth, or rebol, or whatever works best, and it could be formatted into LaTeX with infix operators for the humans.

This was true before LLMs though. So many people love curlies or love indentation, love 2 spaces or 4 spaces. Programmers have been married to text files as the authoritative source, using grep to search, patches to update. The expressions could be rows in a database. Then finding and formatting are done as views from that.

> I know quite a few non-technical people that started vibe-coding this year and got good results for their ideas.

Me too, but a few of them hit limits. A couple months ago, I'd say vibe coding fell apart at 2k loc or something. It goes further now, but I think it's fragile after you take the "one shot prompt" and try to make significant changes once the pattern is set. There's probably a way to push these limits much further out so that non-programmers can do more, focusing on what they care about, and not bogged down in programming details they don't.

Re: Why care about programming languages

#52
post #42

> In the AI age, understanding these concepts becomes more important, not less—they are what separate those who merely prompt from those who truly engineer. But doesn't that sound like cope? It's like an old ASM programmer telling himself that his obscure assembly knowledge will surely still give him great advantages as he is forced to switch to React.js development.

>It's like an old ASM programmer telling himself that his obscure assembly knowledge will surely still give him great advantages as he is forced to switch to React.js development.

The engineers that are truly skilled in writing pure assembly wouldn't be forced to switch to React. The existence of higher level languages doesn't mean lower level languages are useless.

Re: Why care about programming languages

#53

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 understan…

That was Yacine Twitter account and it’s false. You can delegate the task of understanding. This looks like a popular folk theory that also falls under scrutiny.

Unless you have the technology from The Matrix which can inject knowledge into your brain, then no, you definitely cannot delegate understanding.

You can delegate the responsibility of understanding to an LLM, but that is not the same.

Re: Why care about programming languages

#54

My big problem is that nobody is working on truly innovative programming languages anymore. Everyone wants to build another iteration of a C style language with incremental improvement for little benefit. The problem is that we probably reached the general purpose frontier a long time ago and there are just a few surface level things that need to be changed here and there, which is not worth a whole new language. It…

>My big problem is that nobody is working on truly innovative programming languages anymore.

How many languages are truly innovative? I'd say the most recent example is Rust, as you mentioned, being innovative with its borrow checker, but what other recent languages really are?

Many modern languages are not innovative, but just add quality of life features. A good example is Kotlin: Just another JVM language, nothing revolutionary, but I enjoy writing it over Java.

>It goes against the programmer's ego, but the way forward is by adding more restrictions. The people complaining about the borrow checker in Rust just don't get it. If you want programming to improve, you will have to give up the ability to write every conceivable program.

I agree and also disagree. The "ability to write every conceivable program" also means writing programs that are faulty. Maybe that's your point, in which case I don't consider it a bad thing to limit the ability to do so.

A language like C let's you fuck around and find out. It's powerful and "easy". As the saying goes, it gives you a gun and doesn't stop you from shooting yourself in the foot.

Re: Why care about programming languages

#55
post #30
post #24

Earlier quoted context omitted.

> escape hatches for performance These allow the model to cheat in ways that are harder to detect. In actually pure FP you can be sure that it's not counting function invocations to bypass tests.

Yeah, but sorting algs, FFTs, matrix factorizations, backprop, and many other things just aren't the same with purely functional data structures. Maybe these well known cases could be hidden in the API, but it's easy to come up with other examples. I forget what Clojure calls it, but they have some notion about things where they're mutable during "birth" and then locked down. Someone smarter than me knows how to do t…

That sounds like Haskell's ST monad and yeah, that could work. These are very specific "escape hatches" though and typically people want more.

Re: Why care about programming languages

#56
post #52
post #42

> In the AI age, understanding these concepts becomes more important, not less—they are what separate those who merely prompt from those who truly engineer. But doesn't that sound like cope? It's like an old ASM programmer telling himself that his obscure assembly knowledge will surely still give him great advantages as he is forced to switch to React.js development.

>It's like an old ASM programmer telling himself that his obscure assembly knowledge will surely still give him great advantages as he is forced to switch to React.js development. The engineers that are truly skilled in writing pure assembly wouldn't be forced to switch to React. The existence of higher level languages doesn't mean lower level languages are useless.

I'm pretty sure that nowadays much less assembly is written than a few decades ago. Even video games used to be written in assembly. So the demand for assembly programmers went down, and the skill became less useful, unless the supply went down by the same amount.

Re: Why care about programming languages

#57
post #55
post #30

Earlier quoted context omitted.

Yeah, but sorting algs, FFTs, matrix factorizations, backprop, and many other things just aren't the same with purely functional data structures. Maybe these well known cases could be hidden in the API, but it's easy to come up with other examples. I forget what Clojure calls it, but they have some notion about things where they're mutable during "birth" and then locked down. Someone smarter than me knows how to do t…

That sounds like Haskell's ST monad and yeah, that could work. These are very specific "escape hatches" though and typically people want more.

As far as I can tell, the good models will use whatever you give them. So it seems we should only give them language features that help humans understand and maintain what the model writes.

Amusingly, a friend had Claude write some BrainF*ck the other day. Non-trivial algorithm, and it made working code on the first try.

Re: Why care about programming languages

#58

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 understan…

This is absolutely the headache I’m having today, an enthusiastic contributor pasting AI generated wall-of-text comments to justify their 500 line PR. How can we have a conversation and reach a shared understanding if one of the participants is avoiding attempting to understand the problem? I have no problem with AI generated code, provided it’s reviewed, but I might as well be talking to a brick wall if the person h…

> his is absolutely the headache I’m having today, an enthusiastic contributor pasting AI generated wall-of-text comments to justify their 500 line PR.

Easily solved - call that contributor into a meeting to explain their PR. If they cannot explain it verbally, it would be made clear to them why it cannot be approved without you having to actually say anything.

In the good old days (SVN), code reviews at places I worked at were done by booking one of the many small rooms and throwing the diff up on a projector. The author could defend, explain, etc.

Maybe we'll have to return to that type of code review from now on.

Re: Why care about programming languages

#59
post #15

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 understan…

> 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, preconditi…

> I wish we had a language that was targeted specifically for LLMs to write and humans and LLMs to inspect:

How would this help? LLMs are fine with existing languages' syntax, semantics, idioms, etc. Where they fall over is in understanding intent of a prompt within the context of architecture, systems, roadmap, etc.

Re: Why care about programming languages

#60

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 understan…

Do you understand every line of code written by everyone else on your team? I doubt it. But if you ever need to work with their code, that's when you might need to understand it. So, treat an AI agent like another teammate.
Post reply on HN