News for hackers. Stuff that matters.
Re:Chat is a bad UI pattern for development tools by croes on Tuesday February 04, 2025 @11:22AM (#42934439)
Natural language isn’t made to be precise that’s why we use a subset in programming languages.

So you either need lots of extra text to remove the ambiguity of natural language if you use AI or you need a special precise subset to communicate with AI and that’s just programming with extra steps.

Re:Chat is a bad UI pattern for development tools by kokanee on Tuesday February 04, 2025 @12:17PM (#42935464)
> or you need a special precise subset to communicate with AI

haha, I just imagined sending TypeScript to ChatGPT and having it spit my TypeScript back to me. "See guys, if you just use Turing-complete logically unambiguous input, you get perfect output!"

Re:Chat is a bad UI pattern for development tools by charlieyu1 on Wednesday February 05, 2025 @06:51AM (#42947232)
I guess we could have LLM to translate natural language to some precise subset, get it processed, then translate the output back to natural language
Re:Chat is a bad UI pattern for development tools by Klaster_1 on Tuesday February 04, 2025 @11:33AM (#42934619)
A lot of extra text usually means prior requirements, meeting transcripts, screen share recordings, chat history, Jira tickets and so on - the same information developers use to produce a result that satisfies the stakeholders and does the job. This seems like a straightforward direction solvable with more compute and more efficient memory. I think this will be the way it pans outs.

Real projects don't require an infinitely detailed specification either, you usually stop where it no longer meaningfully moves you towards the goal.

The whole premise of AI developer automation, IMO, is that if a human can develop a thing, then AI should be able too, given the same input.

Re:Chat is a bad UI pattern for development tools by cube2222 on Tuesday February 04, 2025 @11:40AM (#42934735)
We are kind of actually there already.

With a 200k token window like Claude has you can already dump a lot of design docs / transcripts / etc. at it.

Re:Chat is a bad UI pattern for development tools by rightisleft on Tuesday February 04, 2025 @11:47AM (#42934887)
Its all about the context window. Even the new Mistral Codestral-2501 256K CW does a great job.

If you use cline with any large context model the results can be pretty amazing. It's not close to self guiding, You still need to break down and analyze the problem and provide clear and relevant instructions. IE you need to be a great architect. Once you are stable on the direction, its awe inspiring to watch it do the bulk if the implementation.

I do agree that there is space to improve over embedded chat windows in IDEs. Solutions will come in time.

Re:Chat is a bad UI pattern for development tools by selectodude on Tuesday February 04, 2025 @12:17PM (#42935476)
Issue I have with Cline that I don't run into with, say, Aider, is that I find Cline to be like 10x more expensive. The number of tokens it blows through is incredible. Is that just me?
Re:Chat is a bad UI pattern for development tools by mollyporph on Tuesday February 04, 2025 @11:48AM (#42934908)
And Gemini has 2m token window. Which is about 10 minutes of video for example.
Re:Chat is a bad UI pattern for development tools by throwaway290 on Tuesday February 04, 2025 @11:41AM (#42934760)
idk if you think all those jira tickets and meetings are precise enough (IMO sometimes the opposite)

By the way, remind me why you need design meetings in that ideal world?:)

> Real projects don't require an infinitely detailed specification either, you usually stop where it no longer meaningfully moves you towards the goal.

The point was that specification is not detailed enough in practice. Precise enough specification IS code. And the point is literally that natural language is just not made to be precise enough. So you are back where you started

So you waste time explaining in detail and rehashing requirements in this imprecise language until you see what code you want to see. Which was faster to just... idk.. type.

Re:Chat is a bad UI pattern for development tools by Klaster_1 on Tuesday February 04, 2025 @11:47AM (#42934892)
That's a fair point, I'd love to see Copilot come to a conclusion that they can't resolve a particular conundrum and communicates with other people so everyone makes a decision together.
Re:Chat is a bad UI pattern for development tools by falcor84 on Tuesday February 04, 2025 @11:43AM (#42934814)
Even if you have superhuman AI designers, you still need buy-in.
Re:Chat is a bad UI pattern for development tools by uoaei on Tuesday February 04, 2025 @11:46AM (#42934859)
There's a nice thought, that anyone with that kind of power would share it.
Re:Chat is a bad UI pattern for development tools by layer8 on Tuesday February 04, 2025 @01:04PM (#42936203)
This premise in your last paragraph can only work with AGI, and we’re probably not close to that yet.
Re:Chat is a bad UI pattern for development tools by pjc50 on Tuesday February 04, 2025 @11:40AM (#42934747)
There was a wave of this previously in programming: https://en.wikipedia.org/wiki/The_Last_One_(software)

All the same buzzwords, including "AI"! In 1981!

Re:Chat is a bad UI pattern for development tools by spacemanspiff01 on Tuesday February 04, 2025 @11:37AM (#42934686)
Or a proposal/feedback process. Ala you are hired by non technical person to build something, you generate requirements and a proposed solution. You then propose that solution, they give feedback.

Having a feedback loop is the only way viable for this. Sure, the client could give you a book on what they want, but often people do not know their edge cases, what issues may arise/etc.

Re:Chat is a bad UI pattern for development tools by dylan604 on Tuesday February 04, 2025 @11:48AM (#42934909)
> and that’s just programming with extra steps.

If you know how to program, then I agree and part of why I don't see the point. If you don't know how to program, than the prompt isn't much different than providing the specs/requirements to a programmer.

Re:Chat is a bad UI pattern for development tools by oxfordmale on Tuesday February 04, 2025 @11:27AM (#42934517)
Yes, let's devise a more precise way to give AI instructions. Let's call it AI-thon. This will allow powers that be, like Zuckerberg to save face and claim that AI has replaced mid-level developers and enable developers to rebrand themselves as AI-thon programmers.

Joking aside, this is likely where we will end up, just with a slightly higher programming interface, making developers more productive.

Re:Chat is a bad UI pattern for development tools by dylan604 on Tuesday February 04, 2025 @11:49AM (#42934935)
man, pAIthon was just sitting right there for the taking
Re:Chat is a bad UI pattern for development tools by oxfordmale on Tuesday February 04, 2025 @02:36PM (#42937458)
Thanks for pointing it out :-)
Re:Chat is a bad UI pattern for development tools by 65 on Tuesday February 04, 2025 @11:34AM (#42934632)
We're going to create SQL all over again, aren't we?
Re:Chat is a bad UI pattern for development tools by lelanthran on Tuesday February 04, 2025 @11:56AM (#42935086)
A more modern COBOL maybe.
Re:Chat is a bad UI pattern for development tools by 9rx on Tuesday February 04, 2025 @12:46PM (#42935926)
So SQL?
Re:Chat is a bad UI pattern for development tools by empath75 on Tuesday February 04, 2025 @11:28AM (#42934537)
AIs actually are very good at this. They wouldn't be able to write code at all otherwise. If you're careful in your prompting, they'll make fewer assumptions and ask clarifying questions before going ahead and writing code.
Re:Chat is a bad UI pattern for development tools by 9rx on Tuesday February 04, 2025 @11:38AM (#42934703)
> If you're careful in your prompting

In other words, if you replace natural language with a programming language then the computer will do a good job of interpreting your intent. But that's always been true, so...

Re:Chat is a bad UI pattern for development tools by benatkin on Tuesday February 04, 2025 @11:42AM (#42934782)
Being careful in your prompting doesn’t imply that. That can also be thought of as just using natural language well.
Re:Chat is a bad UI pattern for development tools by 9rx on Tuesday February 04, 2025 @11:43AM (#42934796)
What separates natural language from programming language is that natural language doesn't have to be careful. Once you have to be careful, you are programming.
Re:Chat is a bad UI pattern for development tools by benatkin on Tuesday February 04, 2025 @11:44AM (#42934824)
It does have to be careful at times if you’re going to be effective with natural language.
Re:Chat is a bad UI pattern for development tools by 9rx on Tuesday February 04, 2025 @11:45AM (#42934843)
Certainly there is a need for care outside of computers too, like in law, but legal documents are a prime example of programs. That's programming, written using a programming language, not natural language. It is decidedly not the same language you would use for casual conversation and generally requires technical expertise to understand.
Re:Chat is a bad UI pattern for development tools by benatkin on Tuesday February 04, 2025 @11:59AM (#42935176)
People can often be observed to be deliberately making an effort in casual, social, natural language conversation. It flows for some people more than others. Try watching Big Bang Theory and see characters at times being deliberate with their words and at other times responding automatically.

An LLM can do increasingly well as a fly on the wall, but it’s common for people using an LLM to be less collaborative with an LLM and for them to expect the LLM to structure the conversation. Hence the suggestion to be careful in your prompting.

Re:Chat is a bad UI pattern for development tools by 9rx on Tuesday February 04, 2025 @12:07PM (#42935298)
> at times being deliberate with their words and at other times responding automatically.

Right. On one side you have programming language and on the other natural language.

They can intermingle, if that is what you are trying to say? You can see this even in traditional computer programming. One will often switch between deliberate expression and casual, natural expression (what often get called comments in that context).

Re:Chat is a bad UI pattern for development tools by kmoser on Tuesday February 04, 2025 @01:33PM (#42936643)
Even lawyers agree that legalese is no more accurate than plain English if used properly: https://www.scientificamerican.com/article/even-lawyers-dont...

In other word, complex applications can still be fully specified in plain English, even if it might take more words.

Re:Chat is a bad UI pattern for development tools by 9rx on Tuesday February 04, 2025 @03:58PM (#42938554)
> complex applications can still be fully specified in plain English

In plain English, of course, but not in natural English. When using language naturally one will leave out details, relying on other inputs, such as shared assumptions, to fill in the gaps. Programming makes those explicit.

Re:Chat is a bad UI pattern for development tools by kmoser on Tuesday February 04, 2025 @11:04PM (#42943617)
Programming only needs to make things as explicit as necessary based on the developer's desires and the system's assumptions. Where more detail is necessary, the programmer can add more code. For example, there's no need to tell a browser explicit rules for how users should be able to interact with an input field, since that's the browser's default behavior; you only need to specify different behavior when you want it to differ from the default.

Likewise for English: one can use natural English to add as many details as necessary, depending on who you're talking to, e.g. "Make an outline around the input field, and color the outline #ff0000." You can then add, if necessary, "Make the corners of the outline rounded with a 5 pixel radius."

In this respect, complex applications can be fully specified in English; we usually call those documents "formal specifications." You can write it terse, non-natural language with consistent, defined terminology to save room (as most specs are), or colloquial (natural) language if you really want. I wouldn't recommend the latter, but it's definitely useful when presenting specs to a less technically informed audience.

Re:Chat is a bad UI pattern for development tools by 9rx on Wednesday February 05, 2025 @12:08AM (#42944067)
> complex applications can be fully specified in English

Of course. We established that at the beginning. The entire discussion is about exactly that. It was confirmed again in the previous comment. However, that is not natural. I expect most native English speakers would be entirely incapable of fully specifying a complex application or anything else of similar complexity. That is not natural use.

While the words, basic syntax, etc. may mirror that found in natural language, a specification is really a language of its own. It is nothing like the language you will find people speaking at the bar or when writing pointless comments on Reddit. And that's because it is a programming language.

Re:Chat is a bad UI pattern for development tools by kmoser on Wednesday February 05, 2025 @02:07AM (#42944941)
> I expect most native English speakers would be entirely incapable of fully specifying a complex application or anything else of similar complexity.

Your original postulation was that it simply wasn't possible, implying nobody could do it. The fact that most native English speakers wouldn't be able to do it doesn't mean nobody can do it.

I agree that most native English speakers wouldn't be able to write a reasonably complete spec in any type of language, not just because they lack the language skill, but because they simply wouldn't have the imagination and knowledge of what to create to begin with, let alone how to express it.

Re:Chat is a bad UI pattern for development tools by 9rx on Wednesday February 05, 2025 @09:40AM (#42949076)
> Your original postulation was that it simply wasn't possible, implying nobody could do it.

Then you must have mistakenly replied to the wrong comment, I guess? My original comment, and every one that followed, postulated that so-called "careful use of English", as in what you are talking about and what we have always been talking about, is a programming language. Given that it is a programming language, how could it not be used in that way? That's what programming languages do best.

> The fact that most native English speakers wouldn't be able to do it doesn't mean nobody can do it.

Of course. But the fact that most native English speakers wouldn't be able to do it proves that it is isn't natural language. This "technical English" language may resemble the natural language also known as English in many ways, but, as even you pointed out earlier, it is not the same language.

Re:Chat is a bad UI pattern for development tools by xboxnolifes on Tuesday February 04, 2025 @02:30PM (#42937380)
Does this mean that good communication skills is equivalent to programming?
Re:Chat is a bad UI pattern for development tools by oxfordmale on Tuesday February 04, 2025 @11:40AM (#42934744)
AI is very good at this. Unfortunately, humans tend to be super bad at providing detailed verbal instructions.
Re:Chat is a bad UI pattern for development tools by indymike on Tuesday February 04, 2025 @11:46AM (#42934864)
Languages used for day to day communication between humans do not have the specificity needed for detailed instructions... even to other humans. We out of band context (body language, social norms, tradition, knowledge of a person) quite a bit more than you would think.
Re:Chat is a bad UI pattern for development tools by nomel on Tuesday February 04, 2025 @04:04PM (#42938663)
Programming languages, which are human language, are purpose built for this. Anyone working in the domain of precise specifications uses them, or something very similar (for example, engineering, writing contracts, etc), often daily. ;)

They all usually build down to a subset of english, because near caveman speak is enough to define things with precision.

Re:Chat is a bad UI pattern for development tools by nomel on Tuesday February 04, 2025 @04:03PM (#42938638)
Then those same humans won't be able to reason about code, or the problem spaces they're working in, regardless, since it's all fundamentally about precise specifics.
Re:Chat is a bad UI pattern for development tools by LordDragonfang on Tuesday February 04, 2025 @12:21PM (#42935525)
> they'll make fewer assumptions and ask clarifying questions before going ahead and writing code.

Which model are you talking about here? Because with ChatGPT, I struggle with getting it to ask any clarifying questions before just dumping code filled with placeholders I don't want, even when I explicitly prompt it to ask for clarification.

Re:Chat is a bad UI pattern for development tools by croes on Tuesday February 04, 2025 @03:20PM (#42938037)
AI is a little bit like Occam‘s razor, when you say hoofbeats, you get horses. Bad if you need Zebras.
Re:Chat is a bad UI pattern for development tools by foobiekr on Tuesday February 04, 2025 @10:08PM (#42943211)
I don’t think I’ve ever seen an llm in any context ask for clarification. Is that a real thing?
Re:Chat is a bad UI pattern for development tools by thomastjeffery on Tuesday February 04, 2025 @12:59PM (#42936139)
Natural language can be precise, but only in context.

The struggle is to provide a context that disambiguates the way you want it to.

LLMs solve this problem by avoiding it entirely: they stay ambiguous, and just give you the most familiar context, letting you change direction with more prompts. It's a cool approach, but it's often not worth the extra steps, and sometimes your context window can't fit enough steps anyway.

My big idea (the Story Empathizer) is to restructure this interaction such that the only work left to the user is to decide which context suits their purpose best. Given enough context instances (I call them backstories), this approach to natural language processing could recursively eliminate much of its own ambiguity, leaving very little work for us to do in the end.

Right now my biggest struggle is figuring out what the foundational backstories will be, and writing them.

Re:Chat is a bad UI pattern for development tools by skydhash on Tuesday February 04, 2025 @03:34PM (#42938199)
That’s what programming languages are: You define a context, then you see that you can shorten the notation to symbol character: Like “The symbol a will refer to the value of type string and content ‘abcd’ and cannot refer to anything else for its life time” get you:

  const a = “abcd”
That is called semantics. Programming is mostly fitting the vagueness inherent to natural languages to the precise context of the programming language.
Re:Chat is a bad UI pattern for development tools by thomastjeffery on Tuesday February 04, 2025 @05:11PM (#42939688)
Yes, but programming languages are categorically limited to context-free grammar. This means that every expression written in a programming language is explicitly defined to have precisely one meaning.

The advantage of natural language is that we can write ambiguously defined expressions, and infer their meaning arbitrarily with context. This means that we can write with fewer unique expressions. It also means that context itself can be more directly involved in the content of what we write.

In context-free grammar, we can only express "what" and "how"; never "why". Instead, the "why" is encoded into every decision of the design and implementation of what we are writing.

If we could leverage ambiguous language, then we could factor out the "why", and implement it later using context.