5 ms·
Different take: AI writes a lot of mediocre code for us so we don't have to and we're impressed at that. But that's not the problem we need to solve. All our p
by gazchop 2y ago
Different take: AI writes a lot of mediocre code for us so we don't have to and we're impressed at that.
But that's not the problem we need to solve. All our programming languages are verbose and stupid. It takes too much effort to solve the problems we do in them.
- asdff 2y agoYou’d think ai models would be good enough to write code in pure binary. Python is for humans. Take the human out there’s no point in it.
- gazchop 2y agoYou think something which gets 70% of stuff right on a very good day when the planets are all aligned can write assembly that works? I have news for you.
- asdff 2y agoI think it sure can. Randomly modify a binary function over a million potential permutations and measure the distribution of output, subset from the distribution the binary function(s) that output ahead of your threshold. Should give you a fast function that does what you want with absolutely indescribable code, which isn’t an issue if it does what you want with reasonable performance.
- koe123 2y agoI suppose the issue is a data problem, there being relatively little high quality data explaining how things should be solved in binary. As such making the learning mapping between prompt (english) and good solution (binary) difficult.
- ninetyninenine 2y agoThe data is easily generated by compiling the code.
- 0xCMP 2y agoBut compiled code loses a lot of the "extra" data. Also these are "language" models so I would be surprised if training on binaries was much more efficient versus writing in some kind of language. Besides, how do you even check the result now without running untrusted code? Every run of the model you need to reverse-engineer the binary?
- asdff 2y agoYou don’t even need a training set imo just enough permutations to get a distribution of putative functions and outputs.
- raincole 2y agoIt's possible that one day they'll be. But to me it's very obvious why LLMs are better at writing human-readable code than binary code. The hype around LLMs come from the fact that you can command them in natural language. To make it possible, LLMs have to be trained mostly on natural language corpus. And human-readable code is closer to natural language than binary code.
- probably_wrong 2y agoWith all due respect, I think that's a terrible idea for a couple reasons. First, a model that produces binary code would be impossible to vet. This is already an issue with "trusting trust" in compilers [1], and would be made worse in the case of companies that constantly tweak their black-box models however they like. At least my compiler can work offline. But then there's the idea of programming as "turn data into data" that forgets that software has to interface with humans too. If I ask my LLM to give me sentencing guidelines that are "fair" given a set of parameters, no one on Earth should trust a binary they cannot check themselves. In fact, those affected may even have a constitutional right to source code. [1] https://dl.acm.org/doi/10.1145/358198.358210 https://dl.acm.org/doi/10.1145/358198.358210
- asdff 2y agoImo you wouldn’t even have to check the binary. Only that the output is what you expect and the performance is reasonable. No different than say agriculture where we measure success of a new varietal on output and resource use and have a very dim understanding of the inner workings that might have led to those observables. Or to take it further, you hire a consultant to produce some work in a given amount of time. You accept the work over time, you don’t feel the need to ask the consultant to turn over all their notes or to plug their brain into a mind reader machine to vet the source. They could indeed be lying and take whatever they learned about your company elsewhere, but we have no protection over that possibility lacking a mind reading instrument today. And society also doesn’t collapse today given that risk.
- drowsspa 2y agoMaybe it's informed by non-existing formal training, but even before AIs I kept feeling we're stuck in a local valley when it comes to programming languages.
- skydhash 2y agoI wouldn't say so. Once you learn a bit more about programming languages, you realize the problem is mostly about communication, not the tools itself. No matter how good the language is, if the writer and the reader is not fluent in it, you'd have a hard time communicating ideas. My very subjective benchmark is that you ought to be capable to express the overview of your implementation in plain English before even going to code (except if you're prototyping). I've met people that are only gluing snippets together and have never given a thought about the overall design.
- agentultra 2y agoSpoken language is often insufficiently precise for describing complex systems. I get tired of folks drawing boxes and arrows and waving their hands about their designs. I ask for proof that it works they way they say it does and I get nothing. People seem to like GenAI tools because they can avoid doing the work and get the results. It's like having a genie or a monkey's paw... with similar consequences. If you don't understand the concurrency problems before you're not going to understand them by staring hard at the code that a chatbot generated.
- cle 2y agoWe're just arguing about abstractions. Do people need to always understand "under the hood" of abstractions? Obviously not, most of us don't know how ADC works or how CPU instructions are pipelined or how light pulses end up as 1's and 0's in a buffer somewhere, but requests.get(...) is a genie that we can still use.
- namaria 2y agoAbstractions are not a dichotomy between "forget everything bellow the level in which you wish to operate" and "I need to be able to follow the path of each electron". Which abstractions are used and how you traverse them are relevant discussions that a lot of professionals seek to avoid by using framework, jargon and box diagrams.
- WillAdams 2y agoIsn't that why a frequent approach to a complex problem is to create a custom language/Domain Specific Language (DSL) for that problem space? Or where possible, the selection of an extant DSL?
- smokel 2y agoI think it's even worse. We are solving a lot of mediocre problems and customers are impressed at that. But that's not the problem we need to solve. There are wars going on, and the climate is changing in undesirable ways, and we have no clue how to organize people, or how we could put modern technology to good use.
- Spivak 2y agoI suppose but I also have to eat and the skill set I have is technomancy. Division of labor is fine, I think it's a fairly unique attitude in tech that we have do something (tm) with our skills. No one asks the accountant to get out there and fix climate change.
- MrMcCall 2y ago> we have no clue how to organize people, or how we could put modern technology to good use But I do, friend, I really do. It all starts with compassion; profit-motive being prioritized over compassion is the source of all this world's problems, from strife to pollution to fascism to oppression of minorities or other ethnic/religious groups. Both political parties here in America are on the take from various moneyed groups, though the Dems have less disdain for the poor, to be certain. Their prioritization of those interests damages how our government behaves, how it should serve the people of both our country and the world at large. And look at the fools who are about to run America now, as well as the majority of the commentariat around here, burning up the Earth for their "coins" and "near-worthless" LLMs, worshipping dangerous fools like Musk. If you want to be a part of the solution, connect yourself with our Creator and learn how to become more compassionate, for EVERY SINGLE ONE of our problems is solely and completely due to a lack of compassion. So, tech is great to help people but can be (and is being) used to oppress others (e.g. rent collusion), amplify mis- and disinformation, cheat consumers, and so on and so on. Steel yourself in compassion for all innocent human beings, i.e. the ones not oppressing others and destroying the Earth.
- bulatb 2y ago"If everybody just" is a description of a problem, not a solution. The problem is that everybody will not "just," no matter what could happen if they did.
- davidclark 2y agoHave you written a computer programming language? Calling every single one “verbose and stupid” seems like a Chesterton’s Fence issue.
- gazchop 2y agoYes I spent a good decade writing domain specific languages and some time maintaining a commercial compiler and code generator for complex state machines. We can do a lot better. More time solving problems, less time satisfying what is effectively a trite extrapolation of theoretical languages from the 60s
- deleted 2y ago[deleted]
- godelski 2y agoI agree with one part but to call coding languages verbose is odd. If it's too verbose, pick another language. You can always write asm.