39 ms·
A coder considers the waning days of the craft
- StrangeSmells01 3y agoIt's interesting and kind of a bummer that all this learning is made obsolete.
- CamperBob2 3y agoIt reminds me of the days when electronics hobbyists -- and plenty of older engineers -- had to be dragged kicking and screaming out of the vacuum-tube era.
- kristopolous 3y agoThis is the conceit of knowledge work in general. You're only as relevant as much as you keep up. It's why it continues to tend young. The older you get, the more opinionated you get and with opinions come inflexibility so the less you are open to new ways of thinking, even those which may be superior. Essentially people have criticisms of newer tools that have become industry standards as unnecessary and inferior. Regardless of the merits of that argument, the new tooling is where the industry is at. The best hackers I know are extreme versions of this. Increasing dissagreability appears to be the crucial flaw of competency unless you work hard to avoid it. The most extreme version of this I remember was about 20 years ago when I met a man of about 55 who was clearly a very brilliant computer engineer with impressive credentials that I have forgotten (a prestigious PhD and work history) but said he had always dismissed microcomputers, yes, as in not minicomputers and mainframes as toys and a waste of time. This was like 2002. I was still in college then and I vowed to never become that guy. Still trying...
- kristopolous 3y agoI was reminded that Karate borrows the term Shoshin (beginner's mind) from Buddhism to express overcoming this dialectical. In the world of martial arts this is expressed essentially by the fact that you work with the same people so this tends to a false sense of generality in ones understanding. Within any particular discipline there's confinements because there's a core focus and rubric of things you do with is necessarily exclusionary and reductive because of the constraints of time. Serious martial arts practitioners (think career professionals) claim people will plateau indefinitely, as in for the remainder of their lives, unless they effectively practice shoshin. This can go in odd directions. Take George Dillman for example, who has developed a mechanism that he, and maybe nobody, really understands and as a result he's considered a fraud although he and his students experience it as genuine. True shoshin demands an open investigation as to why, where, and how people feel a mechanism and a good faith assumption that there's something poorly understood there. People will widely agree with the concept of shoshin but when it's demonstrated with an example, that previous consensus disappears. It's not easy or popular.
- gwervc 3y agoWhich learning? If anything AI will render (highly) skilled humans even more relevant in most creative fields: the literature translator and it's ability to transfer emotion, the artist that can create art outside AI reach, the software engineer who can architect a solution, etc. What is menaced is low to mid quality work, and less educated/skilled people. This is in my opinion where the real danger of AI lies: a world where it's so easy to let a program write an email that the sheer ability to think about it's content, then type it is lost to the majority. Some with anything requiring some effort the learn. This will exacerbate the divide between classes, with a handful people who can understand and act on the world, and those who don't.
- reincarnate0x14 3y agoLearning itself is not obsolete. Burning scarce time on arcana associated with various platforms and libraries may become so. The various LLMs are decently good at recreating known solutions to problems that may require arcane knowledge, which covers a lot of human memory. Is there something lost here? Probably. But who yet knows what may replace it.
- BonitaPersona 3y agoAs if this didn't happen ever before
- betaby 3y agoArticle itself feels like it was written by LLM - unnecessarily long, pretentious and boring without much of a substance. But hey, folks from this forum aren't the target audience for 'Newyorker'!
- labster 3y agoI’m pretty sure New Yorker writer is the first job that LLMs will replace.
- kragen 3y agogladwell made a career out of compelling, convincing writing about things he didn't understand and came to the wrong conclusions about, like a human chatgpt, so probably; google 'igon value'
- golergka 3y agoWriters and musicians wont be replaced with AI because the authors persona is part of the product.
- 998244353 3y agoPoets and novelists maybe, but not many people pay particular attention to who exactly wrote a particular magazine article.
- zwieback 3y agoFYI - many public libraries let you auto-checkout the New Yorker to your free Overdrive account and you can read online or on your phone. I was surprised how easy it has become.
- Uptrenda 3y ago>At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed Wow, this guys working on rocket science, everyone. Watch out! We might get replaced!
- atleastoptimal 3y agoDo you honestly believe that the skills of software devs will never be eclipsed by AI tools?
- akira2501 3y agoI honestly wouldn't expect it to be the first application, when the technology eventually does get developed, and we have the power budget necessary to actually operate one of these units. Until then, it's not a question of "eclipsed," it's a labor market, so it's a question of "efficiency" and the large language model people have a very long way to go to produce something that's generally as capable as a programmer. So.. I guess if your craft is "scripting" you might be able to get by with GPT-4, but to imagine that your child is not going to ever need to "program" is eager nonsense.
- zarzavat 3y agoYou don’t think the technology will improve at all in the next ~16 years? It will just be stuck at it being able to write simple scripts even in 2040? I fully expect human programming to be completely obsolete by then.
- akira2501 3y ago> will improve at all in the next ~16 years? Improve "at all?" Well, of course it will, but you're just moving the goalposts here. I'm telling you I don't think it's going to be anywhere near the level of AGI that can solve most programming tasks with less effort an energy cost than a human in that time. > It will just be stuck at it being able to write simple scripts even in 2040? Pretty much. You can improve the technology, but you have some massive gaps you have to cover, and electrical use is going to be one of them. Short a massive improvement in transistor technology or a move to an entirely new computing platform, I don't see it happening in that time. > I fully expect human programming to be completely obsolete by then. You seem that you mostly _want_ that to be true, so much so, that you've failed to complete the analysis. What's worse is, I'm just hedging your bet. If I'm wrong, no big deal, if you're wrong, you're in for a world of pain and problems. I get that this is hacker news and untamed expectations are en vogue here, but I'm content to be the hipster on this issue.
- cglan 3y agoMaybe I’m in the minority. I’m definitely extremely impressed with GPT4, but coding to me was never really the point of software development. While GPT4 is incredible, it fails OFTEN. And it fails in ways that aren’t very clear. And it fails harder when there’s clearly not enough training resources on the subject matter. But even hypothetically if it was 20x better, wouldn’t that be a good thing? There’s so much of the world that would be better off if GOOD software was cheaper and easier to make. Idk where I’m going with this but if coding is something you genuinely enjoy, AI isn’t stopping anyone from doing their hobby. I don’t really see it going away any time soon, and even if it is going away it just never really seemed like the point of software engineering
- water-your-self 3y agoI agree that a 20x chatGPT would be good for the world. But I worry, because it is owned and controlled by a limited few who would likely be the sole benefactors of its value.
- ramblerman 3y agoWe can already run local models on a laptop that are competitive with chatgpt 3.5 Open source may trail openai if they come out with a 20x improvement, but I'm not sure the dystopian future playing out is as likely as I would have thought it 1-2 years ago.
- atleastoptimal 3y agoSome people I feel fear losing their siloed prestige built on arcane software knowledge. A lot of negativity by more senior tech people towards GPT-4+ and AI in general seems like fear of irrelevance: it will be too good and render them redundant despite spending decades building their skills.
- kragen 3y agoi've fired a lot of negativity at people for treating the entropy monster as a trustworthy information source. it's a waste of my time to prove it wrong to their satisfaction. it's great at creativity and recall but shitty at accuracy, and sometimes accuracy is what counts most
- alexmuro 3y agoI don't feel like we are in the waning days of the craft at all. Most of the craft is creating an understanding between people and software and most human programmers are still bad at it. AI might replace some programmers but none who program as a craft.
- Dave_Rosenthal 3y ago"Chess engines might get better than some chess players, but none who play Chess as a craft." Do you think people in the 90s thought this? Probably... In the article, the author mentions that Chess centaurs (a human player consulting an engine) can still beat an engine alone. But the author is wrong. There was a brief period a while ago when that was true, but chess engines are so strong now that any human intervention just holds them back. I've been programming 30+ years, and am an accomplished programmer who loves the craft, but the writing is on the wall. ChatGPT is better than me at programming in most every way. It knows more languages, more tricks, more libraries, more error codes, is faster, cheaper, etc. The only area that I still feel superior to ChatGPT is that I have a better understanding of the "big picture" of what the program is trying to accomplish and can help steer it to work on the right sub-problems. Funnily enough, is was the same with centuar Chess; humans would make strategic decisions while the engines would work out the tactics. But that model is now useless. We are currently enjoying a time where (human programmer+AI > AI programmer). It's an awesome time to live in, but, like with Chess, I doubt it will last very long.
- somewhereoutth 3y agoChess is a closed problem. Whereas software development very much isn't. You will also have to provide a source for 'chess engines are so strong now that any human intervention just holds them back', a cursory search suggests this is by no means settled.
- Dave_Rosenthal 3y agoYes, the rules of chess are simpler, which is why all this happened many years ago for chess. https://gwern.net/note/note#advanced-chess-obituary https://gwern.net/note/note#advanced-chess-obituary -- here is a reference about centuar/advanced chess. The source isn't perfect as the tournaments seem to have fizzled out 5-10 years ago as engines got better and it all became irrelevant. Sadly this means we don't have 100 games of GM+engine vs. engine in 2023 to truly settle it but I've been following this for a while and I have a high confidence that Stockfish_2023+human ~= Stockfish_2023.
- zwieback 3y agoThe stuff he describes should rightly be replaced by an AI. However, I think we can still level up. After initial excitement about GPT-generated code I realize that the danger is that we will very quickly generate a lot of code with subtle bugs that will take even longer to debug. If I write the code myself I (or whoever I have look over my shoulder) will be quicker finding the bugs. If it's GPT code I'll first have to dig through the idiosyncrasies, then find the logic error. Also: writing multi-threaded or otherwise concurrent code is hard to imagine even with GPT 6 or 7.
- dimgl 3y agoI don't think it's that black and white. AI will get progressively better and sure, people will be faster to deliver things. But there still needs to be someone to be able to decipher it all. I've been using GPT-4 tons and it's great to help get to a certain destination, but it isn't able to arrive at that destination by itself a majority of times. Additionally I think that a lot of people will assume that once they get GPT-4 to do something for them that they're done. That's not necessarily true. There's a lot of complexity to navigate everywhere. And AI can help you navigate it! But I don't think it means that I, a software engineer, can now pivot to being a lawyer, for instance, solely because of GPT-4. Sure, it's able to do a lot already. Maybe I'm being naive. But I see it more as a tool for the future rather than something that is going to automate people out of existence. Edit: hm, why downvotes? If I'm wrong, help me improve my viewpoint on AI.
- evilai 3y agoI'm not sure why the downvotes, I think it's a reasonable opinion. But I disagree, I think what is being sought is automation close to intelligence, and if progress continues (which is questionable itself), this system could eventually supplant humans in varying degrees. Initially, this may manifest pragmatically with salary cuts and job losses. However, in the long term, it may evolve to a more real and comprehensive overhaul of our roles. I think the main difference in my understanding is that it is not a tool like a hammer, it is more a tool that has the potential to design other tools (so far very simple) but if its capacity increases, it could automate significant parts of our work.
- bdamm 3y agoAnyone ought to be able to see the new truth; that AI is multiplying the power and importance of the programming and software engineering discipline, by allowing us to churn out far more software in far less time. Entire genres of code tasks will get wiped out (data adaption layers come to mind.) Software engineers, even if just reduced to AI-bot controllers, will still be essential links between people who have no idea how computers work and the actual machines.
- 29athrowaway 3y agoIf you train LLMs on code from GitHub it will output what the average GitHub repo has in it. That is, "competent level", not expert or virtuoso. And it will also carry over bugs found at the "competent" level.
- evilai 3y agoAbsolutely, but you really don't need virtuoso-level code most of the time ) :
- deleted 3y ago[deleted]
- GabeIsko 3y agoDo people have problems with Leetcode stuff or something? Aside from generating code I already know how to write before hand quickly, I find AI super useless for coding. It's never been able to solve a single problem I have worked on - mostly involving infrastructure deployment and config.
- simonw 3y agoI find it's incredibly useful for programming once you've learned how to effectively prompt it - which takes quite extensive experimentation.
- manicennui 3y ago"AI" helps the people who rely on Stack Overflow to do their jobs. Then they come to HN and worry that we will all be out of jobs soon. The problem it solves is "I don't actually know what I am doing at all". These people are not a threat to anyone competent and no amount of questionable code generated by "AI" will change that.
- danielmarkbruce 3y agoSure, but the number of truly competent software engineers is maybe 10% of employed software engineers. So, 90% of people might need to worry.
- dsQTbR7Y5mRHnZv 3y agoWhat domain do you work in that you never reference stack overflow?
- lionkor 3y agoThere are workflows that dont include stackoverflow at all, like mine, usually. If I need to know how to convert a u32 to little endian bytes in Rust, for example, my first instinct isnt to go to SO or chatgpt, my first instinct is usually to go to the docs and search for it. Or just try it out in an IDE. u23::to and hitting tab did the trick, so now I can click on that and read the in-source docs. Same for C++, C, bash, anything that has docs or manpages. I use stackoverflow for problems like "i have this error and it doesnt tell me whats wrong", like "exception in docker-compose like 3, . missing resource ID" -- i need SO to tell me that this means I dont have an image-name.
- FigurativeVoid 3y agoI may be in the minority, but after the initial “wow” period, I have been underwhelmed with co-pilot. Don’t get me wrong, there are few times it has really really impressed me. And there are a few things it really shines at, but most of the time I find it getting in the way. I’m not so concerned about the craft of programming. But those that make a good living automating trivial tasks should be more worried.
- cryptoz 3y agoSomething to note here is that copilot is pretty old tech at this point already - GPT4 API is just absolutely worlds better, and it is also about to be old news soon too! With GPT5 coming probably next year, we don’t know what advances it will make but surely basing your understanding of it on copilot will leave you shocked soon enough.
- FigurativeVoid 3y agoThat’s a good point. I do find gpt 4 to be excellent at generating code snippets. I think as the technology improves, it’ll get better. But I’m more hoping it’d be able to do something more interesting, say generate tests in the background.
- ilaksh 3y agoThere are multiple startups that do this specifically with the GPT-4 API today.
- FigurativeVoid 3y agoSure. But the results are still extremely underwhelming for what they are selling.
- skippyboxedhero 3y agoUsed it a couple of times. Never found it useful or thought of a situation in which it would be useful. If you are doing something that is identical to something that has already been done, maybe it works...but then you just look at GH anyway. For any other situation it is useless because it doesn't know how to program. Pretty much no company wants you typing in random shit into the internet either, it is accident waiting to happen. Doesn't even work for automation. This is still an absolutely huge area of potential productivity gain. If we still don't have most people taking full advantage of computers, are they just going to magically automate everything? No.
- Barrin92 3y agoI mean this in the least offensive way possible, but whenever one of these flowery ChatGPT pieces comes out, it's always written like this "at one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. "[...] I returned to the crossword project. Our puzzle generator printed its output in an ugly text format, with lines like "s""c""a""r""""k""u""n""i""s""" "a""r""e""a". I wanted to turn output like that into a pretty Web page that allowed me to explore the words in the grid, showing scoring information at a glance. But I knew the task would be tricky[...] This man has written software professionally for 20 years? The last part of the article is at least correct. Code generation isn't going to replace programmers. Almost all SNES and NES games were written in Assembly. Modern game devs learn Unity and Unreal and visual scripting. Are there now more or fewer game devs? Writing a few lines of code that generate a metric ton of more code is what most of us have been doing for many years now. Abstraction and tooling does not change the nature of the profession and it certainly doesn't end it.
- gemstones 3y agoImagine a doctor 100 years post-Galen "considering the waning days of medicine". We are a young, young discipline.
- wetpaws 3y ago[dead]
- fuzztester 3y agoNostradamus wannabes are everywhere, in every field.
- waldohatesyou 3y agoI feel like the headline does not match the article here. The headline implies that programming as a craft is to be replaced but the article ultimately argues that it will change significantly which matches my intuition as well. At the end of the day, the bar is being lowered. Is that a bad thing? From a selfish perspective, yes. From a societal perspective, no. At the risk of digressing, I think one of the issues that my part of the world (Canada and to a lesser extent, America) has been faced with is inequality. I know people who work more "average" service jobs and they make substantially less than engineers do and that's something that's made me pretty uneasy over the past few years. The societal value of generative AI is in making knowledge work such as law, medicine, and software engineering much more accessible to "average" people. Are there downsides to that? Probably but I think granting power evenly is probably a better path to utopia than misguided elitism. The latter sounds like the path to despotism.
- stcroixx 3y agoIf software dev is simplified to the point people working jobs like you describe are able to do it, wages will also plummet, so it’s not like their situation is going to improve.
- acscott 3y agoIf a developer making $1/hour produces $10 output (of something people buy), then if you add another developer making $1/hour produces $10 of output, you have $20 total product. Developer A and B can compete on their rate down to the point that it's not sustainable, and thus, an equilibrium will be struck. How is adding more developers going to reduce the output?
- hackertyper69 3y agotoo many cooks in the kitchen
- znpy 3y ago> How is adding more developers going to reduce the output? time spent coordinating, time spent arguing, time spent reaching consensus (dumb example: function signatures / architecture / api contracts), time spent comparing approaches.
- colinmegill 3y agoMelodramatic, pretentious, they just love these puff pieces outside of tech
- gtirloni 3y agoToday I already have trouble doing git archeology to understand why a piece of code was done in a certain way. Now imagine debugging more and more code that was created by LLMs. Debugging will become more of a voodoo witchcraft kind of thing. I pity anyone who decides to make a living out of that. Probably will earn a lot and die young.
- BigJono 3y agoPeople are very quickly going to find out that "never rewrite" can't be taken as absolute advice. If you have 5Mloc of third party dependencies and AI generated code that you can't extend and can barely keep functional in production, and a competitor pops up with 50Kloc nearing feature parity and adding more functionality by the day, you'll very quickly need to adapt or die. Software companies already die to this risk aversion all the time. Tons more die to rewrites because they get conned into hiring an army of idiot React consultants to do it, who are likely in these HN threads at the forefront of AI code gen themselves, and just end up making 2.0 more complex and worse. All GPT does is widen the gap between good and bad engineering. If it widens it enough that non-technical people can finally tell the difference, then it's going to kill half the market, just not the half everyone thinks it will.
- manicennui 3y agoI imagine that it will be about as bad as debugging code written by the sort of people who find "AI" helpful.
- 62951413 3y agoAren't we going to get copious amounts of documentation for free? To me chatGPT logs look like JIRA descriptions, commit messages, and basic design specs in disguise. And they are not optional anymore. On a related note, I'd expect the "DSL+generated code" approach to grow in popularity for common domains. Think gRPC or JOOQ. A terse IDL snippet and you get a lot of functionality that you don't even need to test or even put under version control.
- bawana 3y agoAI will surpass humanity at abstraction and the manipulation of abstraction in all its forms - laws, finance, literature, poetry, mathematics... Humans will finally be coralled into the activity their evolution optimized them for - innovation, adaptation, exploration, creation. All the billionaires of today will fade into obscurity as AI strips them of their wealth and leaves only the real humans - unfortunately this may only intensify the rat race if humans continue to compete in a capitalist market.
- decasia 3y agoI have been having the following debate with my friend who does AI and neural network stuff: Him: Coding will soon be obsolete, it will all be replaced by chatgpt-type code gen. Me: OK but the overwhelming majority of my job as a "senior engineer" is about communication, organizational leadership, and actually understanding all the product requirements and how they will interface with our systems. Yes, I write code, but even if most of that were augmented with codegen, that would barely even change most of what I do.
- decasia 3y agoIt kind of reminds me of this, except substitute coding for "hammering": https://www.buzzmaven.com/old-engineer-hammer-2/ https://www.buzzmaven.com/old-engineer-hammer-2/
- mock-possum 3y agoIf they don’t want to pay for the work, you can always undo it for them.
- jelsisi 3y ago> communication, organizational leadership, and actually understanding all the product requirements These problems sound like a result of working with people. Smaller but more capable teams because of AI will need less leaders and less meetings. Everything will become much more efficient. Say goodbye to all the time spent mentoring junior engineers, soon you won't have any
- creesch 3y ago> Say goodbye to all the time spent mentoring junior engineers, soon you won't have any Yeah... no. Not with LLMs as they currently are. They are great as an assisted tool, but still need people to validate their output and then put that output to work. Which means you need people who can understand that output, which are developers. Which also means that you need to keep training developers in order to be able to validate that output. The more nuanced approach would be saying that the work of developers will change. Which I agree with, but is also has been true over the past few decades. Developers these days are already working with a hugely different tool chain compared to developers a decade ago. It is an always evolving landscape and I don't think we are at a point yet where developers will be outright replaced. We might get there at some point, but not with current LLMs.
- devit 3y agoI think it's more fun to program with LLMs, because rather than having just a single programming phase, you basically have three quite different phases: a first phase where you craft an initial prompt, then a second phase where you review the LLM code and ask it to make changes, and then a third phase where you change the code yourself to exactly what you want it to be.
- nickpeterson 3y agoLLMs are going to make a lot of code. The tool will often not be able to fix problems with that code. If anything, this is classic automation expanding a field, we’re going to end up with more programmers and more software, not less.
- fzeroracer 3y agoMuch like how many people predicted we'd all be driving flying cars, the people predicting that coding will be replaced by AI just isn't realistic. Primarily because these AI models can literally only exist as long as there's humans constantly creating code for it to read (see: steal) in the first place. AI cannot sustain itself trained on AI work. If new languages, engines etc pop up it cannot synthesize new forms of coding without that code having existed in the first place. And most importantly, it cannot fundamentally rationalize about what code does or how it functions. The more you use it or try to integrate it into your workflow (or worse, have others try to integrate it on their own) the more the inherent flaws of the LLMs come into play.
- Philpax 3y ago> AI cannot sustain itself trained on AI work. This isn’t true. You can train LLMs entirely on synthetic data and get strong results. [0] > If new languages, engines etc pop up it cannot synthesize new forms of coding without that code having existed in the first place. You can describe the semantics to a LLM, have it generate code, tell it what went wrong (i.e. with compiler feedback), and then train on that. For an example of this workflow in a different context, see [1]. > And most importantly, it cannot fundamentally rationalize about what code does or how it functions. Most competent LLMs can trivially describe what some code does and speculate on the reasoning behind it. I don’t disagree that they’re flawed and imperfect, but I also do not think this is an unassailable state of affairs. They’re only going to get better from here. [0]: https://arxiv.org/abs/2309.05463 https://arxiv.org/abs/2309.05463 [1]: https://voyager.minedojo.org/ https://voyager.minedojo.org/
- somewhereoutth 3y ago> They’re only going to get better from here. Every AI apology seems to include this statement. It is more likely that LLMs have already hit a local maximum, and the next iterations will provide diminishing incremental returns - if anything at all.
- Philpax 3y ago
- RayVR 3y agoI think more people in these comments should read the whole article before responding. The author intentionally takes several turns to arrive at a nuanced view, with a final statement that I think most here would agree with: "Hacking is forever"
- kdmccormick 3y agoI'll admit that I read up until this point: > At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. and concluded that this person is not a skilled enough programmer to be making any statements about the demise of the craft, nuanced or not.
- welder 3y agoThat's the point.. "revenge of the so-so coder".
- lionkor 3y agoso-so? Thats a problem too basic to ask in a coding interview, almost.
- welder 3y agoYea, he says multiple times that he's not a good coder but that his friend is even worse. However, his worse friend + GPT combined can build whole apps.
- kdmccormick 3y ago> his worse friend + GPT combined can build whole apps. Which is cool and noteworthy! But cute little apps are not the "craft". The craft is solving problems in novel ways, managing enormous complexity, scaling massively, delighting users, choosing just the right amount of future-proofing so that future migrations are smooth but the code remains comprehensible, balancing performance and readability, enabling other developers to build on your work... those sort of things. Now, if senior-level developers or successful start-up CTOs start expressing that they feel AI can replace them... then I will worry that the craft is waning! (I'm not doubting it'll happen in my lifetime. It's just that this article isn't it.)
- karmasimida 3y agoIs driving a craft? Is plumbing a craft? Coding to me is the same to those 'crafts', with GPT it will be done faster and more efficient, that is it.
- evilai 3y agoAnd also much cheaper, which I think is one of the main problems. If less knowledge is needed to solve these problems, then you should pay less for them. The article makes a comparison with chess, which seems absurd to me, because, although there are more people playing chess than ever before, this is due, in my opinion, to the fact that the goal continues to be to defeat another human playing, so even though it is impossible to beat a machine at the game, it does not affect the gameplay with other humans. On the other hand, coding is a job for many, what sense would it make to pay, or pay the same to a human, if a program can produce higher quality code?
- acscott 3y agoTitle does not approximate well the article. Ad probandum: "Computing is not yet overcome. GPT-4 is impressive, but a layperson can’t wield it the way a programmer can. I still feel secure in my profession."
- jelsisi 3y agoThe article came to a romantic end that doesn't satisfy how I feel about the workplace now. I have to admit a dirty truth, that I joined this field because of the pay and job stability, not simply for a love of programming. Because of this I feel distressed for its future. No longer can someone walk into a job slightly under qualified and grow with time. Companies will opt for smaller teams of 10xers that with the companionship of AI can pump out 10x10 more code then the rest of us. Simply put, as a 20 something out of college, I'm going to need to figure out how to make as much money as soon as possible.
- deleted 3y ago[deleted]
- evilai 3y agoI completely agree, and I think that's precisely the heart of the matter. Salaries will likely begin to decrease, or at the very least, they won't increase at the rate they would have if this technology didn't exist. It seems inevitable to me that programming will become just another job. It's saddening because I deeply love to code and understand the inner workings of it all.
- LouisSayers 3y ago> Companies will opt for smaller teams of 10xers that with the companionship of AI can pump out 10x10 more code then the rest of us This is how I see it as well - but we're at the point where you can decide what side of the fence you want to be on. Keep playing with ChatGPT, but Level up around Systems Design and basic coding principles. Someone has to oversee the work that the AI's do, why not be one of those people?
- skepticATX 3y agoAm I the only one becoming less impressed by LLMs as time passes? I will admit, when Copilot first became a thing in 2021, I had my own “I’m about to become obsolete” moment. However, it’s become clear to me, both through my own experience and through research that has been conducted, that modern LLMs are fundamentally flawed and are not on the path to general intelligence. We are stuck with ancient (in AI terms) technology. GPT 4 is better than 3.5, but not in a fundamental way. I expect much the same from 5. This technology is incredibly flawed, and in hindsight, once we have actual powerful AI, I think we’ll laugh at how much attention we gave it.
- habitue 3y agoIt sounds like your initial impression was an overestimate and your current impression is a correction back down from that. You could say that it's "fundamentally flawed" coming from a very high initial expectation, but you could just as easily say "this is an amazing tool" coming from the point of view that it's "worthless" as many people seem to think
- breakwaterlabs 3y agoIf I can be so bold as to chime in, perhaps "fundamentally flawed" because it's design means it will never be more than a very clever BS engine. By design it is a stochastic token generator and its output will only ever be fundamentally some shade of random unless a fundamental redesign occurs. I was also fooled and gave it too much credit, if you engage in a philosophical discussion with it it seems purpose-built for passing the turing test. If LLMs are good at one thing, it's tricking people. I can't think of a more dangerous or valueless creation.
- anon-3988 3y ago> If I can be so bold as to chime in, perhaps "fundamentally flawed" because it's design means it will never be more than a very clever BS engine. How is your fellow human better? People here seems to spend a lot of time talking about how much their average boss, coworkers, juniors are ass. The only reason I know that ChatGPT is based on a computer program is how fast it is. I wouldn't be able to tell its output (not mannerism) from a junior's or even some "seniors'" programmer. That itself is quite impressive. With how much time we've spend on the internet, have we not realized how good PEOPLE are at generating bullshit? I am pretty I am writing bullshit right as this moment. This post is complete ass.
- armchairhacker 3y agoI think people underestimate the level of general intelligence required to write even seemingly basic "glue-code" (which btw, 90+% of software consists of). If we ever get an AI which can write complex enough "glue code" with a low enough failure rate to replace even junior developers, it's going to cause much, much bigger impacts than people losing jobs. The "boilerplate" and "bureaucracy" which is currently handled by "average" folk...that's what runs the world. If we ever develop AI which can handle that kind of work, barring some constraint like extreme resource usage or disaster like climate change; we'll either be brought into a utopia due to productivity being multiplied, or a dystopia due to a small minority getting control over the world to a precise, extreme extent no small minority has control now.
- crotchfire 3y ago> dystopia due to a small minority getting control over the world to a precise Unfortunately this is how nearly all technologies pan out in the end. The Internet of the 1990s unavoidably us the surveillance-industrial complex of the 2010s/2020s. The running-wafers-in-an-old-strip-mall Silicon Valley of the 1980s unavoidably led us to the current "world economy can support only 1.5 leading-edge fabs" situation where having an ME/PSP/TrustZone in your chip is not something you can opt out of anymore.
- ilaksh 3y agoGPT-4 is (incredibly obviously) well beyond that point.
- layman51 3y agoI’m so confused by this article’s comparison of GPT-4 to a powerful Go or chess engine. First, is coding some sort of competition like Go or chess? I have heard of competitive programming or code golf, but have little clue how that compares to “the craft of code” or why using GPT-4 diminishes it. Is it cheating if I use GPT-4’s assistance to write code? On the other hand, I do see why it would be harmful for people who don’t have the knowledge or experience to be relaying answers from an LLM to others on forums. Second, I am seeing a parallel here with the college educators being preoccupied with how to teach calculus. Yesterday, I was reading the preface that Martin Gardner wrote to “Calculus Made Easy” by Silvanus P. Thompson and he wrote something along the lines of how many students and even educators (circa 1998) do not see the point in knowing how to differentiate or integrate by hand. I suppose now more than ever, some people even suggest to stop teaching calculus to high school (and even college students) in favor of some kind of vague statistics, data science, or information literacy course. But most mathematicians would discourage that kind of approach. I think I agree with the last point about how it is not really about the knowledge of code itself but rather it is about being curious and knowing enough to not let yourself be taken advantage of.
- advaith08 3y agoI think the point of the comparison with chess is to show what happens when AI becomes vastly better than humans at something. GPT4 is not vastly better than humans at coding, but the author is using chess as an analogy to visualize what the world might look like if these GPTs continue to get better
- epcoa 3y agoThis article is inadvertently more about bullshit jobs and post clown world low interest rate free money. > He dialled up an FTP server (where files were stored) in an MS-DOS terminal and typed obscure commands. This is some code a UI in Visual Basic to trace a IP address level exposition right here (this is from a self proclaimed subject matter expert, so no excuse), they’re not deeply knowledgeable and just because they got paid 6 figures at some dumb post recession startup doesn’t change anything. (Others have already addressed the other howlers in this article)
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- awinter-py 3y agothis is by james somers! long arc from 'there's a gold rush and I'm the shovel' back in the day
- simonw 3y agoI guess you mean this article from 2013 https://aeon.co/essays/dad-s-company-made-burgers-mine-just-eats-them https://aeon.co/essays/dad-s-company-made-burgers-mine-just-... ?
- awinter-py 3y agoyes this really landed for me when it came out his 'you are reading the wrong dictionary' on his blog is also good
- 1vuio0pswjnm7 3y ago"From the beginning, I had the sense that there was something wrongheaded in all this." What was your first clue.
- fallingfrog 3y agoYou have to consider here that anyone posting on hacker news is a pretty smart cookie. We’re the clever kids in school, the ones who were curious and insightful. Now, chatgpt in its current form cannot think better than me. Faster, for sure, but not better. Its arguments and its explanations are a bit simple and it can’t make really insightful observations. Mostly it just states the obvious. However. There are people in the world that it can out-think. For every one of us there are 10 or 20 people who are pleasant enough but kind of thick, and gpt can already speak more eloquently than them. So where’s the bar for “intelligence?” Does it have to outclass the smartest human alive before we can call it intelligent?
- cantSpellSober 3y agoIt's funny, back in the days of IE6, Firebug, jQuery, it was so frustrating just getting something to work. Looking back, that's what made it fun. You could convince yourself you were a mad scientist building the next Turing machine. Having stability in the JS ecosystem now (hold for laughter) is better for users, and the developments in AI are interesting, but it's not as challenging to ship things. Maybe embracing the new challenges is the "craft" we should focus on to bring the fun back.
- unclebucknasty 3y agoWhen using ChatGPT for some tedious challenges—say, select coding problems and infrastructure setup issues on AWS—I have more than once had the feeling that people weren't built for this kind of work anyway, and that it's exactly the kind for which computers were intended. It wasn't always this way. Sure, programming has always been an exercise in precision and, thus, sometimes tedium. But, there's something in the way it has changed over the last decade or so. When I first started my career, I spent long hours solving problems of the algorithmic, logic, or control flow type. It was challenging mind work and called for creativity. There was real joy in making something work. It felt like creation. Now, programming consists largely of wiring together pieces of code that you didn't write, and consulting StackOverflow to figure out why it doesn't work. It's following someone else's decisions in an opinionated framework. It's transpiling and tooling and configuration. And, now that programmers are expected to do much more, it's also using someone else's software for devops and tedious infrastructure buildouts, etc. I'd say the joy in the software engineering role faded long before the arrival of ChatGPT. I'm actually hopeful that AI will help lighten the load of mundane tedium and help us return to the days when programming was fun.
- hiddencost 3y ago> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. I made some false starts using what I could gather, and while I did my thing—programming—Ben told GPT-4 what he wanted and got code that ran perfectly. I mean ... IDK, if you can't write that on your own without research, I don't think you should be writing a eulogy for programming in the New Yorker. (I just wrote two version, one using python's random.sample and the other more verbosely, to double check myself.)
- rrauenza 3y agoDoes chatgpt know the reservoir sampling method? https://en.wikipedia.org/wiki/Reservoir_sampling https://en.wikipedia.org/wiki/Reservoir_sampling
- gymbeaux 3y agoYeah it’s not a challenging problem, but the specific code example isn’t the point. Replace his example with “at one point, we wanted a command that would convert a PNG to a JPG….” most of us couldn’t do that without Google.
- tingletech 3y agowhy not use `shuf` from GNU core utils for the random and `convert` from ImageMagic for the png to jpg?
- gavmor 3y agoWhy not, indeed? There must be a deeper point these people are trying to make. ImageMagick is not obscure, is it?
- gavmor 3y ago$ cat /usr/share/dict/words | shuf | head -n 10 $ convert foo.png foo.jpg Took me almost literally two seconds to come up with that, unless your point is that at one point I had to learn it which, yeah, sure. What am I missing?
- slowhadoken 3y agoProgramming, like math, is its own reward. I think being ignorant of the two is a luxury with a hidden cost.
- AndrewKemendo 3y agoYeah but they’ll never master system design/architecture so I’m safe! /s We all knew it was coming
- mastazi 3y agoIf you want to become an architect, you don't need previous experience as a bricklayer. Many other fields besides construction are similar: most positions don't require previous experience as "manual labour". Software development was an exception to the rule, maybe it no longer is.
- safaa1993 3y agoTo be blunt, i got into programming (nearly 30 years ago) for the results, not the process. In fact if anything i consider the process a sort of burdensome necessity on the way to getting the results i'm actually after. Anything that shortens the path is good by me.
- xbmcuser 3y agoThere is a lot of office work that could be automated as chat gpt etc get better more and more efficiency experts will crop up selling efficiency ie less workers/cost/salary to do the same jobs.
- fungiblecog 3y agoA eulogy for programming as reinventing the wheel over and over again, possibly. But programming as a creative endeavour, no chance.
- simonw 3y ago> What I learned was that programming is not really about knowledge or skill but simply about patience, or maybe obsession. Programmers are people who can endure an endless parade of tedious obstacles. This captures the reason I'm optimistic about AI-assisted programming. The learning curve for getting started programming is horribly steep - and it's not because it's hard, it's because it's frustrating. You have to sweat through six months of weird error messages and missing semicolons before you get to the point where it feels like you're actually building things and making progress. Most people give up. They assume they're "not smart enough" to learn to program, when really they aren't patient enough to make it through all of that muck. I think LLMs dramatically impact that initial learning curve. I love the idea that many more people will be able to learn basic programming - I think every human being deserves to be able to use computers to automate tedious repetitive tasks in their lives.
- javajosh 3y ago>You have to sweat through six months of weird error messages and missing semicolons before you get to the point where it feels like you're actually building things and making progress. Computers are rude and honest and humans prefer a pretty lie to an ugly truth. Programmers must appreciate the ugly truth in their day-to-day lives more than any other profession. (Physical engineering and construction workers and repairers also need this virtue, but less often since their feedback cycles are slower.)
- k0k0 3y agoMore than doctors? Feedback cycles in the OR and ICU get pretty fucking short. I do think the overall premise is silly, programming isn’t that special in this regard in my opinion. Most professions are like this, they just might not be the most visible ones like politics, journalism, show biz. Software developer have more to learn from other professions than they often think (the old engineering professions understand this a bit better)
- quickthrower2 3y agoIt is the same messy tedious thing with LLMs though. You still have the complex brittle artefact that is code. LLMs writing code is the beginning, but low or no code is more ideal for most people. With LLM assistance.
- tayo42 3y agoWhats the workflow for writing code like the app mentioned with chat? My experience was like the authors, its a massive environment set up, plus even small projects have 10s of files. How does the model keep all that in context plus changes. How do you start a new session? I checked some small cpp project and the code alone is 168,000 words, so thats already larger then the gpt4 context, that doesn't even include iteration and chat history. IDK where you would even get started. Also, dont really see the comparison between programming and chess. In chess you can still compete to be the best human chess player. Coding or working in corporate america doesnt really have that.
- maerF0x0 3y agomy understanding of history is the Catholic church wielded great power over the populace by having both literacy, but and also in Latin (a less accessible language). With 99 theses and a German bible people could easily get their religion on without the priestly class. This feels like a metaphor for what has happened in computing.
- DeepSeaTortoise 3y agoLatin was the most accessible langague in all of Eurasia from the time of the Roman empire until the start of industrial revolution. The Catholic church tought Latin to everyone who either became a member of the church, payed a small fee in either money or labor and in many cases for free. People regularly went on pilgrimages to remote places all throughout Europe and perfectly understood each other, because nearly everyone could speak Latin. Even when the Portugese landed in China they were greeted in Latin. At somepoint the upper classes started talking more and more in regional dialects and older languages, which then spread to the normal people. The church reacted pretty much immediately to this trend by requiring prayers and certain parts of the mess to also be conducted in these regional languages (somewhere around the 8th century, I think?). What was low initially were the literacy rates, because books were incredibly expensive. Which didn't mean that the people couldn't read or write, just not to the degree necessary to read or copy the bible in Latin, which was the most available book at the time.
- gwoolhurme 3y agoAs someone who bounces back and forth between I will be okay to anxiety that I am doomed. I have no idea how to prepare for this future...
- autonomousErwin 3y agoI think one of the undervalued things is the hack-iness/curiosity nature of (good) developers which will be hard to replace. I imagine there'll be a very short time where developers are in even more demand than they are now and that will quickly wane as everyone realises that the only job is entrepreneurship.
- calibas 3y agoUntil there's actual general AI, we'll still need people that understand how things work on a fundamental level. You can use AI created code, but you still need someone to tie everything together. You're also going to want an experienced person to debug when something goes wrong. I think it's funny how terrified people are at the prospect of AI and machines doing most of the work for human beings. If used intelligently and equitably, it'll mean more free time and prosperity for everyone.
- summerisle 3y agoThe first point seems to be generally accepted, though the second about "prosperity for everyone" presupposes some very drastic social changes. Automation tends to make a portion of people more prosperous at the cost of displacing some other portion. In order to realize prosperity for everyone, there must be minimal displacement and likely a robust social safety net to enable the displaced to recover and attain prosperity at some later time.
- bruce511 3y agoObviously we can discuss the merits of GPT4, but actually my first issue is with his root question; >> I would make sure that my kids could program computers. It is among the newer arts but also among the most essential I've got kids. 1 can program. 1 tried it, and didn't like it. 1 just rolled her eyes at me. Turns out, for most people, programming is not like reading or writing at all. Got a question? Ask Google (or GPT) or Alexa. 99% of people can't code, and will never need to code. You may as well argue that cooking healthy food is a universally needed skill. Or riding a bicycle, or kicking a ball. All are of course really helpful life skills, but lots of people get by in the world just fine without them. So as one parent to another, I can tell you that you don't need to worry about this. It's good you have plans for your children. But don't worry too much about it. Turns out children will learn what they are interested in, and pretty much ignore the rest. They'll grow up, change, mature and become functional people in their own right. No doubt you'll get plenty of eye rolls along the way.
- danielmarkbruce 3y agoWould you say the same about math or reading?
- csnover 3y agoI’m not the op—they explicitly stated programming is not a skill like reading or writing—but I’ll go down this rhetorical path for fun and say: sure, why not? The utopian aim of technology is all about offloading burdensome work so we can focus more on the things we enjoy. If reading is a burden to someone, why not let them use a TTS? If long division is a burden, why not let them use a pocket calculator? They’ll probably learn enough to get by even if they never get to the point of reading Dostoevsky by sight. Lest you say, “well but those skills are essential!”, humans needed food to survive before we needed mathematics or written language, yet we’ve been been OK outsourcing farming for at least a century because we’ve experienced how it frees us up to pursue other things. And, to that end, we’ll probably be facing some pretty extreme civilizational crisis if we get to the point that someone without basic maths skills can’t find a calculator.
- pdimitar 3y agoIt's quite amazing how divisive the AI topic turned out to be in HN. My opinion is that AI proponents extrapolate too much and too optimistically; they always assume linear or simply uninterrupted improvement, and they assume they breadth of AI will increase as well. I see no proof for any of those so far. Time will tell, obviously, and they may very well turn out to be correct. I just wonder why people get so worked up about it. Personally I also don't understand why people want the programmer profession to cease to exist but oh well. I guess envy and schadenfreude are factors. I wouldn't know because I don't wish anyone unemployment.
- adastra22 3y agoAI proponent typically assume exponential growth. They'd consider linear to be pessimistic :)
- ultra_nick 3y agoCompound growth has been the most realistic historically.
- adastra22 3y agoAll exponentials in this context are actual S-curves. An S-curve matches an exponential historically, until it suddenly doesn’t.
- rchaud 3y agoAI proponents need to provide the equivalent of a JSfiddle or Codepen when saying "AI can fix this" on long-standing challenges. Something that shows a rough prototype of how AI would be used to solve the problem. That would greatly help improve the perception of such people who otherwise sound like the mindless AI boosters posting shallow engagement-bait on Twitter. Crypto-optimism has poisoned the well. Too much unchecked boosterism.
- pdimitar 3y agoI've been saying the variations of the same and I'm always mercilessly down voted. Guess they have taken over HN?
- EZ-E 3y agoI don't see it - and by that I don't mean I don't think AI can write good code and get better over time. I just don't see how it would work as a workflow to replace (most) devs by AI. If I take a junior programmer's task, say, creating CRUD endpoints. Describing the requirement in a way that matches exactly what I want will probably take more time that doing the coding assisted by something like copilot. Can we really imagine a non technical user using an AI having it do development from A to Z? What if the generated code has a bug, can we really imagine that at no point someone will need to be in the loop? Even if a tech person intervenes in the case of a bug how much time would be lost to investigate what the AI wrote and trying to understand what happened in retrospect - the time or cost saved to write the code would be lost quickly. Writing code is a small part of the job after all. LLMs are good at generating code, but they are fundamentally not problem solvers. The technology is amazing but I think LLMs will just be another tool in the arsenal for devs. It's also an amazing tutor. It can avoid having to call a developper for some self contained problems (writing a script to scrape content from a web page for example).
- creesch 3y agoI agree in the sense that, in its current state, will not replace devs entirely. But it can make the workflow much easier for many devs, to the point where you'd possibly need less of them or can get more done with the same amount. I commented about somewhere else in this thread: https://news.ycombinator.com/item?id=38259425 https://news.ycombinator.com/item?id=38259425 But basically I have found that it is a really powerful general purpose assistant/brainstorming pall for a lot of the things that would normally eat up a lot of time. To expand on that, it isn't even limited to code, but also surrounding tasks. I have used it to round out documentation in various ways. Either by giving it a lot of the rough information and asking to write coherent documentation for me, or by giving me feedback. The other way around it has helped me onboard on new projects by giving it bits and pieces of written text where I had trouble understanding what the document said. In the same sense when dealing with management bullshit I have used it to just presenting it with what was asked, telling it my view on it and then asking it to come up with responses based around certain perspectives. Which meant I had to spend less mental bandwidth on inane stuff there as well. And yes, a lot of it can also be achieved in a team with other people. But, those people aren't always around and also have their own things to do. The advantage of tools like ChatGPT is that they don't get tired, so I can really channel my inner toddler and just keeping asking "why" until I am satisfied with the answer. Even if there are other people available to turn to for help, ChatGPT can also help in refining the questions you want to ask.
- 4death4 3y agoI share the sentiment with others here that have become disillusioned with LLMs. Yes, their capabilities are impressive, and their progression is quite striking. But what I have realized, about programming specifically, is that I don't think LLMs can do a better job than humans. To many futurists hopping on the hypetrain, this is probably somewhat of a hot take. But let me explain. Ultimately, programming is about instructing a computer on what to do. We use programming languages because they're highly efficient representations of what a computer can do. In the case of LLMs, we need to use natural language to specify the program. For simple things, this can work great. But for complex programs, it's not easy to articulate exactly what a program should do. As you drill in to the details, you begin to experience an almost exponential growth in the amount of natural language specification you need. And so I think there is something very flawed in believing that you can replace human programmers with LLMs. In my personal opinion, a single programmer will be able to outproduce a single LLM prompt engineer, purely because programming languages are better at expressing ideas compared to natural language. At a certain point, it becomes faster to write code then to write sufficiently detailed prompts. As a thought experiment for the reader: consider a complex system you've worked on. And now try to imagine writing down a specification for the system in natural language that an LLM could use to generate the code that powers the system. I honestly don't think I could do it for many of the system I've worked on. So yes, I think LLMs are cool. And I think they're cool because they give creative power to people who can't program. But for sufficiently complex things, i.e. things people care about, a natural language interface isn't the answer.
- darkclouds 3y ago[dead]
- crabmusket 3y ago> As a thought experiment for the reader: consider a complex system you've worked on. And now try to imagine writing down a specification for the system in natural language that an LLM could use to generate the code that powers the system. But you didn't write it down, so how did the system get made? The answer is that the program exists in your head as much as it exists in bytes in your source files. There might be a mismatch between your head-program and the source-program, or between your head-program and what the customer actually wants. But the existence of the head-program is what Naur was articulating in 1985's "Programming as Theory-Building", and is what LLM proponents are rediscovering.
- teaearlgraycold 3y agoPersonally I’m not worried about my employability. Until AGI arrives (which may coincide with an apocalypse for all we know) AI will simply allow me to move faster. If it lets me move 1000x faster then the art will be in what to build. 1000x still does nothing compared to an exponentially exploding field of possibilities. And technical knowledge, experience working as a product focused engineer, and general human intelligence should be enough to beat AI at that art form.
- glonq 3y agoAs a grayhead who does not code daily anymore, I was impressed with ChatGPT as a programming sidekick. It's like having an on-call junior developer who only costs $20/mo. I needed a quick and dirty utility developed last month and by breaking the problem down into 4-5 steps myself I got ChatGPT to write functions for those steps and then I bolted them together. Most of it went smooth but one part took far too much coaxing and refinement before it generated the right thing.
- m463 3y agoI've noticed that over the years, coding has gotten easier. I've been able to express myself better with each year. I see AI as another higher-level way of expressing myself. Also, people don't write as much new code as they think they do. Still, I have many many... MANY projects that I have on my wishlist. Maybe AI will help, but my list won't go away.
- dagw 3y agoI've noticed that over the years, coding has gotten easier. That is the history of programming in a nutshell. I know I've told this story before, but my wife's uncle talks about the revolution he felt when FORTRAN IV was released. Finally you didn't have to know anything about computers or programming to write programs. You just told the computer what you want it to do and it sorted out all the hard stuff for you. Engineers like him could now just use computers on their own and didn't have to wait for the programmers to have time. He spent the rest of his career writing code without ever learning any of the 'craft' the veteran programmers at the time would have considered necessary.
- hm-nah 3y agoThis is a badass article.
- ryukoposting 3y agoGPT-4, copilot, etc are absolutely worthless for firmware. Copilot shows no meaningful capacity for understanding the context of a firmware codebase, and forget generating anything coherent based on your instructions. I don't need help writing function declarations, but that's the only thing it's useful for (and even that is heavily limited).
- aspyct 3y agoGenuine question, as I didn't use LLMs much: Sure, they're good for quick prototypes or even launching production grade services. But what about maintenance? What about fixing issues in legacy software?
- cloverich 3y agoYesterday I asked chatgpt to write me some boilerplate and it did. I went through the exercise of using it, find some bugs, pointing them out, and fixing them (with help, or on my own). Today I asked a similar question and it gave me boilerplate. Then it ran the code. Then it noticed the error, then it fixed it on its own. All without me typing anything at all. I pointed that out to someone, and they did not appreciate that it has quickly gained the capacity to test if what it says is true, at least in some limited sense. I'm in awe. At any rate, I think yes, you plug in code and ask it questions and it can answer them, over time answering them better. Since i've been using it not only can it execute code, but can generate test cases and test _data_. I think wrt to legacy code, it could come up with tests and refactoring strategies. More generally though, AI is coming. And with it, the ability to write better code than even the best of us. That maybe a year or 50 out, I"m not sure. But its coming. And with each passing day, I move the "when" more into my lifetime.
- sharkjacobs 3y agoFrom the article: > You can’t just say to the A.I., “Solve my problem.” That day may come, but for now it is more like an instrument you must learn to play. You have to specify what you want carefully, as though talking to a beginner. It’s easier to explain “solve this common problem you’re already familiar with” or “create a prototype with pretty flexible specifications” but if you can break down and explain a problem to a rubber duck[1], you can explain it to GPT4, and it’s a better conversationalist than the duck [1] https://en.wikipedia.org/wiki/Rubber_duck_debugging https://en.wikipedia.org/wiki/Rubber_duck_debugging
- fumeux_fume 3y agoA lot of this article and many of the comments here don't really comport with my experience programming and designing programs. Many or all of the examples in the article seem like toy programs meant to do something relatively straightforward/simple with loose constraints, but in a domain or using tools unfamiliar to the programmer. However, many programmers find themselves in the opposite situation: using tools they're familiar with to solve complex problems with hard constraints. It's in that kind of situation where I've found that GPTs aren't much of a game changer. Many of the top comments voice a hated of programming--that programming gets in the way of creating. For a certain set of problems I completely agree (like why is making a website so damn complex), but for many of the problems I work on there are a wealth of good, helpful tools and APIs such that the writing of the code melts away and I'm left with the intellectual challenge of organizing my thoughts and thinking creatively. To me, the article and some of the top comments tell me more about the problems they choose to tackle than the act of programming itself.
- teaearlgraycold 3y agoAlso many of these programs described in the article have been built many times before. This is effectively like saying programming will die because you can download programs off of GitHub. The "making flappy bird with GPT-4 in 30 minutes" YouTube videos are fun to watch, but I'll do more than raise an eyebrow when someone releases a novel video game on Steam written primarily by GPT-4 in a fraction of the time a human alone could have.
- specialist 3y ago"Computers are useless. They can only give you answers." -- Pablo Picasso
- oivey 3y agoI agree. I think there will be lots of hard problems where an LLM is unlikely to be successful for quite a while. For high surety software like encryption or numerical software I think this is especially the case. Sure, you can have an LLM create a draft still, but you’ll need a lot of skill to refine it into something correct and trustworthy.
- type4 3y ago> But taking a bird’s-eye view of what happened that day? A table got a new header. It’s hard to imagine anything more mundane. For me, the pleasure was entirely in the process, not the product. I think that's where I differ from a lot of the artful programmers, I've never found pleasure in a perfect, beautiful solution. I get annoyed when I have to dump hours and hours into something that 'should' be simple! I don't want to spend my time fiddling with layouts, CSS, Oauth handshakes, etc. I want to build stuff and get paid for it, that's how I view my job as well. Less logician and more mechanic. I use ChatGPT as much as I can, to do all I can and then fix the output when it's needed. I view it as a higher level programming language, that spares me from the burden of thinking of low-level details. It's same the reason I code in Python/Javascript rather than C++ or other languages, the goal is to make something of use. That's my goal to stay employed, become one with the language du jour, in the same way I've jumped from PHP to Jquery to React to ...
- deleted 3y ago[deleted]
- pjmlp 3y agoDefinitly, this is what many seem to be missing, today LLM might help write the code, tomorrow they will compile the whole application themselves, they won't need the babysitter developer any longer.
- summerisle 3y agoRegardless of the quality of work done by an LLM, all of this AI hype has done an absolutely stellar job of clearly dividing the world of software development into two cohorts: those who care (to literally any degree, about process or product), and those who are only involved in it because it makes money. I have never quite liked the latter, because they are often difficult to work with, tend to lack any motivation to develop an in-depth understanding of certain concepts or problems.
- vlunkr 3y agoI’ve never met anyone in the latter category who made it through their code bootcamp.
- dimva 3y agoI've been programming since I was 7, and I've always viewed software development as a means to an end. The alternative seems crazy to me - coding without a purpose? Why on earth would you want to do that??? I've been very successful in my career. Things I've built: Bloomberg's domain-specific language and simulation engine for asset-backed securities, a custom database that can process 100,000s of writes / second and 10,000s of reads / second, and the robotics framework powering the Cruise self-driving car (RIP). I retired at the age of 33. The domain you're working in is usually more important to fully understand than software engineering concepts, although I try to understand both. But I don't really care about software development for its own sake, and I welcome LLMs replacing the more annoying grunt-work parts of the job.
- yonisto 3y agoI'm currently re-writing a GPT4 code which is a very interesting experience. The biotech startup I join 3 months ago have a pipeline written by one of the founders, who has experience in programing but not extensive so he used co-pilot and GTP a lot. The thing WORKS, it actually delivers! this is what got the startup going so it is amazing. On the first month of the re-write I was able to cut costs in the 100x mark. And on the third month I was able to uncover some subtle bugs that affect the entire pipeline and fixing them is out of the realm of possibility in the current state of AI. I have no answer whatever employers will continue to value what I bring to the table in 5/10/15 years time especially after AI will improve. I suspect many will not as they will have 'good enough' results from the AI.
- d3ckard 3y agoThose good enough results in the cloud world are going to cost them arm and leg. I for one would much prefer to spend my time on optimization of already established routines than on the damn ping-pong between product, design and "external stakeholders". It's actually what I was trained for.
- TMWNN 3y ago>The biotech startup I join 3 months ago have a pipeline written by one of the founders, who has experience in programing but not extensive so he used co-pilot and GTP a lot. The thing WORKS, it actually delivers! this is what got the startup going so it is amazing. Indeed! >On the first month of the re-write I was able to cut costs in the 100x mark. That's clearly where this is all heading: AI delivering the rough draft, and humans applying what AI inevitably misses. >And on the third month I was able to uncover some subtle bugs that affect the entire pipeline and fixing them is out of the realm of possibility in the current state of AI. It's entirely possible that had you or another human written the thing in the first place those bugs (or equivalent thereof) would have still been there. As you said, "subtle". >I have no answer whatever employers will continue to value what I bring to the table in 5/10/15 years time especially after AI will improve. I suspect many will not as they will have 'good enough' results from the AI. I would be more optimistic based on your own account, for the reasons I mentioned above. That said, I am glad that I am self-employed, with a business that I am quite confident AI cannot replicate, and code purely for fun.
- n_ary 3y agoHere is the controversial take from my perspective: All these AI replacing coders and creatives is just a broad marketing campaign to put downward pressure on dev and creative salary. We could've said the same thing back when Code generation was popular. Or we couod say the same thing about stackoverflow, because a non-tech person can bungle together enough solutions from there to build something. Heck NoCode(TM) was putting coders out of job in last decade and here we are in 2023. Compared to GPT's code-fu, most image generation models are light years ahead(imagine how those models can combine best of different artists into one painting), yet I still have plenty trouble describing in excruciatingly details about the painting I want with all the prompt-engineering-sauce and the end result is usually far away from desired state unless it is just normal sticker stuff. Explaining requirements is hard, adapting to changes is hard, we still write tests and relatively every MR needs some fixes/updates and we have a whole army of management people trying to do the prompt engineering thing and we still have to interpret in between lines to get a piece of software(even basic CRUDs that makes millions), so yeah, it is all hype driven marketing catering to enterprise about saving all those money but in the end still spend more on the token count and prompt engineering and another army of people figuring out the right keywords to describe the product and whatnot. All this things are mostly the same, it is like claiming that we'll habe quantum computers just like next year and any Joe rando can train their own GPT or crack open the SSL layer. Don't feed the hype cycle of these marketers with ypur fear because more you engage on this, more their boat is lifted. Show me a real product that was built/written by GPT and is making even few hundred in monthly revenue and I will be happy to change my mind.
- CodeCompost 3y agoI don't know what's going on, but lately on /r/programming there has been a /lot/ of negative pessimistic and downright angsty articles on software development, like there is some kind of campaign to downgrade the career of software developer.
- ed_elliott_asc 3y agoI don’t really go on Reddit so don’t know if something is going on but I know there has been very few jobs this year compared to normal times and rates have been going down so it could be genuinely disaffected people being angry rather than a coordinated campaign.
- uticus 3y agoChatGPT is another layer. Human -> ChatGPT -> high level programming language -> lower level language / IL / assembly -> microcode -> circuit. ChatGPT will not only survive, it will get bigger as long as all those layers exist. Unless web design is ready to move to assembly level instructions via RPC (ChatGPT can do assembly), the layers will stay, the complexity will stay, and people who get (and attempt to sell) value from recombining the puzzle pieces will stay. The real point is not that ChatGPT is so good, it is that everything we program has already been done before. We humans just have trouble finding the pieces and gluing them together.
- devmor 3y agoI’m far more threatened by pennies-on-the-dollar third world contracting firms (and the businesses that abuse and manipulate hiring regulations to make use of them) than the immature novelty tool that is generative AI. That being said, those firms are certainly making use of these tools - relying on their underpaid programming staff to clean up the output into something useable for the client.
- lionkor 3y agoLLMs can be very impressive, but "coding" can be a lot more than traversing a btree or sorting an array. There is software engineering, which is probably what most well paid devs do a little bit too much of, which is requirements analysis, planning, talking to the customer, estimating, etc. Sure an AI could help with all of that, but leaving that entirely up to an AI probably wont work for a very long time. You'd need a real AGI to take over work that has that many social aspects and requires that much planning and consideration. There is algorithms and datastructures, which is important for developers to learn, but usually not important to write yourself unless thats literally your job. There, LLMs could help with understanding, possibly visualizing these algorithms, and providing example use cases. There are hobby projects, which generally wont be done with any AI by most people I know, since the point is to program for fun. AI can help with that, e.g. for inspiration or example implementations of little weird algorithms. There is maintenance. Once a product, especially a B2B product, reaches maturity, a lot of the work is bugfixing, smaller features, updating dependencies, porting to new platforms, etc. I could see LLMs taking some of this work away, which everyone would probably appreciate. In the end, I believe that AI and in particular LLMs just help programmers, and will maybe replace the 6€/hour outsourced copy paste programmers, but that is... not very scary.
- ken47 3y agoIt feels like this article was not written by a programmer, and it feels like a number of the commenters are not professional engineers. What part of a programmer jobs can AI realistically replace in the near term? For the sake of argument, let’s say it could replace the coding part cost effectively. Can it still do all the other parts? Take ambiguous requirements and seek clarity from design, product, etc. (instructing an AI to a sufficient degree to build a complex feature could almost be a coding task itself). Code reviews. Deal with random build failures. Properly document the functionality so that other programmers and stakeholders can understand. Debug and fix production issues. And that’s just a subset. Realistically, in the future there will be a long phase of programmers leveraging AI to be more efficient before there’s any chance that AI can effectively replace a decent programmer. This will be an advantage to engineers who think on the more abstract side of the spectrum. The “lower level” programming tasks will be consumed first.
- FeepingCreature 3y agoThe thing about GPT is that it has approximate knowledge of nearly everything. It makes errors, but the errors are seemingly uncorrelated with human errors. And it knows stuff that I could take hours to search for, especially as Google becomes more and more useless. Personally, I use it for scripting and as an executive function aid.
- Closi 3y agoI suspect automated code reviews and doing high-quality automatic documentation (i.e. better than current standards in most projects) will be fully within the capabilities of LLMs soon. Fixing random build failures will probably follow... So then the question is what % of a programmers job might be taken by this, and does the remaining % require a different skillset. There are programmers that are great at coding, but complain loudly when the business gives slightly ambiguous requirements because they see their job as coding, not clarifying business rules. This group are more likely to be impacted than the programmers who will happily work in ambiguous situations to understand the business requirements.
- ken47 3y ago
- abhaynayar 3y ago> As he later put it, his own neural network had begun to align with GPT-4’s. > Having found the A.I.’s level, I felt almost instantly that my working life had been transformed. Everywhere I looked I could see GPT-4-size holes; [...] I think this is key for me at least. GPT-4 is really good once you start figuring out what problems NOT to give it. Because there are certain things that it can't solve no matter how much you prompt it in the right direction, and it gets really annoying really fast.
- aurbano 3y agoI see a lot of comments wondering how AI could be useful as a software engineer so I'll give my take on it: I envision it being able to fully replace a junior engineer, and in some use-cases senior engineers as well. In the case of junior engineers: the AI should have access to an internal knowledge base (i.e. Confluence) and the task/ticketing system (Jira), and ideally the internal chat (Slack). I would assign tickets to it, and I'd expect the AI to reply with comments asking for clarification when there is something unclear, or proposing an implementation before starting if it's not a very simple task (this could even be defined in the task, using story points for instance. Once cleared, the AI submits a PR linked to the task - so far just like any engineer in the team would. The PR gets reviewed as usual, with suggestions/requests for changes made by the (human) team, which then get addressed by the AI. With the big difference that all this process may happen in less than 1h from ticket creation to PR review. I wouldn't expect it to be able to implement complex features, onboard new libraries, or rearchitect the system in major ways to accommodate future features - just like I wouldn't expect that from junior team members. It would obviously be amazing if it could incorporate previous PR comments into it's "context" for future work, so it could learn and improve. Separately I mentioned it could also do part of the job of senior team members - in the form of PR reviews. If it has access to every previous PR review and learns from them it might be able to give insightful suggestions, and for very large codebases it could have an advantage over humans as it could find patterns or existing code that may be overlooked (i.e. "It looks like this util function you added is the same as this one that was already there", or "This code looks different to similar areas, but follows a different pattern, you might want to rewrite it this way //..." Is GPT-4 there? Definitely not, perhaps an LLM is not even the way to achieve this, but I absolutely see this becoming an incredible asset to a tech team.
- pipeline_peak 3y agoI think people like the author are starting realize coding is a very generic thing. And that it’s not itself “beautiful” but can be used to apply “beautiful” concepts.
- happytiger 3y agoDo people seriously consider this the waning days of the craft? I don’t understand that. My view is that I am about to enter the quantum productivity period of coding. I am incredibly excited about AI assistance on my coding tasks, because it improves not only what I’m writing, but also helps me to learn as I go. I have never had a better time writing software than I have in the last year. I’ve been writing software for a few decades. But now I’m able to overcome places where I get stuck and have almost a coach available to help me understand the choices I’m making and make suggestions constantly. And not just wandering over to a fellow cuders desk to ask them about a problem I am facing, but actually give me some productive solutions that are actually inspirational to the outcome. It’s amazing. So why do people think that coding is coming to some kind of end? I don’t see any evidence that artificial intelligence coding assistants are about to replace coders, unless you… suck badly at building things, so what are people getting on about? I feel like somebody came along and said, “foundations are now free, but you still get to build a house. But the foundations are free.” I still have to build a house, and I get to build an entire house and architect it and design it and create it and socialize it and support it and advocate for it and explain it to people who don’t understand it but… I don’t have to build a foundation anymore so it’s easier. Shoot me down. I’m not relating here at all.
- tangjurine 3y agoThe author isn't a professional programmer. He has a couple side projects and doesn't seem very good at coding.
- happytiger 3y agoThat’s interesting. I think there’s a real shift going on in terms of what coding actually means I’ve never produced so much code so quickly and it’s disconcerting to the part of me that wants to feel like I earned the outcome on a pretty deep level because I can just generate shit that works so fast and then just edit it until I get exactly what I’m looking for and it feels like cheating in a weird way. I still don’t feel that way about front end frameworks for the web. Oh my God what what are people doing?
- hcks 3y agoCoders had decades to unionise and setup legal barriers to protect their livelihood. (Doctors won’t ever be out of a job because of AI because they’ll always get a fat paycheck even just to look at the output spat out by the machine.) They didn’t out of misplaced hubris and elitism ("just be the best 10x engineer ever and you’ll be safe"). Now they have less than 10 years before their wages start crashing hard.
- tangjurine 3y agoI don't think you can call this guy a coder. I can solve some math problems/write some proofs, but I wouldn't call myself a mathematician. It's about if you do it for a living, and this guy mostly has some fun side projects. Don't think this guy is qualified to comment on ChatGPT taking over, like another comment was saying.
- reactordev 3y ago(as they know it). As someone who also learned to code in the same time era as the author. The craft that we were taught is dying and a new way emerging. Programming has already changed drastically since the 90s. Exceptions around low level languages, everything else is orders of magnitude faster, more efficient, more succinct, and more abundant. Combine this was AI assistance and it’s like you have super powers of productivity. Cry about how you no longer have to code the small and mundane, but solving problems and writing software is more than just coding small mundane things. It’s how those mundane things are architected and called to do a really big thing.
- miiiiiike 3y agoI have a simple front-end test that I give to junior devs. Every few months I see if ChatGPT can pass it. It hasn’t. It can’t. It isn’t even close. It answers questions confidently but with subtle inaccuracies. The code that it produces is the same kind of non-sense that you get from recent bootcamp devs who’ve “mastered” the 50 technologies on their eight page résumé. If it’s gotten better, I haven’t noticed. Self-driving trucks were going to upend the trucking industry in ten years, ten years ago. The press around LLMs is identical. It’s neat but how long are these things going to do the equivalent of revving to 100 mph before slamming into a wall every time you ask them to turn left? I’d rather use AI to connect constellations of dots that no human possibly could, have an expect verify the results, and go from there. I have no idea when we’re going to be able to “gpt install <prompt>” to get a new CLI tool or app, but, it’s not going to be soon.
- Banditoz 3y agoWhat sort of questions do you ask out of curiosity?
- miiiiiike 3y agoI don’t want scrapeable answers out there, I want to see ChatGPT cross this little Rubicon on its own. Vaguely: Questions that most people think they know the correct answers to but, in my experience, don’t.
- lairv 3y agoI think it's fair to want to keep an evaluation private so that it doesn't become part of a train set, but you should know that OpenAI uses users chat data to improve their models (not for entreprise)
- archiepeach 3y agoThis does sound like a test that is almost "set up to fail" for an LLM. If the answer is something that most people think they know, but actually don't then it won't pass in an LLM which is essentially a distillation of the common view.
- JonChesterfield 3y agoThere appears to be consensus that these models generate code very quickly, relative to a person typing, and that the code emitted varies from totally wrong to subtly wrong. Thus they're going to significantly increase the amount of code in production and that code is going to tend to be of the subtly wrong kind. This is my non-web-dev impression of the javascript world. Loads of code out there, basically all of it wrong in a bunch of places. Reasoning by analogy with that, one should expect the reliability of computer systems to go downhill from here. The interesting question for a professional software dev is where one can add value in a world in which essentially anyone can produce large amounts of code that sometimes works. My hunch is that it's going to be really important that the languages and libraries in use are totally solid as they're essentially being fuzz tested continually.
- brailsafe 3y agoThe job market this year, even as someone with a fair bit of experience, is already dogshit for other reasons. I do see the writing on the wall, and am considering re-starting from scratch in something completely different, but I don't know what yet. Though I don't see dramatic leaps in capability happening, opportunity, or productivity happening as much as labor price reducing even further and competition increasing to the point where I don't know if it'll be worth trying. Carpentry seems like growing field though.
- LAC-Tech 3y agoLLMs have not significantly changed the way I code at all. It's only good at very basic mechanical tasks.
- benreesman 3y agoI was trying to get whisper.cpp built under buck2 this weekend. Unsurprisingly nothing from GPT-4 to valiant to vanilla llama knew how to do that. I got it done but no model (search or LLM) was any help. I only need help when it’s hard. I’ve already got a BERT-style model completing my queries on Google. If your entire job could be done by riffing on stackoverflow answers? Yeah, I’d try to climb the value chain. But most people’s job isn’t to copy paste shit.
- karolist 3y ago> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. No offence to the author but given that this stopped them in their tracks I choose to ignore their programming related opinions.
- delbronski 3y agoI used chatgpt4 recently for two projects. One was a success, the other a complete failure. In the first project I asked it to help me build a one page ui with html and css, it did great! I know a lot about html and css, so I was able to ask for what I wanted and help it debug. For the second project I wanted what I thought was a simple threejs animation of an object following a line in a scene. I know very little about threejs and graphics in general. I spent hours wrestling with chatgpt to get this working, but I just got what looked like meaningless non-working code to me. So I took time to learn about threejs, did a few chapters of a course, and came back to the problem. And all of the sudden I had new vocabulary I could use to ask chatgpt what I wanted. And I got pretty close to what I wanted, but not quite. I suspect if I keep learning about threejs and how graphics work I’ll get there. I don’t think this is the death of our craft, but definitely a big turning point for how we build and use software.
- nercury 3y agoThe more you use GPT, the more you will understand that it's not the replacement for your attention to the work. And without the attention to the work, you can't spot bugs, blatant inefficiencies, or better design choices - in other words, if you don't take care, you won't even know what you are missing. I write code with GPT every day for almost a year now, and it helped me greatly to kickstart code that was hard in the past, namely, audio synthesis, vulkan rendering, and other things that were hard to approach. But it's very clear at this point that it shall not be trusted, because it's like a coat of a nice paint put on top of all the clever or dumb stuff that exists on the internet. You never know which one you get, but sure it will be worded convincingly.
- joebergeron 3y agoI wonder if there are parallels to be drawn here against the industrialization of other, physical, goods, and how their production evolved over time. If you look at something like, say, printing (I'll use the example of woodblock printing here, since I know a decent amount about it), it originated very much as a craft and discipline, as a means to fulfill a particular function. As printing technology improved and became better industrialized, the craft of printing was gradually replaced with other means that fulfilled the same function, but possessed a different form. i.e., lacking those characteristics of products of craft that we find desirable; artless. We've been able to fulfill the function of printing very cheaply for what seems like ages now, and we've reached a point where some niche and particularly attuned segment of the population wants a bit more out of the actual form of the printed product, the depth of form that was once common. There is a growing community of people that deeply care about woodblock prints now, favoring their physical characteristics, despite such prints falling out of fashion for a period of time during the heights of industrialization. This group of people understands the value of such craft, and is willing to spend more for it, since the difference in the form of the end product from mass-produced stuff is so stark. The key thing here, and with other categories of physical goods (e.g. pottery, glassware, furniture, etc.), is that there's an obvious and tangible difference in the form of products produced via traditional means, and those mass manufactured, despite them serving fundamentally the same function. With software however, I worry that this isn't the case, and the sort of resurgence of interest we see now in products produced by traditional means won't ever translate, assuming that we do move in the direction of more and more software engineering being "automated" by AI assistance. To an end-user of a piece of software, I imagine that there will be very little visible difference in the observable characteristics between fully hand-written and AI-produced software. Indeed, given the same requirements, there ought not be a difference between these two things. It's exactly this delta, however, which drives the passionate and less cost-sensitive enthusiasts to prefer handmade physical goods over manufactured ones. If both the form and the function of AI-produced software is identical to those of traditional software, but the AI-produced software is cheaper, why would anyone go with the traditional stuff? I understand that there are other factors at play here as well (e.g., particularly principled consumers etc.) but really, some combination of form, function, and cost seem like the biggest levers to me, and they seem on the face of it to be pulled toward the direction of AI, for better or worse.
- ern 3y agoI manage a number of development teams, and I don’t get to write much code anymore, but I was asked to urgently build an integration. The team lead I was going to assign the task to was offshore, and not yet online, so I put the URL for the documentation into ChatGPT premium, and it spat out a working solution. My team lead was a bit perturbed and created a more enterprisy solution with factories and DI (more out of pride than necessity), but my original code was production ready. I’m not going to be firing anyone just yet, and certainly not my senior people, but I can see a lot of grunt-level work going away.
- kubb 3y ago[flagged]
- ern 3y agoWriting code is not my job anymore. It’s not ideal, but my time is better used elsewhere. In any case, I could have written the code myself, but this literally took a couple of minutes and it read the documentation for me. And it wasn’t just calling an API, there were some other parts to it. As for replacing me with one of my reports, that would be great, but they’d quickly end up in the same place as me. In fact, I’ve just spent a few weeks coaching one of my team leads in the art of effective delegation -being able to “let go” is one of the traits of an effective leader. What’s with the toxic tone?
- mnd999 3y agoEven if AI were actually good at greenfield dev, that’s still only a tiny part of the job, and not the hard part. Try fitting a huge legacy codebase in your prompt.
- Loxicon 3y agoThis sounds like a Chat GPT sales letter.
- deleted 3y ago[deleted]
- liampulles 3y agoThe really big problem with LLMs for general AI usage is the requirement of text input - this is a very limited way to represent ideas and intelligence. Our brain does not think in text, it just spurts out text as a side effect.
- dragonwriter 3y agoReally, they don't require text they require tokens, and they can be built with toolchains that turn aby kind of input into tokens. They are called LLMs because they are initially trained on a large bosy of text with all or some of the available tokens mapped to text, but they can also be trained with mappings of other inputs into tokens (either distinct or overlapping the tokens mapped to text), and then you end up with a multimodal toolchain. But even if they did require text, that's how a large portion of communication from work-issuer to human workers, and vice versa, goes, too, so even if it was true it wouldn't be all that limiting; we don’t communicate directly mentally withbother humans bypassing text.
- frabcus 3y agoThis varies a lot by people - some people's conscious thought is in images, some in language, some in unsymbolised concepts. Hurlburt's "Descriptive Experience Sampling" is a good source on this - see for example table 2 of https://hurlburt.faculty.unlv.edu/heavey-hurlburt-2008.pdf https://hurlburt.faculty.unlv.edu/heavey-hurlburt-2008.pdf Agreed that underneath that perceivable layer, there's lots else going on too. But to be fair, there's also lots going on the weights of GPT-4, e.g. see https://arxiv.org/abs/2310.02207 https://arxiv.org/abs/2310.02207
- Pufferbo 3y agoI hate the word “coder”. It’s such an undermining term. Saying that someone “codes” or is a “coder” is like calling a chief a “cooker”.
- trallnag 3y agoSo you also hate the word "developer"?
- sensanaty 3y agoWhenever I see people talking about how they use ChatGPT to write entire software suites, I feel like I'm taking crazy pills or something. I can't even get GPT4 to give me decent basic ass Ruby scripts where it opens a file that doesn't have some weird behavioral quirk or footgun, yet people often claim that they're doing insane feats with it all the time. My experience, even if I'm just trying to be lazy and have it generate some super generic code for me, is that I have to spend double the time I'd have spent if I just wrote the damn script myself with how much I have to scrutinize every single line it generates. And I personally have 0 desire to prompt "engineer" and do the "Open"AI's work for it by thinking up the perfect prompt for it. One day for sure these AI models will be really good and able to do some impressive stuff, but for now all I can see is a hype wave from people with vested interests in this stuff pushing it onto ignorants, akin to the crypto BS just with even more money behind it.
- no-ramen 3y agoI feel like those people who have most success with it use GPT for extremely common problems in the most popular JavaScript web frameworks. My experience with GPT-3.5 but Dart/Flutter is exactly the same
- Kailhus 3y agoI’ve had the same experience. Moreover, had to deal with some questionable code from colleagues which looked fine during reviews but as soon as you use it within context the control flow is totally out of whack resulting in by the weirdest debugging sessions. Not cool
- rixed 3y ago> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. Isn't the real waning days of the craft the fact that we consider this problem sort of "state of the art" ?
- blauditore 3y agoWake me up when the current AI hype is over. Eventually people will realize that getting the last few percent right is extremely hard, just like the last few times where we got just so close to AGI. What will stay are some nice tools for whatever tasks, maybe programming too. But bots won't replace software engineers. If they could do the current tasks, we'd just engineer one level higher, just like when high-level language compilers made low-level code largely obsolete (yes yes, not completely of course).
- parham 3y agoThis will test how egoless each programmer is. If you’re truly egoless and care about the outcome and not the path to the outcome… you’ll see how exciting this is.
- rpeden 3y agoWhy does that matter? A lot of folks chose programming as a career because they enjoy the path at least as much as the outcome, and I think that's a perfectly fine reason to choose a career. It also gives them good reason to mourn the loss of something that brings them happiness. They might be losing the only part of their job they actually enjoy.
- zacksiri 3y agoI think it depends on what you do, if you are doing repetitive work between projects, you're going to find that yes GPT can do most of the work you're doing. However if you're creating new systems, with multiple components and parts. You're going to find that GPT is not that much help. I pay for GPT-4 and Github Copilot, all I can say is when I'm trying to do repetitive work like writing tests, copilot swoops in and gives me 'mostly' working code. But when I go in to the real creative stuff, that needs real thought and is non-obvious, I don't get much help from copilot it either just doesn't suggest anything or suggests completely the wrong thing. I think at least for me, the comparison I would use is, construction work. There are many different kinds of constructions, anything simple from making ikea furniture to building bridges. If the coding you do is the equivalent of making ikea furniture. Then yes that stuff is going away, because it's going to be replaced by machines that can produce those parts in bulk. But if you're creating something special like the Burj Khalifa, or the Golden gate bridge equivalent but in code, no AI is not going to do that for you. It can help with some parts, but no way AI is going to do that sort of engineering, at least not in it's current state. I think it's worth noting "Coding" spans so many kinds of systems and scale. Not all coding work is the same. Even if you're talking about things which are well-known like "e-commerce" in that industry there are so many variations / many different scales / many different ways to look at the problem.
- sean_the_geek 3y agoMy two cents having used AI in programming. It is merely a tool to create. It is not the creator yet, at least in its current iteration. AI is to programming what electric drill were to wood working before they were invented. It made life easy; it sped up the process and may be it did a job a bit finer. But you still need to understand where to drill and how to create the thing. There are a number of analogies like this you can find.
- TDiblik 3y agoas a high school student, I'm more hesitant to go into CS degree not because of chatgpt but because it is constantly marketed as a high income job and A LOT of people are choosing/learning it. I wonder if it's gonna be the same in 10 years or so. Chatgpt/copilot make stuff easier and there are only so much CRUD apps to be made :/
- cnity 3y agoI like to think of a simple thought experiment when these types of arguments come up: Suppose you want some video game to exist. The most amazing, expansive, ground-breaking video game ever made. There are only two scenarios: 1. AI can replace coders altogether. In this case we live in an absolutely amazing world in which anyone can conjure the video game of their dreams instantly. 2. AI cannot do this, in which case there is still (clearly) an essentially infinite demand for new software. Obviously, we do not live in world number 1. If we have arrived at the world in which AI can do the job of all coders, then why is there not an infinite supply of high quality software? In fact, this would be a software utopia.
- gatinsama 3y agoExcellent point, but I'll add: World #1 would probably replace all other kinds of jobs. A part of programming, sure, is about languages, syntax, fixing bugs, functionality, etc. But the other part is about robustness, organization, and simplification. This other part won't die.
- interpol_p 3y agoI use ChatGPT daily and have been coding for over two decades. I get it to write all the tedious stuff, and it basically writes all my internal tools, scripts and so on. The last big things it wrote for me were: A macOS SwiftUI app to go through all the localization strings in my apps and show them in a table where I could see missing translations, and interactively translate them… by sending the, back to ChatGPT Another macOS app to graph Google ngram data for word lists. It was great because I didn’t even need to check whether there was an API for ngrams, I just asked it for the function, then for the code to plot it in Swift Charts Sometimes I consult it on refactoring problems (eg., this struct has new responsibilities, what would be a more appropriate name? How do you see it fitting into this section of the code?). It’s a great tool and easily worth the money It almost never writes any “interesting” code, however
- lysecret 3y agoSo, a few months ago I wanted to lose some weight and wanted to count my calories. As a coder would, I thought why not build a swift app that uses the ChatGPT API to count them (instead of doing it the boring way). I'm a fairly experienced backend dev I built a few toy websites and I am casually interested in frontend stuff (like watching Fireship) so I thought I'd give it a try. Long story short, it worked well. I have my app it has all the features I need I used it every day (till I lost 10kg) and I didn't write a single line of code. However, the coding itself was unlike anything I had done before. I felt much more like a manager/Slave driver. The core thing was structure structure structure. As soon as the task gets too large, GPT will produce something kind of right that is difficult to understand and impossible to extend. So your task is to split it up, and split it up. Also to apply judgment (it started out using objective-c haha). You have to ask it for alternative libraries. For reference. I relied a lot on something like: "In Python/C#/Rust I would do it like this". But yes, my overall experience is that I think we are in for an exciting new time, but we are lacking a new coding paradigm.
- rukuu001 3y ago> But yes, my overall experience is that I think we are in for an exciting new time, but we are lacking a new coding paradigm. This is the big one for me. I feel like we're all having "640K ought to be enough for anybody" type conversations right now.
- CaptainFever 3y ago640K tokens ought to be enough for anybody
- underscoring 3y agoI know we're all biased here, as coders, but I don't see this as the end, but rather the beginning of something. In the article, the non-coder was able to produce code with an AI's help, and therefore, coders are doomed. But in fact what happened is it enabled two "developers" to offload the menial work and focus on the product itself. The development of electric workshop tools didn't make woodworkers obsolete, it just enabled them to do the work of 5 people, and do it easier and faster. We are moving from the era of hand-tools in coding. The real risk is that we're going to see a lot of cheap shitty furniture made by people with no skills, but at least ChatGPT isn't going to chop anyones fingers off.
- Dave3of5 3y ago> Ben told GPT-4 what he wanted and got code that ran perfectly "perfectly"? I mean this sounds dubious. ChatGPT gives interesting suggestions and advice when it comes to coding but I've never been able to get any close to a perfect solution. I don't think coding AI assistant's are meant to be used in that way anyway... I think this is just another fluff piece about how coding is now dead (long live coding). That's basically not true. LLM have gave us a leg up but they haven't removed the need for a competent programmer.
- thaanpaa 3y agoI'll be concerned if I see an LLM create a secure, functional SQL schema and API with users, roles, subscriptions, products, MFA, and all the other basic requirements of modern-day apps. We're not even close to the required level of complexity yet, and I'm not holding my breath either.
- resuresu 3y agoI’ve always saw computers as a means to an end. Even in the bladerunner movies no one is sitting around pecking at a phone or a pc keyboard, it’s just holographic AI they talk to and interface with. And that’s the future of technology. Eventually you might do some sort of brain interface and be a cyborg. Who knows but the truth is, we nearing the end of humans needing to sit down and actually write code.
- spacecadet 3y agoNew Yorker lol.
- DeepSeaTortoise 3y agoI am quite surprised nobody has called out the elephant in the room yet: A much superior solution than even the next few AI generations has been available for several decades now. You could just outsource your work to a contractor in a developing nation.
- assimpleaspossi 3y agoWhenever someone calls a programmer a "coder", I feel like it's calling Stephen King a "typist" and that's insulting. Programming is much more than just the coding part.
- RagnarD 3y agoNot to be unkind but simply factual: the author is clearly not a great developer. e.g.: "At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling." Really? "But he had no idea what a pain it is to make an iPhone app. I’d tried a few times and never got beyond something that half worked. I found Apple’s programming environment forbidding." Perhaps. But compared to what? Yeah, it's not using VI to write Javascript or whatever he considers a programming environment. Power tools didn't stop people from making things. Autocad didn't put architects out of business. Finite element modelling didn't destroy civil engineering. Quickbooks hasn't destroyed the need for accountants. Word processors didn't destroy writing. Google translate didn't remove the need for translators. LLMs will be a power tool for good developers. I think many underestimate what it'll take to fully replace good or excellent software developers and what they do in totality.
- alm1 3y agoIn author's defense he doesn't claim to be exceptional and even concludes his essay with labeling this A.I. moment as “the revenge of the so-so programmer.” I actually enjoyed author's nuanced take, different from the common narrative of AI takeover. To the contrary I think LLM-driven coding is not a tool of power users, but rather a tool of disempowered users. They will bring many more people into the engineering profession and change the profession for many in it towards more complex tasks. Quickbooks hasn't destroyed the need for accountants, yet it allowed millions to become the "so-so accountants", when that's all their business needed.
- muldvarp 3y agoI don't think a "so-so programmer" would need to google to figure out how to select random lines from a file.
- savanaly 3y agoI would have to Google. You really have the library methods you would need for that memorized? I think the last time I had to select random elements from a list at work was...never. Why would I still know that? Would it be Random.int()? Or Random.range()? Or maybe there's a better choice that operates directly on a list? Or wait is it gonna return the value or a Generator of the value? Etc. Even if you remember how to do random number generation in your language, this specific use case probably necessitates a Google unless you have a godlike memory, or you don't mind half-assing it.
- nullptr_deref 3y agoWhy are people so unaware of what is happening? The leap in quality from DALL-E 2 to DALL-E 3 was due to improvements in the prompts used for training. With countless people using ChatGPT, it will reach a point where OpenAI will have enough data to train on. There are ideas not yet explored that will be connected to the system. At this point, the pace of development is exponential. Unless it flattens out, we will witness AI being able to engineer, code, craft, design, and build a product on its own. So, what is the basis for my statement? We are just mediators at this point. We don't need to be there. Currently GPT-4 translates our requirements to DALL-E 3 during image generation process. What I want to say is, there is no reason to give any form of signal as an "initial seed." Has anyone tried creating an automatic agent that, when turned on, receives a signal from the external world, whatever it may be, and triggers a chain of thoughts in these LLMs? We, as humans, rely on signals. Currently, we are providing signals to LLMs in the form of text. There will and there must come a point where agents will feed signals to each other. They will perceive signals from the environment on their own and move on from there. This is not far away. It is near because all the components are laid out there. And people argue over things like, "Oh, but I need to prompt it." No, you don't. It will take one engineer to define a way to process signals, then write an objective for the AI and train it. Once trained, it will continue on its own. The projection might sound off to you all, but there is no one stopping you from not doing it. Do you know what the limiting factor is? Capital. Yes, capital. So, as long as the power law holds, we will keep seeing strides in improvement. If you have capital and skills, you can do it right now. I am not saying the signal is "real world physical environment". Say you have a crawler that scrapes the website. You hook it to a summarizer. The summarizer fires the signals and then it calls AIs to create product. This whole thing once created doesn't need a human in the loop. Once something is built, it is done. Also, add to the fact that these AI system only trust other AI system's code. Why? Because human are untrustable. Now you will have an ecosystem designed by AI for AI and to be integrated with AI. Why do we need humans at this point? Like why would a company want humans at this point?
- gatinsama 3y agoI'm amazed by the fact that this was written by a human when AI would have done a good job.
- wiradikusuma 3y agoI've been trying to get AI to write a component to embed in my Flutter app. The component is a zoomable whiteboard. These people who said AI built programs, are they using different AI?
- dmingod666 3y agomost impacted are technical consultants ( outside experts that merely provide high level consulting ) -- their recommendations will be scrutinized more closely
- cultureswitch 3y agoLLMs are on the way to AGI but they are still laughably bad at logical reasoning. Any remotely interesting coding task is at least somewhat novel and requires some reasoning. So far, LLMs don't seem to be very good at handling things they haven't seen before.
- cultureswitch 3y agoLLMs are pretty good at going from complex code/legalese to prose which is easier to understand. Not so much the other way around.
- FrustratedMonky 3y agoRegular expressions are pretty tricky. You can be an expert and it can still take time to tweak. I've been using regular expressions for decades, and now find myself using GPT as a kind of pre-compiler. I'll test regular expressions with GPT and it gets really close or the final result.
- deleted 3y ago[deleted]
- jmull 3y agoI’m disappointed, but not really surprised I guess, with how poorly so many programmers seem to understand what chatgpt is and does. It’s great and amazing tech, but it’s very much a kind of search engine, and indeed, writes just the kind of code you find on the internet… sometimes great, often flawed, very often incomplete. Its breadth of knowledge is stunning, but it’s not like it’s actually useful to be able to write code in all the languages. It really doesn’t even touch harder problems. You need to know, at the level of fine details often, what you want from it and what you don’t. That’s hard. …It save’s time. We will perhaps need fewer programmers as people spend less time on grunt work. But that’s hardly the end of coding, and seems like clearly a good thing in the long run.
- runeks 3y ago> We will perhaps need fewer programmers as people spend less time on grunt work. If programmers become more productive, it means the price of development will decrease. This will, in turn, increase the demand for development.
- androtheos 3y ago"Programmers are people who can endure an endless parade of tedious obstacles.", maybe my new favorite quote.
- andsoitis 3y ago> But he had no idea what a pain it is to make an iPhone app. I’d tried a few times and never got beyond something that half worked. I found Apple’s programming environment forbidding. A seasoned programmer who struggles with this?
- gumballindie 3y ago> For the new crossword project, though, Ben had introduced a third party. He’d signed up for a ChatGPT Plus subscription and was using GPT-4 as a coding assistant. You have to give OpenAI credit. Their marketing campaign is beyond genius. A bit spammy and aggressive but it works.
- chasing 3y agoEvery five-to-ten years some technology comes around that's finally going to put software engineers out of work. Turns out the only thing truly successful at that task is economic mismanagement.
- intrepidsoldier 3y ago* AI is good at hard (to human) tasks like explaining complex code but bad at easy (to human) tasks like counting C files in a codebase. * AI is particularly effective at taking over repetitive work full of toil e.g., reviewing large PRs. As a result, it will allow more developers to focus on fun things like building new features. * AI will increase the number of developers worldwide because it reduces the barrier to entry for programming. * AI will reduce the fear involved in starting large-scale projects like migrating codebases from one framework/technology to another.
- tromp 3y ago> Perhaps what pushed Lee Sedol to retire from the game of Go But he didn't; he merely retired from professional play, and remains intensely interested in the game and the new directions it's taking.
- BobBagwill 3y agoAFAIK the go and chess models played themselves to improve. They weren't trained on games played by junior players. So far, coding LLMs don't try to compile and run their code and check the output. They don't fuzz the inputs to look for errors. There aren't competitive, adversarial LLMs trying to outcode each other or fool each other.
- BobBagwill 3y agoAFAIK, the go and chess models played themselves to improve. They weren't limited to pieces of recorded games played by junior players, like SO. So far, coding LLMs are not generating code, compiling it, running it, checking the output, timing the program, fuzzing the input, etc. When they can train themselves, they will improve.
- demondemidi 3y agoWow what a terrible article. The guy just got tired of programming. Everything his buddy looked up he could have hacked out but chose not to. All the tools exist to code at whatever level he wants to. Just sounds like he lost the spark. The other day on hacker news a 17 year old kid wrote a debugger and was asking for help. That’s the spark.
- totallywrong 3y ago> What I learned was that programming is not really about knowledge or skill but simply about patience, or maybe obsession. Damn, the secret is out.
- minzi 3y agoIt seems like lots of people are pointing out the inadequacies of the current state of the art models. It doesn't seem that unlikely that many of these problems will be solved in the coming years. I won't make any guesses about timelines, but there is certainly a large number of very well funded smart people working on these problems. I'm not sure if this current path leads to AGI, which is what I would consider the minimum requirement for truly replacing human jobs. However, it does suggest to me that building AGI is achievable. In my mind there are two major architectural problems that still need to be solved if I am to be convinced AGI is close: 1. Medium term memory 2. The need to relive an entire conversation just to produce the latest response. Here is another question: Suppose we develop AGI. What will the energy requirements be for that system? The scale at which ChatGPT is used today would be peanuts compared to a system that is supposed to replace millions of knowledge workers.
- sadtoot 3y agoi wonder how many of the commenters who bemoan how GPT-4 can't do this or that task, could have predicted 2 or 5 years ago what GPT-4 can do easily today
- fumeux_fume 3y agoYes I also only find people to be credible if they have a solid track record of magically predicting events 2 to 5 years in the future.
- olddustytrail 3y agoThat's the only way I'd find people credible when they're claiming they can predict 2 to 5 years in the future from now. If they couldn't see ChatGPT coming, I'm not convinced of the whole "it'll never be able to..." spiel.
- sadtoot 3y agoyou should give it a try to be honest. metaculus.com
- 3y ago
- totallywrong 3y agoI suspect we're going to see this article in many different forms over the next few years. That's when the hype cycle will settle and people realize that LLMs are amazing search engines on steroid buy will never replace actual developers.
- stratigos 3y agoThe article sounds like it was written by someone with minimal career experience. Its overwhelmingly naive, and Im sure the intended readership isnt any more or less naive than the author.
- MarkusWandel 3y agoIt's glorified autocomplete. The stuff that is annoying when you're at a proper keyboard with proper typing skills, but maybe not so bad when you're thumb typing on a smartphone. I've not personally used it, but someone else with very advanced skills, needing to code something in an unfamiliar programming language, asked ChatGPT to do it, got a "mostly right" boilerplate and fixed up the obvious errors, which was much quicker than learning the language enough to start from scratch. Autocomplete!
- Dowwie 3y agoMost of the software engineers I've known are problem solvers who use code to accomplish their goals. Problem solvers will use the best tools available for the job. Perhaps engineers will use natural language UI's to build software and "drop down" into a languages for debugging or optimization, just as today some drop into assembly.
- ubermonkey 3y agoThe line that killed me: >the one with the pink-shirted guy on I.B.M. PCs That's PETER NORTON, Goddammit. Know your history, New Yorker writer! Damn!
- zubairq 3y agoAs a developer many people ask me if I am worried about AI making my job obsolete. I always answer truthfully, "I CAN'T WAIT for AI to make my job obsolete!". After trying several AI tools in the hope of replacing my coding job I find that the tools are good at the bike-shedding tasks like generating some initial code (the easy stuff for me) and terrible at the real work (maintenance and adding features to an existing codebase).
- bigpeopleareold 3y agoInstead of ChatGPTing things in what I work in, I have sought to improve my knowledge a lot in shell scripting, I am reading man pages more diligently (even if I am not dilgent enough) and seek to use documentation first, such as man pages, software documentation, etc. before even going to search for something. I am not perfect, but I feel like most of the problems I have are present in manuals - I am RTFMing myself. I do this because I wasn't like that in the past and I hate myself for not being more deliberate in reading and discovering things organically through doing things. This is not about joy, (even though it makes me happy) but my obligation to myself and then to my employer to be good at what I do. Sitting with a chat bot undermines this urge to be a better developer completely. I will probably be argued with, but I have worked with a lot of smarter people, but I realized after many years, (and what the article alludes to), that they have a very strong sense to fight through myriads of almost random problems, but they have the knack at solving those problems intelligently. I remember specific co-worker that used an even plainer Emacs config than I did to write Java code. I was genuinely curious what his thought process was when trying to remember APIs without anything more special than simple modes for jumping around a codebase. He said "I don't know, I just read the manual first." Yes! If he can do that, I can do that. After that, a lot with working with computers is about continually pushing through those random problems to their solution. This is an absolutely precious skill. I don't feel the affected yet, but I will be, I expect - lesser quality searches while we have to push our chat bots sub-sub-problems instead of just understanding what we are using. I don't want to and I will continue to hold out, like all the other essentially dumb technologies I am now stuck with (I am looking at my two mobile phones now ...)
- ingen0s 3y agoAI is doing nothing but raising expectations, and so it should. Stop crying and adapt!
- todd3834 3y ago> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. I made some false starts using what I could gather, If this is the skill level of the coder then I’m not surprised that they are worried about GPT. However they should be stoked GPT can help them code at a much higher level
- 2devnull 3y agoI’m not going to use gpt, at least not for coding. That’s not something I’m hearing other programmers say, at least not often. They may say it’s not good enough, yet, or that they as a senior dev don’t have any use for it. These strike me as cope. What I say is that I’m just not going to use it. I’m not sure if it’s a political decision I’ve made, but I’m sure it’s the right decision for me. I will simply change careers or go homeless before I try and compete with these great new efficiencies. I won’t take part in the disruption. It’s clearly degenerate.
- rip_netrunner 3y agoReading the responses on this page reminds of the quote “it is difficult to get a man to understand something, when his salary depends on his not understanding it.” - Upton Sinclair.
- _bramses 3y agoHow can a field that is less than 80 years old wane? Y’all’s recency bias shows way too strongly. Your definition of junior and senior is purely anecdotal and based around what the brass at your companies “award”. Not to mention the arbitrary conflation of algorithm design and the actual process of writing sustainable code. It’s a show fair of “my way is best”, and science waits for no opinions as such.
- itsokimbatman 3y agoSaw;
- notjoemama 3y agoChatGTP cannot provide an actual solution to a multi-tenant application framework for a SaaS product...because I haven't found that in the stack I work in. So I created it but it is closed source. If LLMs rely on open source, it will never provide the value that exists from experienced closed source engineers. I suppose LLM/AI providers can snaekily suck in closed source code for long enough time that once they're caught the cat is out of the bag and the "industry" collapses. But so far, LLMs are cool, but not AGI, nor are they likely to mature into AGI alone. As far as generalization goes, I'm still waiting for an answer from Tolman-Eichenbaum machines. Or, an integration of LLMs and cognitive maps. https://www.youtube.com/watch?v=9qOaII_PzGY https://www.youtube.com/watch?v=9qOaII_PzGY http://brilliant.org/ArtemKirsanov/ http://brilliant.org/ArtemKirsanov/ And his references from the YouTube video: REFERENCES (in no particular order): 1. Behrens, T. E. J. et al. What Is a Cognitive Map? Organizing Knowledge for Flexible Behavior. Neuron 100, 490–509 (2018). 2. Constantinescu, A. O., O’Reilly, J. X. & Behrens, T. E. J. Organizing conceptual knowledge in humans with a gridlike code. Science 352, 1464–1468 (2016). 3. Aronov, D., Nevers, R. & Tank, D. W. Mapping of a non-spatial dimension by the hippocampal–entorhinal circuit. Nature 543, 719–722 (2017). 4. Whittington, J. C. R., McCaffary, D., Bakermans, J. J. W. & Behrens, T. E. J. How to build a cognitive map. Nat Neurosci 25, 1257–1272 (2022). 5. Whittington, J., Muller, T., Mark, S., Barry, C. & Behrens, T. Generalisation of structural knowledge in the hippocampal-entorhinal system. CREDITS: Icons by biorender.com and freepik.com Brain 3D models were created with Blender software using publicly available BrainGlobe atlases (https://brainglobe.info/atlas-api https://brainglobe.info/atlas-api) This video was sponsored by Brilliant
- deleted 3y ago[deleted]
- rapind 3y agoOne of the concerns I have with AI assisted programming is it might make us more accepting of badly designed APIs and libraries, and eventually APIs designed for AI intuitiveness rather than human intuitiveness (assuming these don't always align). If AI takes away the pain of working with badly designed APIs (good), it will also change our perception and acceptance of these badly designed APIs (bad).
- b20000 3y agowho is james somers?
- karaterobot 3y agoIf coding goes away as a profession or as a craft, it would be a fitting end to a story arc that entailed the end of so many other people's jobs. We've had a good, high-flying run for fifty years, not really thinking too hard about what progress for us meant for other people. I'm not convinced yet that it will, but I'm also not sure how many people outside the profession would weep for the loss.
- agentultra 3y agoIf your trade as a programmer is in automating tasks with computers... I can see how it might seem like OpenAI is your Squarespace. Most users were never going to learn to code no matter how well we designed scripting languages, macros, etc for them. Just like there was nothing stopping them from learning HTML or using any of the available tools for building their own websites. They still paid people to do it for them. Now we're at a moment where they don't need to pay such people anymore... just like when Squarespace-et-al killed off the need to hire a web developer to build your website. I don't think Djikstra would be appalled in the sense that the author gives it. He wasn't saying that C++ or Python were precise languages; they wouldn't be precise enough for him. He wouldn't be appalled that we don't write programs in them. He would be appalled that we don't write precise specifications. ChatGPT-4 can generate code. Is it the correct code? We don't know unless we specify what correct means in a precise and unambiguous way. Natural language isn't precise enough to do that. We have a language for that called, mathematics. ChatGPT-4 is not very good at understanding or speaking this language for the time being. What matters is whether ChatGPT-4-generated-code is good enough for your problem. Generate a script to organize some files or help you with small tasks where correctness isn't crucial? Go ahead. I don't pull out a whiteboard and fire up a theorem prover when I'm organizing a photo collection. However, if I'm working on a system and have a theory that we can parallelize an algorithm over a complex data structure and it's critical that this is done correctly or the system cannot be trusted? I wouldn't think twice before firing up TLA+ or Lean 4. For now, ChatGPT-4 cannot reason and think for you. The industry isn't over, in my opinion. It's annoying. It's noisier. But not over.
- lawlessone 3y ago>For instance, it was considered foolish to estimate how long a coding task might take, since at any moment the programmer might turn over a rock and discover a tangle of bugs. Still true tbf
- feoren 3y ago> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. I made some false starts using what I could gather, and while I did my thing—programming—Ben told GPT-4 what he wanted and got code that ran perfectly. This is pretty basic stuff. It should not even require Googling unless you don't really know the language. This supports my belief that ChatGPT is simply going to replace the very bad programmers. But we never really needed them to begin with. I have no faith that GPT-4's code actually "ran perfectly"; this programmer clearly does not have the chops to tell whether or not the code was correct. And we're talking about, like, 100-level CS homework here.
- tj-teej 3y ago"At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. I made some false starts using what I could gather, and while I did my thing—programming—Ben told GPT-4 what he wanted and got code that ran perfectly." Sure ChatGPT can do this, but let's not pretend this is a problem requiring much "craft".
- tabtab 3y ago> had no idea what a pain it is to make an iPhone app. I’d tried a few times and never got beyond something that half worked. I found Apple’s programming environment forbidding. What's missing these days is domain-specific languages (DSL). Maybe domain-specific API's (libraries) can be made better, but I have not seen it done well yet. Domain specific languages made it easy and DIRECT to do things you wanted done in that domain, no weird-ass reverse dependency factory visitor injection design patterns or whatnot, you only had domain-oriented commands and the basics of functions, loops, and conditionals to glue them together. Sure, they didn't scale well to "enterprise", but if that's not what you want, so be it! Global variables didn't kill kittens at that scale like "real" software engineers warn against. I barely had to read the manual when learning VB classic, Microsoft Access (pre XML), Paradox, etc. it was so intuitive and almost everything related to the domain (desktop GUI's and small-ish CRUD). It was almost like pseudo-code! That's the secret, the closer it is to domain-specific-pseudo-code, the easier it is to learn and the less bloated the code. Wanna make a successful tool for non-giant orgs or groups? Focus on the domain and only the domain; don't let fads and buzzwords and mega-scaling distract you.
- mediumsmart 3y agoWhy do people think the AI needs to learn how to write programs like a human? It’s going to be a framework with well documented chunksize modules the AI can iterate on using tests it writes itself. People will be out of work because they can’t write those bugfree modules the startup needs for the slots in its version of the AI provided code base framework and if they could the company has no time or money to deal with a human programmer. that being said it might still be a non issue if civilization as we know it has less time than currently projected
- comfortabledoug 3y agoI'm seeing a lot of concerns about the future of programmers and their employability. Remember that nobody is doing you a favor. People get paid what they're worth, including programmers. The thing about imposter syndrome is it sneaks up on you when you're surrounded by other talented coders all the time. You start forgetting that what you do isn't common; not everyone can whip up code like you can. When AI starts shaking up the world of programming, that’s when you know it’s really game over for all other white-collar jobs. Today's big tech companies might seem invincible, but they’re not. Their edge? It's going to wear thin, especially once everyone else starts jumping in with custom solutions. Instagram with just 13 people gave Facebook a run for its money. That was before the era of LLMs. Imagine now – anyone could potentially build the next big thing in an afternoon. And don’t get me started on the legal stuff. There are so many laws, no one person can know them all. But LLMs? They can handle it. What happens when the legal system gets flooded with cases about loopholes no one knew existed? Or when everyone can have the world's best lawyer for free? It's wild to think about. ChatGPT came out of nowhere for most of us, and robotics is going to hit us harder and sooner than we realize. No politician or law can keep up with this tech freight train we're on. We’re talking about more progress in the next 20 years than in the last 20,000. Jobs and whether we can stay employed? That's going to be the least of our worries. Or AI will hit a plateau and we'll all get a little bit more productive.
- samuelec 3y ago"I worried that it would rob me of both the joy of working on puzzles and the satisfaction of being the one who solved them." I think every programmer feel it
- tasuki 3y ago> At one point, we wanted a command that would print a hundred random lines from a dictionary file. I thought about the problem for a few minutes, and, when thinking failed, tried Googling. Excuse me?
- zassy 3y ago[dead]
- rglover 3y agoPuts hands behind head I'm just going to wait while the bootcamp set phases themselves out of the market and then wait for the "it doesn't work any more, please fix it" emails. Assuming they price their skills at a premium, cleaning up the messes that AI will create in the process of it being treated as The Holy Grail are going to make some people absurdly wealthy.
- Anamon 3y agoAnother writer mistaking LLMs for AI. As a programmer, I'm paid to solve novel problems, things that can't be solved by just glueing existing things together. But that's all LLM-generated code can do. And it's a qualitative problem, not a quantitative one. By its very nature, an LLM cannot come up with something novel. Which is why all of the examples in this article are highly formulaic and derivative ideas based on existing stuff, interesting as they may be to the people asking for them. I can get quite well-running scripts from GPT for well-defined, menial tasks that I know would be easy to do, but just can't be bothered to fight with the mechanics and syntax in order to get it right. But for solving new and specific problems, that doesn't work. Plus, technologies and languages evolve. If LLMs displaced programming, it would mean that progress has stopped. No LLM is going to come up with a nifty new technique or feature. It can only regurgitate what many ceative people first had to come up with. You can have LLMs do your boilerplate, your helper scripts or your clearly defined, self-sufficient algorithms for you. But a real-world application is already impossible because an LLM will always be incapable of covering the big picture, of assembling parts into a whole that doesn't only work and make sense, but is also performant, secure, maintainable and extensible. LLMs won't kill the craft of programming, it will just lead those who fall for that to producing loads of crap that doesn't fulfill any of the above requirements, and then end up having to be trashed and redone from scratch by "real programmers". The Go analogy doesn't work for the same reason. Go has well-defined rules everybody has to follow, and clear goals. Attacking this algorithmically is the extreme opposite of the idea of general artificial intelligence. That doesn't mean it's easy, but it's not even remotely a related problem. There's a reason why the people swooning over GPT-based coding are always script kiddies, not professional developers.
- roguas 3y agoIm swooning over gpt-based solutions most of my day (coding included). I consider myself professional, hope that other professionals are also swooning, cause it truly impacts at many levels.
- inquirerGeneral 3y ago[dead]