7 ms·
Sharing a comment of mine (that got downvoted) from another, unrelated, thread. IMHO, it somewhat applies here as well: > Looking back, we can see how Machine
by andreygrehov 3y ago
Sharing a comment of mine (that got downvoted) from another, unrelated, thread. IMHO, it somewhat applies here as well:
> Looking back, we can see how Machine Code, with its intricate and challenging nature, paved the way for more accessible options. Assembly language then emerged, providing a higher level of abstraction and reducing the complexities of directly working with machine instructions. And of course, C followed suit, offering even greater simplicity and ease of use compared to Assembly.
> Imagine a future where programming languages, as we know them today, become akin to CPU instructions – a foundational and low-level primitive. LLMs will revolutionize the way we interact with code, providing a unified interface where the complexities of various languages are distilled into a common representation. The proliferation of individual programming languages will wane. Knowing Java or C++ will become a rare skill, akin to individuals specializing in low-level optimizations using Assembly language these days.
> As time progresses, even the convenience of LLMs may pose challenges, given our inherent tendency towards laziness, so an additional layer of abstraction will be introduced, bridging the gap between LLMs and spoken languages. BCIs will revolutionize the act of coding itself so that individuals can seamlessly "code" by simply "thinking" about their desired actions.
- mathbalduino 3y agoAgree. It’s just that the majority of Hacker News users will resist such a major change Right now, it’s not that reliable, of course, but eventually it will be. As everything else, it will evolve Don’t think it will be production-ready in the next 10 years or so, but eventually it will happen… (I’ll save this reply to revisit in the future lol)
- TheMode 3y ago> Right now, it’s not that reliable, of course, but eventually it will be. As everything else, it will evolve What make you think that natural languages will ever become reliable/stable? It hasn't been for millennia
- flangola7 3y agoThen how have humans ever accomplished anything?
- ekabod 3y agoCan you explain your reasoning? I don't get it at all.
- flangola7 3y agoHumans communicate in natural language. When a CEO or project VP commands to have something they want produced, they're not using any kind of "reliable/stable" exact language. They may barely be able to even use a computer, much less write code. Nevertheless the final production product is still completed.
- jaen 3y agoWhen the end product is supposed to have any semblance of reliability and durability, even human beings do not communicate in natural language. As an example: - Science: Many non-natural languages and notations used for communication, math being the most obvious. - Laws: Looks like natural language when you squint, but actually very rigid and un-natural.
- flangola7 3y agoWhat does that have to do with the CEO I mentioned? They're not writing math or legal documents, yet their wishes are still materialized. Whatever the intermediary processor utilizes is unimportant.
- jaen 3y agoIt's an example of large domains where natural language does not work well enough, as a counterpoint to the arbitrary, niche CEO example of a situation where it might work. It is responding to the entire thread, not just your comment.
- bryanrasmussen 3y agoYou seem to believe that code will be able to be written in natural language? Many people argue this will never happen because of ambiguity of spoken language. I suppose you will agree that the level of ambiguity in spoken language will never decrease significantly give that it does not seem to have done so over the course of human evolution. IF you do believe it will decrease - how? I agree there will probably be thought -> computer interfaces at some time but it seems to me, from what I understand of human thought, that the non-verbal thought can be even more ambiguous than the verbal. It at any rate varies greatly between people how precise they can think, surely some people will be more suited to precise thinking and be the ones who write programs - perhaps using some sort of tool to focus and make more precise their thinking such as writing which I have found is often a great enabler of focus and clarity. If however you can agree that ambiguity will not decrease what does this do about inherent bugs introduced by ambiguity, how do you see the debugging process? Do you think that the ambiguity of spoken language creates more and greater bugs than the sort of bugs that occur today in programs? I personally believe that ambiguity bugs will be a whole new order of bugs layered on top of all the other types of bugs we have now. Thus, due to the problems of ambiguity in human thought, I do not believe this vision will come to pass, although I believe there will be spoken instructions to computers that do particular things.
- quickthrower2 3y agoTake a typical remote first development effort like a OSS project. How does this get developed? Language as text! So at some level it must be possible to specify what you mean in language and have agent’s turn that into code. I think what you need is more refined language. Don’t just say I want X. Give examples (these become unit tests). Have the LLM ask clarifying questions. Whether we can make something useful today like that with GPT4 I am not sure but it will be possible. The language crafting (and understanding if importance if accuracy) will be the hired skill when “programmers are fired”. That is a harder to AI-ify skill.
- albert_e 3y agoMostly agree. Not sure why you were downvoted -- but this seems fairly straightforward in terms of logical progression of abstraction. I would say LLMs may or may not be that next step in the chain before we see direct interfaces with brain for creating new programs -- but they sure seem promising. BCI itself will still need go through a few steps where first we can reliably select from choices (click buttons) across diverse use cases, and then graduate to inferring intent / extracting logic or language etc. -- to reach a stage where we are able to ask a question of Alexa/Siri or prompt ChatGPT in a coherent way by simply thinking about it. Even the hardware would need to achieve a form factor that can be adopted by masses. By that time hopefully LLMs would have graduated to a level that can take that input and give us robust programs / API calls etc. Or something else other than LLMs emerges by that time to fulfil the same function. But once we get there though -- our communication with machines need not be constrained solely by clicks and words or programming constructs and logic -- but could take on a much more complex and unconstrained form. We can think in abstract concepts, ideas, visualizations, feelings and emotions -- and all of them are rich fodder as input for BCI + generative models. For example, I could think musical ideas and am able to generate actual music live -- or "save" musical ideas as .RAW thoughts for later processing. Or I think of the concept of frisson and imagine the feeling of goosebumps -- and able to generate content / physical design ideas that result in that sensation or state of mind. Telepathy is one step away from there.
- nborwankar 3y agoI have a fundamental disagreement about the premise that abstraction from CPU instructions should be the basis of a language model. I posit that the starting point should be lambda calculus which is formally equivalent to Turing machine based theories. Lambda calculus -> functional languages -> algebraic type aware languages (Haskell?) -> languages used in theorem proving (Agda ?..) is a progression that allows logic and provably correct programs and reasoning about programs. Messy natural language can be used as away to collect requirements by an LLM that can translate them into formally correct tests and specifications which can be used to Instruction-train LLM’s that could (insert frenetic hand waving here) write provably correct (or close) code in say Haskell or Agda. In summary Lambda Calculus is a better starting point because it’s logically closer to formal languages and reasoning.
- andreygrehov 3y agoMy speculation was not about LLM being an abstraction around CPU instructions. I don't think such a jump would produce a reliable code, so I hands down agree with you. In fact, your proposal is on par with what I had in mind.