> The downside is now there is pressure for quantity over quality. Might be fuzzy in the market for awhile.
I don't know, it's been that way for a while now, hasn't it? Every C level / product manager bombarded with "new tool / language this", "new tool / language that" hype, when often its a bunch of noise and only a small selection are likely the correct choice for the org.
For one, the post isn't about AI art in any way, which makes your comment appear as a low effort drive-by.
Second, the use case described in the submission is functional and internal-only, and does not deprive or have the potential to deprive software developers or artists of any lost revenue or recognition. It's purely a reflective experiment.
There's some nuance into the scope of generative AI, which normally Hacker News does well at discussing. But kneejerk "AI art is theft" comments only serve to discourage people from sharing their experiences with AI.
Well I never said the article had anything to do with AI art. I have simply noticed a pattern of almost everyone agreeing that AI generated art is bad and harms real artists, while simultaneously agreeing that AI generated code is great and only helps programmers.
My post was fairly low effort though I'll give you that. It seems to have pushed a few people's buttons none the less lol.
There's another story on HN posted today about balancing money and meaning and one of the top comments is a sarcastic put-down about the AI generate image at the top of the blog post. If the author had used AI to create the web page they'd almost certainly receive similar praise as the comments on this one. Both AI's are trained on other people's work, yet you seem to think even pointing this out is unfair. Very strange imo.
> There's another story on HN posted today about balancing money and meaning and one of the top comments is a sarcastic put-down about the AI generate image at the top of the blog post. If the author had used AI to create the web page they'd almost certainly receive similar praise as the comments on this one. Both AI's are trained on other people's work, yet you seem to think even pointing this out is unfair. Very strange imo
> I have simply noticed a pattern of almost everyone agreeing that AI generated art is bad and harms real artists, while simultaneously agreeing that AI generated code is great and only helps programmers.
I think you mean that artists mostly think AI art is bad, while programmers mostly thing AI generated code is good.
Almost everyone I know in the dev community agree that both generative art and code is fine. Most people don't care about copyright, to say the least. At least the people I know in real life and chat with online.
Only thing I've seen was artists on Reddit and Twitter getting angry about the AI art.
I think the issue is the defiance in the headline.
So I could write an article about prompt engineering with AI art and use the headline "I made an amazing art for my blog without ever taking an art class!"
There's a difference between the implied "I'm a programming newbie and AI helped me solve tough problems I couldn't otherwise do" and the arrogant "with AI, you don't need to learn how to code!" I am also not a fan of the latter.
AI code is theft too. A lot of the code it's trained on is copyleft. If you use code from copyleft projects, your project is copyleft, you might just not know it. AI coding systems like copilot benefit hugely from the FOSS ecosystem, but they launder away the license which means they're not contributing anything back to FOSS.
None of this is knee-jerk. These systems alienate massive amounts of labor from the people and communities that did that labor. There is a huge amount of risk involved with mass adoption of this technology that most people on hackernews seem content to either ignore or say it's not relevant to the discussion like you are.
You are now! It's the act of solving the problem not the code itself that entirely matters. Code is simply an unfortunate vehicle to do so. I've been programming for almost 20 years now, 10 professionally and I love it. I also maintain that for a lot of the programming that makes the world go round, it's not that hard. People just convince themselves they won't be able to.
LLMs have supercharged me as an experienced dev, not writing code[0], but rubber ducking[1] with something that talks back and I can ask my question in an infinite amount of stupid ways and it won't balk.
If it can do that for me, designing a database, it's about to introduce a whole new wider range of "I'm not a programmer"s into being programmers. Good timing too, the world needs it.
I know particularly prickly devs will be annoyed by people they see as not true developers, but, and sorry to be so blunt, fuck em. It's short sighted because if you're as deep and skilled as you think you are, you won't intersect with this new wave of programmers anyway.
[0] I stopped using copilot, it got in my way too frequently even after initially liking it.
[1] I use GPT4 and I intend to publish my entire history of my back and forths I've had with it for designing a database after I release my project, but it basically just let's me bounce ideas off it. The caveat is this area is not unfamiliar to me, and the techniques I'm discussing I know enough about to call bullshit on when I see it.
i don't think you're a programmer if you do not at least understand code. it's not elitism, it's just a definition. you don't have to be an expert or even understand it well, but if you're just interacting with a chatbot and copying and pasting without knowing anything about it, you are not a programmer. what's next, if i execute a program on my computer I'm a developer because it solves my problem?
Similarly, just because you can change your oil that doesn’t make you a mechanic. Making a one off program to solve a problem doesn’t warrant the title necessarily. Not that the title matters, though.
Areas of responsibility. The producer is the person ultimately responsible for the output. You can be a producer and not know a lick about good musicianship or play an instrument, but you have good taste and can use tools (samples, software, etc) to take what others have done to make something others will like/use/pay for/etc.
You can be a software engineer and not know a lick about syntax or write algorithms, but you have good intuition and can use tools (LLMs, autocomplete, etc) to take what others have done to make something others will like/use/pay for/etc.
If you can put together (tasteful) songs by using tools like samples and software, aren't you a musician then? Many would consider tools like DAWs instruments, so mastering one of those would be considered playing an instrument, at least for those people.
> Many would consider tools like DAWs instruments...
People can stretch the definition however they like since there is no hard acceptance of where the line is drawn. Sure the general term musician means a person who plays/creates music. A person who hums can be a musician.
However in my own opinion, I disagree. DAWs are not instruments in themselves. The main functionality of a DAW is in recording, arranging, and mixing audio. They are the digital equivilent of a tape recorder and manual cut/splice process. They have evolved to include many software add-on emulations of instruments and packages around the production process: synths, pianos, mastering tools, additional recording tools, etc. Using a DAW does not make you a musician, but using provided instrumentation in a DAW can make you become a musician.
I think you're confusing artist with something specific like sculptor or painter.
Some of the work people put into getting Stable Diffusion to create the results they want takes plenty of time and skill. But event then I would say that putting in time and skill is not strictly required to make art.
You can absolutely be an artist using generative AI, but you of course wouldn't be a painter if you use generative AI.
In this example you can be an application developer but still not a programmer.
Its hard to take meaning from your definition of programmer since you haven't defined code. As I understand 'code', it's just an interface for programming, not definitional.
Consider the Python function 'max', which, given an iterable, will return the iterables biggest item. Now suppose I ask ChatGPT to generate a function (in whatever language you like) called 'max' that does the same thing and it returns a block of code that I copy and paste.
In what way is Python's 'max' meaningfully different from ChatGPT's 'max'? It seems to me that these are essentially both just higher-level abstractions.
maybe you can argue the case that chatgpt is a programmer, but all the human is doing here is making requests and copying and pasting. is a manager a programmer?
or, to put it another way, if everyone is a programmer, the word is meaningless.
Are you not a programmer because you use a compiler and "paste" its output into the executable? Or an assembler, instead of flipping bits by hand in memory? Are people making complex spreadsheets with hundreds of formulas not programmers?
We've been raising the level of abstraction in code for decades and it looks like LLMs might just be the next level up. Yes, using LLMs will put more complex code within reach of more people but I'm sure it won't be nearly everyone, and I bet that it'll raise the ceiling of what the best programmers can do at the same time.
Of course, we're free to redefine what "programmer" means at any time as well, if a new definition proves to be more useful.
Fundamentally, I think it's a fuzzy matter of degrees. I go to the gym regularly but I am not an athlete. To me, an athlete is someone who dedicates themselves to the study, improvement, and mastery over their body, usually in a particular discipline. While everyone specializes, athletes also have general skills that the average person lacks. How do we define someone who is dedicated enough? I don't know. There's mountains of arguments about it across the internet but often the criteria is engaging in competition.
To apply the same system to programming, one is a programmer if they dedicate themselves to the study and mastery over their computer, usually in a particular discipline. The disciplines of programming may be defined around the abstraction level. While everyone specializes, programmers also have general skills that the average person lacks. I would argue that the most important of those general skills is understanding the relationship between instructions, execution time, and memory usage as well using that knowledge to weigh different approaches. How do we separate a hobby programmer from someone who regurgitates AI responses with no understanding? I don't know. Maybe their ability to derive new answers if the AI didn't give them a correct answer.
Words do have meaning and we should be careful not to degrade the meaning down to anyone who is capable of asking an AI questions but I doubt we'll ever have a non-fuzzy definition of programmer
Am I an electrician because I’ve replaced receptacles, switches, fans, etc.?
Is someone a plumber if they followed step-by-step directions to replace the flush valve in their toilet, without understanding how any of it works, or what the parts are for?
Where is the boundary? To me, it boils down to two things - do you spend the majority of your work time on it, and do you understand how your tools work? The former is necessary because even though I was an electrician’s apprentice as a teenager, and can explain how pretty much anything electrical works, it’s not my primary job, so it would be weird to claim that. The latter is necessary because otherwise, you’re diluting the title for those that have it. I can explain how max() works (or at least, an implementation of it). I can give pros/cons for functions.
I think comparing 'programmer' to 'electrician' or 'mechanic' is inapt, as these labels are virtually always professional labels. Although there are people who would qualify as a 'hobbyist mechanic', who understand their tools very well, we call them by other names (e.g., gear head). It's not weird at all for (say) a person who plays the guitar to call himself a guitarist even if his day job is painting houses and he's never played a paid gig.
I'd say the label programmer has far more in common with guitarist than with electrician and I think calling it a title is muddying the waters, even though it can also be a title. (I also think because we use the term that way, some people prefer other titles that make it clear they are professionals.)
However, the point I was making wasn't that people who have used ChatGPT but otherwise haven't programmed necessarily are programmers, but that: (1) Code isn't fundamental to programming. We can imagine programming interfaces other than code that people--even people who spend most of their work time doing it and understand their tools--can use to create programs. (2) A ChatGPT-derived copy-and-paste language is not fundamentally different than other higher-level languages in that it is simply an abstraction.
There's a sort of quirk in online human behavior where if person A makes a claim and person B makes a claim to argue against it, if a person C makes a claim arguing against person B, it is assumed that person is arguing in favor of A. Judging by the responses, I think that's what is happening here.
In your example the human and ChatGPT are interchangeable. In my example, they are also interchangeable. Your situation yields a "probably not" answer. My situation yields a "probably" answer. These answers contradict each other, despite their identical basis and despite both being correct answers. Therefore, it must be that this human/ChatGPT comparison must not be the locus of the difference between the answers.
I think people ought to take a breath and think about what is actually fundamental about programming. It might be "code"; but then we've sort of just kicked the can down the road, because now we've got to figure out what's fundamental about code and how that means something is or isn't programming. And without this sort of definition, it really isn't meaningful to ask whether this or that thing is programming.
> People just convince themselves they won't be able to.
As they say, there are two kinds of people: those who think they can program and those who think they cannot, and they are both right.
I'm not on the LLM hype train either, but if they can get more people involved with programming that's genuinely awesome! Everyone has to start somewhere, is typing random stuff into Turbo C or whatever else was the "first contact" point of your generation really any better?
Right exactly, for me It was https://www.byond.com/ with their C like language Dream. Had their manual open on the left and their game editor on the right and when I made the low quality fireball move for the first time, the rest, as they say, is history.
If, for this next generation, it's an LLM on Replit, that's genuinely awesome.
Yeah, I'm noticing the same thing. I have a lot of questions that could be Stackoverflow questions.
But to do that, I'd have to make sure there are no duplicates and frame the question with every appropriate detail.
Or, I could just have a quick conv with the AI. Sure, it'll get some things wrong, but so will SO answers. :) And it is amazing at how clarifying it can be. Even the wrong answers are sometimes a clue that the questions themselves are a little off.
How do you expect anyone to help you if you don't know what to ask? You have to at least have a starting point, and that's usually more than enough on SO.
stackoverflow.com/users/8610114/sensanaty
Seriously just check out questions I've asked on SO. They're nothing groundbreaking, a lot of them are pretty beginner/basic questions, yet I've never really had adverse reactions to any one of my questions. Some go unanswered sure, and I might have one or two marked as dupes (they are more or less) but if you've ever browser the "new" portion of the site it's inundated with hudreds of shitty, low effort questions, so it's understandable.
SO is also an excellent jumping off point for figuring it out yourself. I've had dozens of times where I figured out a solution midway through typing a question, since you have to make good quality questions there in the first place.
I love the profoundly flawed "you should have searched" logic. Nearly everyone who got there did so because a google search failed. The first step in this process _is_ a search.
You're being whined at for not knowing the very specific incantation which will summon the results. Which, if you knew, you likely wouldn't need to ask anyway.
"You're stupid and your question is stupid. I forbid answers. I will keep it up and nofollow all of the scalped resources it links to in the hopes others can come here and benefit from this lack of answer"
I agree with you, but my first step in doing a modicum of research on a new subject is to ask questions. I can ask the most basic questions to chatgpt and usually get pointed in the right direction.
Which is my point. ChatGPT is the most basic modicum of research and it is excellent for that. But it also can do a lot more.
The next iteration of chat bot can't possibly avoid being this way either.
Collaboration on writing a better question is the only way its answers could get to the next level and customized for your specific use case. I'm imagining it spinning up a generated SO clone for you to browse and scolding you just the same (but at least giving you a decent link), or at least asking why an answer you found isn't good enough.
The way collaborating with AI works now is too wordy and error prone. You don't know what you don't know. Chat bots still don't talk back much and that's a problem.
When we get to this level of AI, maybe some people will finally understand that getting your expectations broken is not a form of hostile communication.
I hear what you are saying. What I think that what you're missing is that subsequent conversations with AI, where humans and AI solve problems together, is what the next generation of AI is going to be trained on. That data is being collected every time someone interacts with a chatbot, which is why they are being provided — so many of them - as a free service.
It is, as before: if the service is free, you are the product.
That being said, I think that to the extent AI is an actually helpful product, as opposed to social media, public forums, or free video hosting, the tradeoff is way more worthwhile. In my most humble opinion. I'm sure your calculus will lead to different outcomes.
and if GPTBot can reach your site, you are the product, they would make you their product even if you don't use their free service
but now they are not allowed to complain when others train models on GPT-4 data, they can become someone else's product too - see Orca, TinyStories and Phi-1.5
if the fair use lawsuit succeeds and copyright protection over open source is essentially terminated: what companies are going to open source anything?
Google/OpenAI or whoever will start paying experts to seed these systems with answers. Imagine paying twenty infectious disease experts to interact with your LLM for 6 months. That's chump change for one of these companies and they will be able to charge big bucks for access to the LLM.
> in 2030, when stackoverflow have folded due to lack of visitors, and all new data on new libraries/APIs are locked up beyond OpenAI's reach
> how useful is the AI going to be?
In 2030 the AI can go and and search for the answer itself, by installing the environment in a container and trying to find a solution. It's something that is in some way possible even now, but probably not practical yet.
I've taken to using both vim and nvim, with nvim having copilot. There are times when I'm going in, knowing that I'm re-inventing the wheel, or that I'm refactoring. For those times when I feel like copilot would just get in the way there's vim.
Both copilot and GPT4 have been wonderful 80/20 tools in different ways, and give a remarkable new way to learn.
GPT4 has been outright wrong for me only a handful of times. I know this because I typically have an academic paper for the topic I'm working through next to me and knowledgable friends who I discuss things with as well. I'm rarely using GPT4 for things like syntax or APIs which can be easily looked up elsewhere. I also rarely ask it to write code.
I know mileage may vary, but I just haven't had this often quoted (but I suspect actually less first hand experienced) situation when it comes to development.
Absolutely agree. Those tools you use don't happen to work for me, but that's entirely beside the point. We shouldn't look down on people based on what tools do or do not work for them. What matters is whether they solve the problem and if they can maintain and expand the systems they build. If they can't, they can always get help. If they can, that's cool too, the amount of problems that need solving in the world seem about infinite from a practical perspective.
I see "no code" tools the same way: It _is_ code, visual programming is programming too. If that works for you, that's cool.
One of the main things I do in my CTO/consulting work is ironically to reduce the fear "non-programmers" often have of software. If they can program to some degree, my experience is that they'll respect the "real" programmers more - and collaborate better.
stranger: Hey guys, my car was making a weird squealing sound the other day. Not knowing anything about cars, I went in there with a hammer and methodically hit everything I saw that was moving. Eventually the squealing stopped.
ianbutler: Congratulations! You're a car mechanic! And to be blunt, fuck anyone who disagrees with me!
Its ok to feel anxiety around something that seemingly challenges your identity, but you don't have to fight so hard to hold on to such an unimportant part of your identity.
Nobody is a programmer, really. We live in particular moment of the world where this new idea of professionalization tricks you into thinking sometimes what you are is first and foremost defined by what you trade on the labor market. And this is an especially potent spell for those, like us, who for right now particularly well compensated in this market. But either way you must try not to forget that this is just a kind of illusion. That we are more united by shared capacity than discriminated by "skill".
Why not take joy in the idea that what you have devoted yourself to, presumably, can be a more shared and understood thing for the world at large than that of a doctor or college professor?
Nobody is real, everything is an illusion defined by your interpretation. Please. There is a standard definition of what a programmer is. Dood that had an llm create his code is not a programmer. You have to actually write code to program..
engineer: do you need bonded insurance on this project? architect: do you want common design themes in the parts of this project? Philosopher: would you like frys with your burger sir?
Philosophy is actually one of the majors with highest career earnings out of college.
Also anecdotally, I know several people who majored in philosophy (one with a CS minor) and they all do quite well. I'm in my mid 30s and the people I'm talking about are between 28ish and 45.
For some reason it groups "philosophy and religious studies" and the latter might not lead to very high paying careers, so it's hard to tell what that means for "just" philosophy.
The report [0] has them below the median of all "humanities and liberal arts" majors.
Skill exists. Some of us are programmers. Some of us are artists, musicians, writers, photographers, engineers. The time we put into our craft, learning, practicing, has real value. AI does not replicate that value, at best it only steals it. We aren't united by shared capacity, because the capacity belongs to the AI, not to you. We don't share understanding because, when a black box does all the work, there's nothing for you to understand.
You're standing in the dojo wearing the black belt you bought at Wal-Mart and condescending to the masters for acting as if any of the discipline and hard work they put in meant anything, because look - you have the same belt as everyone else, and didn't have to do shit for it.
This is why people hate AI and the people who use it.
Yes, they were. Technology always advances. You either adapt or get left behind. You're just mad because after 100 years of industrialization it's finally coming after your job.
To hell with progress. I don't want to live in the future where corporate black box AIs generate everything society considers "art" and "culture", where no one knows how to so much as code a for loop or draw a stick figure because human expression no longer has an outlet. I don't want to simply be forced to adapt to a life where my only option is to blindly consume what the machines feed me like I'm in a tube in the Matrix.
Yes. It does make me mad. And I should be mad. Everyone who cares about anything but the bottom line should be mad. The wholesale commoditization and destruction of human intellectual skill and creative talent in service of the relentless pursuit of capitalism through automation is a bad thing and you should feel bad for cheering it on. "Adapt or get left behind" isn't what someone who actually cares about the quality of their craft says, it's what the Borg say before injecting their nanoprobes into your brain. "we only want to improve quality of life." Fuck that.
I appreciate your righteous screed. I imagine it won't be a decade before we see a fork in society between those who embrace a UBI and a world filled with bots, centaurs and llm-mediated-hive-minds and those who simply want nothing to do with it.
Maybe the luddites made it clear that destroying capital doesn't make for a winning endgame, the Amish might be a better model - they still participate in the broader economy but they've built their pockets of antiquity where they get by with more elbow grease than they otherwise would have to, and have a spiritual basis for meaning that most of secular society lacks. I probably won't be joining them but could see a new movement that accepts diesel engines, lithium batteries and computers, but draws the line at anything that starts to mention "hidden layers" or "nondeterministic behavoir" (outside that randomness needed for accurate simulations and cryptography)
The existence of AI art does not mean that human art won't be created.
>I don't want to simply be forced to adapt to a life where my only option is to blindly consume what the machines feed me like I'm in a tube in the Matrix.
How is that any different from your life now, except it's humans feeding you slop instead of human-guided machines?
>Everyone who cares about anything but the bottom line should be mad. The wholesale commoditization and destruction of human intellectual skill and creative talent in service of the relentless pursuit of capitalism through automation is a bad thing and you should feel bad for cheering it on
Go join an Amish commune then. I love the irony of a programmer (I'm assuming) complaining about automation.
"Progess" itself, as construed by these people at least, is a specter. It is an empty faith for the sycophants, and a tool of compliance for the stakeholders.
Hardly anyone ever asks where this progression is leading, and if they do, usually the answer is to "more progress." Which, to me, doesn't really sound like progression at all! It's just a way to justify not actually changing anything that matters, and to make sure there is always some faux-horizon of greener pastures to promise your customers.
Why would the ones who control the robots keep you and your descendants alive and enjoying the wealth generated from the robot work if you provide no value to them?
This argument isn't persuasive in the way you want it to be. If anything, it just makes people realize that the Luddites were more reasonable than they are given credit for.
> This is why people hate AI and the people who use it.
For me personally, I just hate that they don't stop talking about it!
I think focusing on the AI-shit is missing my point: why do you even care about this? What is really at stake in this? Is it really just the idea that there is some kind injustice being done? An injustice to whom?
If you spend your life doing all the hard work it takes to excel at something, the rewards of that hard work are intrinsic to your new mastery. What someone calls you or not because of your skill is like the least important thing about the entire pursuit.
I too am quick to point out how annoying the AI stuff is, but I think if we are going to defeat them we need to hold on and affirm shared human capacity more than we need to protect titles.
You don't want to defeat them, you want people to stop complaining and accept AI with open arms. You don't even understand why anyone would think AI needs to be defeated, or why anyone would even care. That you seem to believe my comments are just about pride and ego and "protecting titles" suggests you either can't comprehend the nature of the arguments being made against AI, or refuse to.
I'm sorry I can't understand if your rhetoric here is saying that I really don't want to defeat them, or if none of us should want to.
At least for the first one: I definitely do! "Defeat" is maybe a little clumsy, and its less wanting to squash AI itself (for one thing, because this new stuff isn't really "AI"), but rather what it represents and who is going to use it, or even right now, who is going to use the bare idea of it to hurt workers and demoralize us in general. The whole hype train is a big jumping of the shark of an already fraught and misguided industry. An industry propped up by senseless financial instruments and false ideals of technological determinism. It is no good!
If you really can only see this whole argument as only a pure black and white dilemma, that either this guy is a "programmer" and AI is good || this guy is definitely not a programmer and AI is bad, then I would urge you maybe to invite more nuance into your thinking. But also not a big deal! It's more important we are on the same side about the big stuff, then whether we agree about words. Which was kinda my whole point all along!
Huh. So, being almost 50, having spent 35 of those years writing code and orienting the majority of my life around it - somehow that's separate from my identity?
People like the person you're responding to, who haven't spent any significant amount of time to develop any sort of skills, console themselves by saying that no one is anything, because they themselves are nothing.
"No one is an artist. No one is a programmer. No one is a football player."
It doesn't make any sense of course, but it makes them feel like less of a loser.
Life can be many things to people, friend. I feel like I know the meaning of commitment, and focus, but even if I didn't, that wouldn't make me a loser! You can live a life in ascetic focus toward mastery, or one filled with family and companionship and simple pleasure. Or something else entirely. It's all just people living life!
I just think its more important to focus on what we do, rather than what we call ourselves. I don't think that precludes the existence of talented, amazing people!
The first step of learning any great skill is recognising that there are other people who are unimaginably better at it than you. The next step is understanding ways in which they are mere humans doing things you too can do. Then the next is going back to the first step, repeat ad nauseum.
You will never reach the peak, and there will almost always be people below looking up at you. Try to find peace in this.
Thank for that wisdom. I'll try, but the force of my egoistic insecurities are just so strong!
It has led me into this sorry, loser state where I constantly deny myself the humility due to me, of appreciating the single minded devotion and sacrifice of great masters of craft and skill and knowledge! Instead, I reject this beautiful aspect of humanity, plunging everybody into a purgatory of dilettantism!
Perhaps one day, when I am tired keeping this up, when my own existential failures have exhausted even my own bad faith arguments, I will stand back and see life for what it is. I will see the programmers and the doctors. I will notice the calm adeptness and global purview of the grandmaster. The life-or-death meditation on the body and force of the karate master. The almost impossible marriage of precision and emotion of the musician.
I will see this eventually, after my insecurities wither in age and malnourishment. All along I thought it was a source of pain, these great people, a reminder of my own inadequacy. But I'll realize, in the future, that this can actually be the most affirming thing about anyone's life! To even know of these great people! To be given a horizon itself, a set of peaks to aim for, is all that matters. Humility and admiration are blessings of life, and the high bar of human achievment only generates ever greater accomplishments for the world at large. It is important, even necessary, to recognize and attribute mastery and great accomplishment only where its due. Because otherwise nothing is real and everybody is fake.
But I'm not there yet. I am young and I am more a dilletante than most, so it will take some time.
> I just think its more important to focus on what we do, rather than what we call ourselves.
And to describe what we do, we use words. I use the word "programmer" to describe how I spend my work day, mostly programming. I use the word "Londoner" to describe where I live, London.
You can't escape using words to describe yourself!
the world is not a function of one person at a time; this cheerful cheerleading is appropriate for pre-teens, and really does work. On the other hand, this narrative plays directly into the hands of employers who seek to devalue and routinize complex tasks, delay or withhold career advancement, outsource or sub-contract, or generally jump on the current worldwide trend of firing high skill people and then re-offering lower pay jobs with constraint.
Lastly, there is no distinction here between ephemeral code like this week's JS, versus domain knowledge and abstraction like an engineer or architect.
personal take - the enthusiastic F-U sounds like stimulants talking...
> It's the act of solving the problem not the code itself that entirely matters.
I don't necessarily disagree with this, but if you just regurgitate code that a bot gives you, are you actually solving the problem? Every time I see someone post "I asked ChatGPT and it says x", it seems pretty clear to me that the poster doesn't actually understand the topic and just handed it off to the bot.
> Code is simply an unfortunate vehicle to do so.
It makes me sad that people feel this way. I got into programming because I love writing code. It's exhilarating, there's nothing I would rather do with my life. What you're saying is kind of like if you said "working with the wood is just the unfortunate vehicle for making furniture, so much the better if you can use a CNC machine". You certainly can make furniture more efficiently with tools like that, but it also sucks the joy out of the process.
I always write the fun bits of code myself, it's usually easier then explaining to the model what I want anyway.. but like 80% of any project is scaffolding or plumbing, The Machine can do that for me with 10x speed and precision without taking any enjoyment away from me.
That's what I'm saying, though. It's all fun for me. Whenever people talk about boilerplate as if it's an onerous requirement, I can't relate. Because I enjoy writing even the most mundane code.
Right now, I think machine generation of code is not usable because you can't trust it. The current tools are known to confidently give wrong answers, and accordingly I don't trust them (same as I wouldn't trust a human teammate who did that). But I think that's a problem which will be solved, and once that happens it'll be quite simple. Developers who use such tools will outcompete those who don't, so everyone will have to adapt or die.
I'm not worried about not having a job, because I have been in the tech world long enough to know you have to be ready to adapt. I'll adapt, and I'll keep on trucking. But I do think that I will stop enjoying my job, and that makes me sad.
Who's to say rapidly building something with an LLM isn't more exhilarating?
ChatGPT and Copilot definitely increase productivity by a non trivial margin and atleast in my experience, I never once thought "Oh I wish I had written that code by hand." In fact, I feel the opposite: LLMs take out the drudgery of much coding and allow you to focus on writing code for the difficult parts.
I mean do you feel the same way about using a library since it reduces the amount of code you have to write?
Like your position doesn't really make sense to me because you're saying you want to write all the code yourself, but you already don't write all the code yourself. Like what's the difference between using a library someone else wrote vs a LLM implementing that functionality for you?
Depends on the project. Sometimes I do use libraries and sometimes I don't. But either way, there's a huge difference imo between using libraries and using an LLM. When using a library, I'm still writing code myself. When using an LLM, I'm just doing a newer version of copy pasting stack overflow answers. If other people don't see it that way, more power to them, but I can't really find fulfillment in doing that.
I find it extremely exhilarating when an AI successfully helps me to solve a complex problem. I thought AI was only good for reducing boilerplate and "copypasting" tedious tasks (which it is, through Copilot) but now I get excited when I get stuck and get to talk with ChatGPT about it. We iterate through several solutions and discuss various short-comings as well as debugging them. I love it and it has only increased my passion for programming.
I disagree a bit. Code is the precision vehicle. A majority of our job is problem solving; some problems can be solved generally, other problems require precision. Not all programmers will ever encounter a problem that requires precision solutions.
> I also maintain that for a lot of the programming that makes the world go round, it's not that hard. People just convince themselves they won't be able to.
I also disagree on this. I've taught a good number of people to code to different degrees and I can confidently say that not everyone is going to have an appetite for this as a job or hobby. That's to say, hobby coding is different from career coding, the incentives are different, and attract/require different personality characteristics to be successful. I think infantilizing programming does no one any favors.
I like to describe it as a job where you solve many, many tiny problems and put them together. You must like breaking big problems down into small ones, coordinating and communicating asynchronously and clearly, and have a good head on your shoulders to tolerate the literal endless stream of failure that you'll encounter along the way without being too dissuaded. Lastly, you'll constantly be learning something new; sometimes learning about the same old things, other times learning things far outside your domain. The single most important tool in a programmers war chest is not knowing all the things, but where to look and how to discern good information from bad or so-so information.
Coding is basically management (not in the 'leadership' sense, but in the 'directing' sense); by comparison the things carrying out instructions are more predictable in behavior, and you can FAFO due to high speed and low cost of iteration. Some people really do need instructions made more precise and explicit than computer code!
> Coding...is engineering. Put the world behind the wheel of a car and they can make it go places. This...does not make them an automotive mechanic.
What a terrible analogy, just because you know the car's firmware doesn't mean you know how to properly diagnose something not related to the electronics (worn wheel bearings or suspension components) let alone how to diagnose or repair.
While I agree coding serves engineering, it's always funny to me how quick people want to use the term 'engineer' when it suits them, but then developer when things go wrong and accountability is on the table. Furthermore, engineers tend to have licenses in their respective fields, something I don't personally agree with, and to this day I have yet to see the same in IC roles.
Sidenote: As a former tech (mechanic) there were times when you would question not just an engineer's competence, but their entire sanity given how something was deployed, and needed to come up with a work-around for it to function correctly; which is why I think coders (at least the proficient ones) are more like techs.
"Operations Research and Management", basically quantitatively focused MBA, is considered an engineering discipline. Whether or not it is Real Engineering is maybe a matter of contention, but so is the question of whether "software engineering" is Real Engineering; anyway the point being the separation between "engineering" and "management" can be a bit fuzzy
Yeah, I actually think code is a wonderful tool. Writing in a formal syntax to express your ideas is a very old human activity - the only difference between cuneiform and code is that code has this magic ability to actually do something, by virtue of the fact that machines can also understand it.
There could be more than one definition of "understanding"
If a machine can interpret instructions and follow them then that is a sort of understanding. At least it has the same kind of result as handing instructions to a human and having them follow the directions to complete a set of tasks.
Does the human understanding of instructions differ significantly? Yes a human can understand much more ambiguous instructions and perhaps complete a larger set of possible tasks, nonetheless it's a similar process going on at least on the surface.
It may feel very similar but you need to be very careful with how you define words like "understand". There's (historically) no inference or extension with the machine. For humans "understanding" is on the path of "learning"; not so for typical machine code execution. The machine is not "interpreting instructions" but "just" mapping to unambiguous defined actions. This is still amazing but it's closer to a player piano than sentient intelligence.
It was a pun about how this thread is being overly semantic in an unnecessary and uninteresting way...
We could also talk about how the word 'executes' implies some kind of agency which computers lack. It's like saying a rock just executes the laws of physics when it rolls down a hill...
Author Pamela McCorduck writes: "It's part of the history of the field of artificial intelligence that every time somebody figured out how to make a computer do something—play good checkers, solve simple but relatively informal problems—there was a chorus of critics to say, 'that's not thinking'."[2] Researcher Rodney Brooks complains: "Every time we figure out a piece of it, it stops being magical; we say, 'Oh, that's just a computation.'"[3]
I know what you mean, but. Human spoken and written Languge very clearly _does_ something. It facilitates information exchange across time and space, catalyzing cultural evolution.
Actually if putting it that way, no trade ever is that difficult. Yet we have all seen quite some differences between plumbers' work haven't we? While yeah everybody could do it and maybe everybody could even do it well, the hard truth is that not everybody does it, and also definitely not every plumber does it well. So while it's nice and inclusive to say "just do it it's not that hard" the reality will bite you in the rear rather sooner than later.
Agree 100% about the future. From a historical perspective, programming is something completely new that will have more evolution beyond programming languages, frameworks and operating systems.
Now in the world we have zillions of software engineers doing the same thing redundantly. In a way the software development industry protects itself not creating the tools to reduce the industry itself. This is a typical innovation dilemma for a whole industry. Not saying that this is conscious but there is a big focus on pleasuring ourselves with new things that continue a well known road of fancy programming languages, etc.
There should be also a difference between "engineer" and "programmer" and in many countries and professions it is. As in, you surely can program after a few online courses, and even have some great results in that topic. For engineering though, it's another level needing way more and differentiated courses.
I think you're right, especially for things like database applications, but also that when we're talking about things like agents or UI the goal is rarely anything to do with the structure of the code or data - it's to solve a real-world problem or create a real-world experience. The underlying process simply has to achieve the intention to be good enough.
To your second point I thought about including a disclaimer, but it made the original comment too wordy. Aptitude is correlated to, but not the only part of enjoying something. You can't fix people not liking something, that's just personal preference and totally fine. I took accounting in college and really didn't like it, no amount of assistance is going to make me like it and ill never be an accountant.
I've been laughing to myself a bit, not about your comment, but because predictably there are so many people who chose the most uncharitable way to view, both my original comment and the people using these tools. Copying and pasting, never learning and becoming knowledgeable, as the most probable outcome that will come from this. That's just not how it works.
Excluding the people who will stop anyway of which there will always be, what this will do is break down barriers for a lot of people (not everyone), who thought they wouldn't like it or couldn't be good at it and entice them, hook them, and then build them up. It's just a new way of learning programming. Hacking with LLMs is going to be the entry point for these people, not the final destination.
I hope my comment didn't come off as jest or cynicism, if it did I apologize and that's not the way I intended it.
I agree overall that LLMs will lower friction and barriers to entry for some folks looking to get into hobby hacking, programming, or software engineering as a profession. Anecdotally, I think that's true beyond software. In wood working I find LLMs helpful when youtube leaves me with unanswered questions. More anecdotally, I have some high hopes for when LLMs can use tools, I think paired with the knowledge I've gained over the years that using an LLM that uses tools will be like the force multiplier I gain when using a compiler.
To some degree, like any useful tool (eg: StackOverflow) there will be those who use it recklessly, but I'm less concerned about that because those people will always exist. The "anyone can do it" sentiment is highly inclusive, but also a bit falsey and what I took more disagreement with. I've met a good number of people who got into the industry of software engineering based on sentiments like that, thinking the job would eventually become "easy" and it never does for them. That or they falsely equivocate that sentiment with working at a FAANG, that these are just easy jobs where you get paid beaucoup bucks only to find out that's not so true, or at least not nearly as common as the sentiment invokes. That's worth being a bit cautious in language in my opinion, but I say that out of having experienced how hard it is to navigate this industry at times. To find out the things that you knew to be true that got you into it in the first place were false or falsey would be a big let down.
I think these things are worth talking about and I don't want to make this industry look more gatekept than it is so I don't think I'm 100% right with my opinion, but I also don't want to give people false impressions. I appreciate you being willing to respond and talk about this stuff.
Thank you for that, but you were fine! I replied to you because your criticism seemed thought out.
I think ultimately if I had to try and make a more balanced take, it would be that this will help a non trivial amount of people become programmers as it makes programming more approachable where traditionally as a field we struggle with that. It will not magically make you a top programmer or anything like that. I also think it's unavoidable that some people regardless will not be cut out for it.
I really wasn't trying to suggest that this will solve the difficulties of becoming a professional programmer, but I do think it is going to be the entry point into the field for a significant amount of future programmers.
I am glad that for once I'm being cautioned about being overly optimistic though, typically I fall on the other side of that spectrum and it's something I've had multiple people tell me to work on.
I think the bottom line is it can level up everyone's skills on most subjects.
If your an Expert and you only care about that one subject it's probably not that useful. or you expect perfection from AI it makes mistakes. but you know what they say. To err is human but you need recursive AI to really fuck thing up.
> I also maintain that for a lot of the programming that makes the world go round, it's not that hard.
I guess it depends. I maintain that getting something mostly working is not that hard. But I haven't worked on a webapp that didn't have many obvious (to me) concurrency bugs in them.
So does that make it easy or hard? I dunno. Maybe writing correct webapps is hard, but maybe their correctness doesn't really matter.
I find code (but not all code; there is a difference between environments and languages) as a tools and means of thought to be a lot more efficient than english. I use mostly code to talk to gpt4 and it fills gaps that I really don’t like to fill because the language used (usually typescript these days: I don’t work in a vacuum) is so horribly inefficient in expressing ideas in a fluid-as-thought way.
The ambiguous human language is a pretty horrible vehicle compared to that and I see english to code in LLMs more like the way people use Excel; just keep messing around until it works (with often with inefficient and completely wrong sub parts because the direct and correct solution was never found) without really caring if the end result is really what you meant, because actually you cannot translate what you meant in anything formal like a precise formula or a piece of elegant code.
I see nothing really wrong with that; actually, I have a perverse interest in it; my company troubleshoots and fixes urgent code and infrastructure issues for companies, no matter how bad/old/messy/broken it is. I see my company grow a lot the coming years because of this new wave of software coming up. Because of course, this will go from
> you won’t intersect with the new wave of programmers
To
Mostly everything now is written by this new wave of programmers
Why? Because it’s cheaper in the short run. Why hire me for 300$/hr to write something when the dropout with 2 months of experience waiting tables at Wendy’s can use $20/mo chatgpt4 do it faster and for far less? And I agree with that from a business standpoint IF the software wouldn’t need to live long.
However, I am older and because of my company activities, I know that a LOT of these short lived departmental or startup software hacks end up as vital parts holding up the company over the decades.
I read somewhere (I think here on HN) of someone saying ‘but no one expects me to statically type out a script that removes dollar signs from a csv’ or something like that. If you would give me a $ for every time I encounter a script like that, that started with that same mindset, but has been integrated over the years into vital processes and breaks things in unexpected ways because it’s not made to be there, I would have a free high spec laptop every year. There are 100s of these in every spaghetti hell of a company I walk into.
LLMs and the tooling around them will get better; there is my hope that, in a few decades, the LLMs will deliver code for programmers and end users alike that is robust and even proven and 100% test coverage mostly without extra effort on the human side. Then I can retire my company. For now, I see a bright future with exciting new and unexpected horrors (although, to be honest, it cannot get worse than what outsourcing sweatshops produce; we are doing a project now which has 1000s of lines (so far, it is early days) of code which are unreadable (hard to explain, but they are logically wrong mixed by human obfuscation to hide the fact they didn’t understand the tasks they ‘completed’); it almost seems a joke to write code like that).
> I also maintain that for a lot of the programming that makes the world go round, it's not that hard
Depends on what you mean by "makes the world go". If you mean the shopping cart of a website makes the world go then sure, but if you mean the underlying database engine or OS kernel or deepest part of the stack, then it is definitely not easy.
Ultimately, learning the fundamental concepts of programming is not hard at all and anybody can learn them. Programming is hard or easy solely depends on - what the program is supposed to do.
I use Chat GPT 4 for one-off scripts, to explore new technologies/frameworks.
Sometimes it's great, but I find it hurts me as much as it helps me in terms of time.
The only big win is it really helps me start doing new things whereas without it I would procastinate more.
I've seen a colleague mention a Chat GPT discussion in a PR in what I thought was a straight-forward issue, where Chat GPT was just wrong. I find that worrying.
I knew nothing about replit prior to this post and upon reading it and the claim of “20 million software creators building on Replit” i knew there was something dodgy about this company. Your links confirmed it.
look i'm admittedly replit friendly (tho no vested interest whatsoever) but how does one badly handled issue with an intern, make the entire company's 20m registered user claim "dodgy"? its a very short path from there to wire fraud and i dont think they will go anywhere near there.
It was plain intimidation by the founder and further doubling down on it made it pretty clear where they stand ethically.
Whether someone wants to let the behaviour of a company's founder color their judgement of the company is upto them. But painting the whole thing as "one badly handled issue" undermines is.
Those 20 million, what are they? Created user accounts? Active user accounts? User accounts that created at least one Repl?
I have at least three Replit accounts - one on my uni email (which I no longer have access too), a previous work account (experimenting for doing interviews with it), and my personal account. Am I three developers? None of those accounts are active, do they count or not?
If that 20 million figure is taken from anything less than active users I'd consider it deceptive. Which doesn't mean Replit the app is bad! But it does make the company a bit suspicious.
Interesting, I think Replit can bring a lot to this. I did a little experiment where I asked my partner to use ChatGPT to write a Python script to solve a file comparison task, the biggest challenge was the tooling (VS Code, terminal, etc), something which I would expect Replit can make much easier. I did a write up of it here: https://blog.picheta.me/can-chatgpt-help-my-non-coder-partne....
Have a look at my open source tool aider. It is really focused on a smooth “AI pair programming” chat workflow, and directly integrates with your local git repo.
This is probably the funniest consequence of these models. Pre gpt training data is going to be like the radiologically inert steel we need to scavenge from sunken warships.
Of course not, why would you write “cheap” when you can write “h1b”? Referring to people by only the noun of their immigration status with no other information in no way has any reflection on how GP thinks about anyone based on their immigration status.
Yep, and what’s more, I’m sure that commenter is not referring to, say, ethnically German or French visa holders when disparaging “all those H1Bs” ;) I’ve learned to not be surprised by the persistent and nasty ‘community’ of these types of commenters here on HN, fortunately they’re not the majority.
An immigration status that's routinely abused to bring in underpaid workers to suppress wages; it's not a personal attack to say that those exploited workers will generally be low-skill, any more than stereotyping PHBs or management consultants or first-year students as ignorant is.
I think if I worked somewhere where the other employees (or worse,the higher ups) talked about me that way I'd produce shit code too. Doing more than the bare minimum is reserved for places where I'm respected, and I doubt I'm the only one.
Does Replit Ghostwriter reference live documentation of the API you're asking for, or is this just coasting on having memorized a recent version of the Slack API? If the latter, this seems like a completely unsustainable approach to development. What happens when an API change is introduced and none of the code Ghostwriter is giving you works, and its explanations of the API are all wrong?
This wouldn't be good for an engineering team, but it would be great for almost any other team that doesn't have a strong sense of what to automate and how.
The "what" is the hard part, yes, but the other hard part is finding the bandwith to get the business to build this automation. LLMs empower non-engineers with a technical bent to create helpful solutions for themselves.
Which is great job security for the engineering team a few years down the road, when there's no one left who understands how the AI generated app works but it's become a mission critical part of some department's workflow. Kind of like all the tools that have been hacked together over the years using VB, Access97, Excel, etc.
You basically have this everywhere, non programmers building simple automations in excel, building simple websites with squarespace, now they can build simple chatbots as well. Meanwhile the full time programmers move slightly up to more complex tasks.
I am learning programming -- or rather, relearning programming from a middle school/high school course basis into further achievement. While I believe that using AI to "code for you" is just undercutting your potential to be any sort of "good" programmer, using AI to learn and ask questions repeatedly without fear of judgment is the key.
That being said, using AI to code can just screw you over by presenting bad code, faulty code or the LLM simply not understanding the demands. It's not a tool to use in lieu of actually knowing/learning how to code and understanding the programming language in question.
>Using AI to learn and ask questions repeatedly without fear of judgment is the key.
How... how, I ask, does not asking a question for fear of being judged get you anywhere? I hold that overcoming that shortcoming is a critical part of becoming a builder of systems. Using an AI to try to spackle over that interaction rather defeats the point.
I love using replit to write tools for completing small tasks. I recently used it to send out a SMS via twilio to my entire hs class for our 10 year reunion.
protip: if you’re spending more time bug fixing code that AI spit out for you, ask the AI to do smaller problems
Yes, it absolutely will spit out the answer to something as complicated as your take home interview problem from description alone, but you wont know how to fix it for a presentable touch up, or adding more to it
Instead break it out into smaller problems and do many of those
On one hand, I have a hard time believing that someone who studied math (even if it was just a minor) and managed to land a job at BCG was not able to pick up basic programming.
On the other hand, good job and welcome to the club. I think this shows what many have said in the past months, that one major success of LLMs is to make consultants, business people, etc. more proficient by LLM aid.
I love this. I'm a somewhat technical Product Manager who has written code before, but outside of some freelance work and a little bit of research in undergrad I never worked professionally as an engineer.
I regularly use AI to help me write multiple microapps for personal and work use.
The most important quality as a programmer is to understand that you are facing an unlimited series of problems and you have to enjoy solving every single one until you stop.
Then you level up to an actual senior engineer and understand that while issues are infinite, you don't have to solve every one of them. Your goal is to identify the smallest set of issues to solve to reach a goal, and that is a problem of exponential complexity outside the reach of machines, as long as P≠NP.
Programming is to software engineering what knowing music theory is to be a composer. LLMs might replace the mechanical aspect of our job, but that was the easy part all along.
Something that often gets left out of this conversation is that "writing code" is VERY different than "maintaining code", and maintenance is 99.9% of the work. So what happens when the AI-generated code fails? You might say "well I'll just ask the AI to fix it!" Okay...what if the code is part of a distributed system and therefore would require investigating traces across several components to diagnose? What then?
Maintenance for humans means understanding the code, which leads to all sorts of requirements. Perhaps GPT does not care about that and is comfortable with spaghetti code (just like the compiler BTW - rather one bowl of spaghetti versus a layered cake of abstractions).
Does a chess computer need to understand chess in order to win?
When that's happen, then it's time hire a programmer. Just like all those site builders don't make web developers disappear because you'll eventually hit a limit and need a programmer to solve the issue.
The best part of using ChatGPT/AI for programming is it allows programming to be more about the fundamentals, design, and high level logic rather than needing to know an endless amount of "trivia" on all the weird non normal stuff and hacks are needed to work around most modern infrastructure/dev environments/tools. I don't have to hope that I happen to know of some weird memory issues caused by some random package or version or something, AI can catch it before I go down a Google rabbit hole trying to fix whatever random errors start popping up.
Happy to see the progress the tooling has made BUT "I'm not an architect, and I used AI to build my first bridge" probably also wouldn't be a great idea.
Good tools to learn and take over mundane tasks but in the end you're the one owning and maintaining this code (no matter if a contractor wrote it for you, copied it online or used AI)
> Before I joined Replit, I had never written a line of code.
> I [had] tried to learn to code to earn some money to support my training. At Boston Consulting Group, I attempted to learn Python to automate some basic data manipulation and scraping tasks we did.
But they read something once where the person had "Never done X" and found it a useful rhetorical device that really punched up the article, precise and honest language about reality is so boring and passe.
224 comments
[ 343 ms ] story [ 448 ms ] threadThe ability to write code and perform in-depth engineering is a fantastic skillset. It's also relatively rare for it to be done well.
For the easy to potentially middling cases, AI-generated applications are going to help a lot.
The downside is now there is pressure for quantity over quality. Might be fuzzy in the market for awhile.
I don't know, it's been that way for a while now, hasn't it? Every C level / product manager bombarded with "new tool / language this", "new tool / language that" hype, when often its a bunch of noise and only a small selection are likely the correct choice for the org.
Second, the use case described in the submission is functional and internal-only, and does not deprive or have the potential to deprive software developers or artists of any lost revenue or recognition. It's purely a reflective experiment.
There's some nuance into the scope of generative AI, which normally Hacker News does well at discussing. But kneejerk "AI art is theft" comments only serve to discourage people from sharing their experiences with AI.
There's another story on HN posted today about balancing money and meaning and one of the top comments is a sarcastic put-down about the AI generate image at the top of the blog post. If the author had used AI to create the web page they'd almost certainly receive similar praise as the comments on this one. Both AI's are trained on other people's work, yet you seem to think even pointing this out is unfair. Very strange imo.
Most of the comments on that submission are negatively and fairly accusing it of being ChatGPT generated: https://news.ycombinator.com/item?id=37779591
That submission also appears to have been flagged/penalized, so yes, people aren't happy with it.
There is a significant difference between using AI for a functional purpose that others can learn from and using AI for low-effort marketing blogspam.
I think you mean that artists mostly think AI art is bad, while programmers mostly thing AI generated code is good.
Only thing I've seen was artists on Reddit and Twitter getting angry about the AI art.
So I could write an article about prompt engineering with AI art and use the headline "I made an amazing art for my blog without ever taking an art class!"
For example:
https://medium.com/geekculture/i-used-ai-to-create-marvelous...
Either way, it's irrelevant to the GP's comment.
None of this is knee-jerk. These systems alienate massive amounts of labor from the people and communities that did that labor. There is a huge amount of risk involved with mass adoption of this technology that most people on hackernews seem content to either ignore or say it's not relevant to the discussion like you are.
LLMs have supercharged me as an experienced dev, not writing code[0], but rubber ducking[1] with something that talks back and I can ask my question in an infinite amount of stupid ways and it won't balk.
If it can do that for me, designing a database, it's about to introduce a whole new wider range of "I'm not a programmer"s into being programmers. Good timing too, the world needs it.
I know particularly prickly devs will be annoyed by people they see as not true developers, but, and sorry to be so blunt, fuck em. It's short sighted because if you're as deep and skilled as you think you are, you won't intersect with this new wave of programmers anyway.
[0] I stopped using copilot, it got in my way too frequently even after initially liking it. [1] I use GPT4 and I intend to publish my entire history of my back and forths I've had with it for designing a database after I release my project, but it basically just let's me bounce ideas off it. The caveat is this area is not unfamiliar to me, and the techniques I'm discussing I know enough about to call bullshit on when I see it.
People can stretch the definition however they like since there is no hard acceptance of where the line is drawn. Sure the general term musician means a person who plays/creates music. A person who hums can be a musician.
However in my own opinion, I disagree. DAWs are not instruments in themselves. The main functionality of a DAW is in recording, arranging, and mixing audio. They are the digital equivilent of a tape recorder and manual cut/splice process. They have evolved to include many software add-on emulations of instruments and packages around the production process: synths, pianos, mastering tools, additional recording tools, etc. Using a DAW does not make you a musician, but using provided instrumentation in a DAW can make you become a musician.
There are two answers:
a) No, that only proves you can type. b) Yes, you are an artist just like everybody else.
Doing so helped me become a better assembly programmer.
Some of the work people put into getting Stable Diffusion to create the results they want takes plenty of time and skill. But event then I would say that putting in time and skill is not strictly required to make art.
You can absolutely be an artist using generative AI, but you of course wouldn't be a painter if you use generative AI.
In this example you can be an application developer but still not a programmer.
Consider the Python function 'max', which, given an iterable, will return the iterables biggest item. Now suppose I ask ChatGPT to generate a function (in whatever language you like) called 'max' that does the same thing and it returns a block of code that I copy and paste.
In what way is Python's 'max' meaningfully different from ChatGPT's 'max'? It seems to me that these are essentially both just higher-level abstractions.
or, to put it another way, if everyone is a programmer, the word is meaningless.
We've been raising the level of abstraction in code for decades and it looks like LLMs might just be the next level up. Yes, using LLMs will put more complex code within reach of more people but I'm sure it won't be nearly everyone, and I bet that it'll raise the ceiling of what the best programmers can do at the same time.
Of course, we're free to redefine what "programmer" means at any time as well, if a new definition proves to be more useful.
To apply the same system to programming, one is a programmer if they dedicate themselves to the study and mastery over their computer, usually in a particular discipline. The disciplines of programming may be defined around the abstraction level. While everyone specializes, programmers also have general skills that the average person lacks. I would argue that the most important of those general skills is understanding the relationship between instructions, execution time, and memory usage as well using that knowledge to weigh different approaches. How do we separate a hobby programmer from someone who regurgitates AI responses with no understanding? I don't know. Maybe their ability to derive new answers if the AI didn't give them a correct answer.
Words do have meaning and we should be careful not to degrade the meaning down to anyone who is capable of asking an AI questions but I doubt we'll ever have a non-fuzzy definition of programmer
Is someone a plumber if they followed step-by-step directions to replace the flush valve in their toilet, without understanding how any of it works, or what the parts are for?
Where is the boundary? To me, it boils down to two things - do you spend the majority of your work time on it, and do you understand how your tools work? The former is necessary because even though I was an electrician’s apprentice as a teenager, and can explain how pretty much anything electrical works, it’s not my primary job, so it would be weird to claim that. The latter is necessary because otherwise, you’re diluting the title for those that have it. I can explain how max() works (or at least, an implementation of it). I can give pros/cons for functions.
I'd say the label programmer has far more in common with guitarist than with electrician and I think calling it a title is muddying the waters, even though it can also be a title. (I also think because we use the term that way, some people prefer other titles that make it clear they are professionals.)
However, the point I was making wasn't that people who have used ChatGPT but otherwise haven't programmed necessarily are programmers, but that: (1) Code isn't fundamental to programming. We can imagine programming interfaces other than code that people--even people who spend most of their work time doing it and understand their tools--can use to create programs. (2) A ChatGPT-derived copy-and-paste language is not fundamentally different than other higher-level languages in that it is simply an abstraction.
<programmer friend> == human => ?
<programmer friend> == ChatGPT => ?
But I havent seen a fully blown app running a business written by chatgpt.
To me, chatgpt is still a next generation wizard, like using a wizard from Lotus Approach.
In your example the human and ChatGPT are interchangeable. In my example, they are also interchangeable. Your situation yields a "probably not" answer. My situation yields a "probably" answer. These answers contradict each other, despite their identical basis and despite both being correct answers. Therefore, it must be that this human/ChatGPT comparison must not be the locus of the difference between the answers.
I think people ought to take a breath and think about what is actually fundamental about programming. It might be "code"; but then we've sort of just kicked the can down the road, because now we've got to figure out what's fundamental about code and how that means something is or isn't programming. And without this sort of definition, it really isn't meaningful to ask whether this or that thing is programming.
As they say, there are two kinds of people: those who think they can program and those who think they cannot, and they are both right.
I'm not on the LLM hype train either, but if they can get more people involved with programming that's genuinely awesome! Everyone has to start somewhere, is typing random stuff into Turbo C or whatever else was the "first contact" point of your generation really any better?
If, for this next generation, it's an LLM on Replit, that's genuinely awesome.
But to do that, I'd have to make sure there are no duplicates and frame the question with every appropriate detail.
Or, I could just have a quick conv with the AI. Sure, it'll get some things wrong, but so will SO answers. :) And it is amazing at how clarifying it can be. Even the wrong answers are sometimes a clue that the questions themselves are a little off.
I'd like numbers on what % of questions are scolded for having been asked
Just think of a genuinely good question and show you've done a modicum of research and people will happily reply to it
stackoverflow.com/users/8610114/sensanaty
Seriously just check out questions I've asked on SO. They're nothing groundbreaking, a lot of them are pretty beginner/basic questions, yet I've never really had adverse reactions to any one of my questions. Some go unanswered sure, and I might have one or two marked as dupes (they are more or less) but if you've ever browser the "new" portion of the site it's inundated with hudreds of shitty, low effort questions, so it's understandable.
SO is also an excellent jumping off point for figuring it out yourself. I've had dozens of times where I figured out a solution midway through typing a question, since you have to make good quality questions there in the first place.
You're being whined at for not knowing the very specific incantation which will summon the results. Which, if you knew, you likely wouldn't need to ask anyway.
"You're stupid and your question is stupid. I forbid answers. I will keep it up and nofollow all of the scalped resources it links to in the hopes others can come here and benefit from this lack of answer"
Which is my point. ChatGPT is the most basic modicum of research and it is excellent for that. But it also can do a lot more.
Collaboration on writing a better question is the only way its answers could get to the next level and customized for your specific use case. I'm imagining it spinning up a generated SO clone for you to browse and scolding you just the same (but at least giving you a decent link), or at least asking why an answer you found isn't good enough.
The way collaborating with AI works now is too wordy and error prone. You don't know what you don't know. Chat bots still don't talk back much and that's a problem.
When we get to this level of AI, maybe some people will finally understand that getting your expectations broken is not a form of hostile communication.
technology moves on
in 2030, when stackoverflow have folded due to lack of visitors, and all new data on new libraries/APIs are locked up beyond OpenAI's reach
how useful is the AI going to be?
the whole thing sows the seeds of its own destruction
It is, as before: if the service is free, you are the product.
That being said, I think that to the extent AI is an actually helpful product, as opposed to social media, public forums, or free video hosting, the tradeoff is way more worthwhile. In my most humble opinion. I'm sure your calculus will lead to different outcomes.
yes, it's asked to produce something, but it won't see the result after substantial effort required to actually make it work
the interaction is not going to be nearly enough to produce useful training data to replace e.g. stackoverflow
and if GPTBot can reach your site, you are the product, they would make you their product even if you don't use their free service
but now they are not allowed to complain when others train models on GPT-4 data, they can become someone else's product too - see Orca, TinyStories and Phi-1.5
Then I download the docs and feed it into the LLM I have running locally.
if the fair use lawsuit succeeds and copyright protection over open source is essentially terminated: what companies are going to open source anything?
> how useful is the AI going to be?
In 2030 the AI can go and and search for the answer itself, by installing the environment in a container and trying to find a solution. It's something that is in some way possible even now, but probably not practical yet.
>> parasitise
What else is data for?
Both copilot and GPT4 have been wonderful 80/20 tools in different ways, and give a remarkable new way to learn.
I rather my rubber duck didn't tell me lies though. I really hate it when I'm given incorrect information - a waste of my time.
Bad information is worse than no information.
I know mileage may vary, but I just haven't had this often quoted (but I suspect actually less first hand experienced) situation when it comes to development.
I see "no code" tools the same way: It _is_ code, visual programming is programming too. If that works for you, that's cool.
One of the main things I do in my CTO/consulting work is ironically to reduce the fear "non-programmers" often have of software. If they can program to some degree, my experience is that they'll respect the "real" programmers more - and collaborate better.
ianbutler: Congratulations! You're a car mechanic! And to be blunt, fuck anyone who disagrees with me!
Nobody is a programmer, really. We live in particular moment of the world where this new idea of professionalization tricks you into thinking sometimes what you are is first and foremost defined by what you trade on the labor market. And this is an especially potent spell for those, like us, who for right now particularly well compensated in this market. But either way you must try not to forget that this is just a kind of illusion. That we are more united by shared capacity than discriminated by "skill".
Why not take joy in the idea that what you have devoted yourself to, presumably, can be a more shared and understood thing for the world at large than that of a doctor or college professor?
Also anecdotally, I know several people who majored in philosophy (one with a CS minor) and they all do quite well. I'm in my mid 30s and the people I'm talking about are between 28ish and 45.
citation please!
https://cew.georgetown.edu/cew-reports/valueofcollegemajors/
For some reason it groups "philosophy and religious studies" and the latter might not lead to very high paying careers, so it's hard to tell what that means for "just" philosophy.
The report [0] has them below the median of all "humanities and liberal arts" majors.
[0] https://cew.georgetown.edu/wp-content/uploads/The-Economic-V...
Not sure if you'll still find this relevant, but here's a source I had saved where you can see philosophy is in the highest third:
https://www.weforum.org/agenda/2018/07/which-college-degrees...
And a now-somewhat-broken 538 article: https://fivethirtyeight.com/features/philosophers-dont-get-m...
You're standing in the dojo wearing the black belt you bought at Wal-Mart and condescending to the masters for acting as if any of the discipline and hard work they put in meant anything, because look - you have the same belt as everyone else, and didn't have to do shit for it.
This is why people hate AI and the people who use it.
And you all sound like luddites.
Yes. It does make me mad. And I should be mad. Everyone who cares about anything but the bottom line should be mad. The wholesale commoditization and destruction of human intellectual skill and creative talent in service of the relentless pursuit of capitalism through automation is a bad thing and you should feel bad for cheering it on. "Adapt or get left behind" isn't what someone who actually cares about the quality of their craft says, it's what the Borg say before injecting their nanoprobes into your brain. "we only want to improve quality of life." Fuck that.
Maybe the luddites made it clear that destroying capital doesn't make for a winning endgame, the Amish might be a better model - they still participate in the broader economy but they've built their pockets of antiquity where they get by with more elbow grease than they otherwise would have to, and have a spiritual basis for meaning that most of secular society lacks. I probably won't be joining them but could see a new movement that accepts diesel engines, lithium batteries and computers, but draws the line at anything that starts to mention "hidden layers" or "nondeterministic behavoir" (outside that randomness needed for accurate simulations and cryptography)
Haven't come up with a name yet.
>I don't want to simply be forced to adapt to a life where my only option is to blindly consume what the machines feed me like I'm in a tube in the Matrix.
How is that any different from your life now, except it's humans feeding you slop instead of human-guided machines?
>Everyone who cares about anything but the bottom line should be mad. The wholesale commoditization and destruction of human intellectual skill and creative talent in service of the relentless pursuit of capitalism through automation is a bad thing and you should feel bad for cheering it on
Go join an Amish commune then. I love the irony of a programmer (I'm assuming) complaining about automation.
Hardly anyone ever asks where this progression is leading, and if they do, usually the answer is to "more progress." Which, to me, doesn't really sound like progression at all! It's just a way to justify not actually changing anything that matters, and to make sure there is always some faux-horizon of greener pastures to promise your customers.
You should be angry!
what's your plan for when the only humans needed for the world economy to function are Musk and Zuckerberg?
you certainly won't be needed
I don't think so
https://www.vice.com/en/article/ae379k/luddites-definition-w...
https://doctorow.medium.com/brian-merchants-blood-in-the-mac...
https://www.buzzsprout.com/1004689/13638517
For me personally, I just hate that they don't stop talking about it!
I think focusing on the AI-shit is missing my point: why do you even care about this? What is really at stake in this? Is it really just the idea that there is some kind injustice being done? An injustice to whom?
If you spend your life doing all the hard work it takes to excel at something, the rewards of that hard work are intrinsic to your new mastery. What someone calls you or not because of your skill is like the least important thing about the entire pursuit.
I too am quick to point out how annoying the AI stuff is, but I think if we are going to defeat them we need to hold on and affirm shared human capacity more than we need to protect titles.
Fine. Don't say you weren't warned, though.
At least for the first one: I definitely do! "Defeat" is maybe a little clumsy, and its less wanting to squash AI itself (for one thing, because this new stuff isn't really "AI"), but rather what it represents and who is going to use it, or even right now, who is going to use the bare idea of it to hurt workers and demoralize us in general. The whole hype train is a big jumping of the shark of an already fraught and misguided industry. An industry propped up by senseless financial instruments and false ideals of technological determinism. It is no good!
If you really can only see this whole argument as only a pure black and white dilemma, that either this guy is a "programmer" and AI is good || this guy is definitely not a programmer and AI is bad, then I would urge you maybe to invite more nuance into your thinking. But also not a big deal! It's more important we are on the same side about the big stuff, then whether we agree about words. Which was kinda my whole point all along!
Huh. So, being almost 50, having spent 35 of those years writing code and orienting the majority of my life around it - somehow that's separate from my identity?
Do tell.
"No one is an artist. No one is a programmer. No one is a football player."
It doesn't make any sense of course, but it makes them feel like less of a loser.
It's a sad coping mechanism.
Life can be many things to people, friend. I feel like I know the meaning of commitment, and focus, but even if I didn't, that wouldn't make me a loser! You can live a life in ascetic focus toward mastery, or one filled with family and companionship and simple pleasure. Or something else entirely. It's all just people living life!
I just think its more important to focus on what we do, rather than what we call ourselves. I don't think that precludes the existence of talented, amazing people!
You will never reach the peak, and there will almost always be people below looking up at you. Try to find peace in this.
It has led me into this sorry, loser state where I constantly deny myself the humility due to me, of appreciating the single minded devotion and sacrifice of great masters of craft and skill and knowledge! Instead, I reject this beautiful aspect of humanity, plunging everybody into a purgatory of dilettantism!
Perhaps one day, when I am tired keeping this up, when my own existential failures have exhausted even my own bad faith arguments, I will stand back and see life for what it is. I will see the programmers and the doctors. I will notice the calm adeptness and global purview of the grandmaster. The life-or-death meditation on the body and force of the karate master. The almost impossible marriage of precision and emotion of the musician.
I will see this eventually, after my insecurities wither in age and malnourishment. All along I thought it was a source of pain, these great people, a reminder of my own inadequacy. But I'll realize, in the future, that this can actually be the most affirming thing about anyone's life! To even know of these great people! To be given a horizon itself, a set of peaks to aim for, is all that matters. Humility and admiration are blessings of life, and the high bar of human achievment only generates ever greater accomplishments for the world at large. It is important, even necessary, to recognize and attribute mastery and great accomplishment only where its due. Because otherwise nothing is real and everybody is fake.
But I'm not there yet. I am young and I am more a dilletante than most, so it will take some time.
And to describe what we do, we use words. I use the word "programmer" to describe how I spend my work day, mostly programming. I use the word "Londoner" to describe where I live, London.
You can't escape using words to describe yourself!
Lastly, there is no distinction here between ephemeral code like this week's JS, versus domain knowledge and abstraction like an engineer or architect.
personal take - the enthusiastic F-U sounds like stimulants talking...
I'm usually a thorough pessimist, your comment just goes to show can't win either way.
I don't necessarily disagree with this, but if you just regurgitate code that a bot gives you, are you actually solving the problem? Every time I see someone post "I asked ChatGPT and it says x", it seems pretty clear to me that the poster doesn't actually understand the topic and just handed it off to the bot.
> Code is simply an unfortunate vehicle to do so.
It makes me sad that people feel this way. I got into programming because I love writing code. It's exhilarating, there's nothing I would rather do with my life. What you're saying is kind of like if you said "working with the wood is just the unfortunate vehicle for making furniture, so much the better if you can use a CNC machine". You certainly can make furniture more efficiently with tools like that, but it also sucks the joy out of the process.
Right now, I think machine generation of code is not usable because you can't trust it. The current tools are known to confidently give wrong answers, and accordingly I don't trust them (same as I wouldn't trust a human teammate who did that). But I think that's a problem which will be solved, and once that happens it'll be quite simple. Developers who use such tools will outcompete those who don't, so everyone will have to adapt or die.
I'm not worried about not having a job, because I have been in the tech world long enough to know you have to be ready to adapt. I'll adapt, and I'll keep on trucking. But I do think that I will stop enjoying my job, and that makes me sad.
ChatGPT and Copilot definitely increase productivity by a non trivial margin and atleast in my experience, I never once thought "Oh I wish I had written that code by hand." In fact, I feel the opposite: LLMs take out the drudgery of much coding and allow you to focus on writing code for the difficult parts.
Like your position doesn't really make sense to me because you're saying you want to write all the code yourself, but you already don't write all the code yourself. Like what's the difference between using a library someone else wrote vs a LLM implementing that functionality for you?
The difference between what I was able to build before and after chatGPT is miles apart.
I disagree a bit. Code is the precision vehicle. A majority of our job is problem solving; some problems can be solved generally, other problems require precision. Not all programmers will ever encounter a problem that requires precision solutions.
> I also maintain that for a lot of the programming that makes the world go round, it's not that hard. People just convince themselves they won't be able to.
I also disagree on this. I've taught a good number of people to code to different degrees and I can confidently say that not everyone is going to have an appetite for this as a job or hobby. That's to say, hobby coding is different from career coding, the incentives are different, and attract/require different personality characteristics to be successful. I think infantilizing programming does no one any favors.
I like to describe it as a job where you solve many, many tiny problems and put them together. You must like breaking big problems down into small ones, coordinating and communicating asynchronously and clearly, and have a good head on your shoulders to tolerate the literal endless stream of failure that you'll encounter along the way without being too dissuaded. Lastly, you'll constantly be learning something new; sometimes learning about the same old things, other times learning things far outside your domain. The single most important tool in a programmers war chest is not knowing all the things, but where to look and how to discern good information from bad or so-so information.
Coding...is engineering. Put the world behind the wheel of a car and they can make it go places. This...does not make them an automotive mechanic.
What a terrible analogy, just because you know the car's firmware doesn't mean you know how to properly diagnose something not related to the electronics (worn wheel bearings or suspension components) let alone how to diagnose or repair.
While I agree coding serves engineering, it's always funny to me how quick people want to use the term 'engineer' when it suits them, but then developer when things go wrong and accountability is on the table. Furthermore, engineers tend to have licenses in their respective fields, something I don't personally agree with, and to this day I have yet to see the same in IC roles.
Sidenote: As a former tech (mechanic) there were times when you would question not just an engineer's competence, but their entire sanity given how something was deployed, and needed to come up with a work-around for it to function correctly; which is why I think coders (at least the proficient ones) are more like techs.
I'd argue strongly against understanding. Our computers are just sophisticated version of Jacquard Loom and music box.
If a machine can interpret instructions and follow them then that is a sort of understanding. At least it has the same kind of result as handing instructions to a human and having them follow the directions to complete a set of tasks.
Does the human understanding of instructions differ significantly? Yes a human can understand much more ambiguous instructions and perhaps complete a larger set of possible tasks, nonetheless it's a similar process going on at least on the surface.
Well in the case of Python, the interpreter is indeed interpreting.
We could also talk about how the word 'executes' implies some kind of agency which computers lack. It's like saying a rock just executes the laws of physics when it rolls down a hill...
Where is this player piano that creates original works every time, and sounds so good we almost can't tell the difference?
(https://en.m.wikipedia.org/wiki/AI_effect)
"Programming" is not the same as "hacking".
I can hack away in any new language and produce something that works, and I have the benefit of a programming background and decades of experience.
That said, the areas where a hardcore, professional "programmer" is really needed, are quite few and will be even fewer in the future.
Now in the world we have zillions of software engineers doing the same thing redundantly. In a way the software development industry protects itself not creating the tools to reduce the industry itself. This is a typical innovation dilemma for a whole industry. Not saying that this is conscious but there is a big focus on pleasuring ourselves with new things that continue a well known road of fancy programming languages, etc.
I've been laughing to myself a bit, not about your comment, but because predictably there are so many people who chose the most uncharitable way to view, both my original comment and the people using these tools. Copying and pasting, never learning and becoming knowledgeable, as the most probable outcome that will come from this. That's just not how it works.
Excluding the people who will stop anyway of which there will always be, what this will do is break down barriers for a lot of people (not everyone), who thought they wouldn't like it or couldn't be good at it and entice them, hook them, and then build them up. It's just a new way of learning programming. Hacking with LLMs is going to be the entry point for these people, not the final destination.
I agree overall that LLMs will lower friction and barriers to entry for some folks looking to get into hobby hacking, programming, or software engineering as a profession. Anecdotally, I think that's true beyond software. In wood working I find LLMs helpful when youtube leaves me with unanswered questions. More anecdotally, I have some high hopes for when LLMs can use tools, I think paired with the knowledge I've gained over the years that using an LLM that uses tools will be like the force multiplier I gain when using a compiler.
To some degree, like any useful tool (eg: StackOverflow) there will be those who use it recklessly, but I'm less concerned about that because those people will always exist. The "anyone can do it" sentiment is highly inclusive, but also a bit falsey and what I took more disagreement with. I've met a good number of people who got into the industry of software engineering based on sentiments like that, thinking the job would eventually become "easy" and it never does for them. That or they falsely equivocate that sentiment with working at a FAANG, that these are just easy jobs where you get paid beaucoup bucks only to find out that's not so true, or at least not nearly as common as the sentiment invokes. That's worth being a bit cautious in language in my opinion, but I say that out of having experienced how hard it is to navigate this industry at times. To find out the things that you knew to be true that got you into it in the first place were false or falsey would be a big let down.
I think these things are worth talking about and I don't want to make this industry look more gatekept than it is so I don't think I'm 100% right with my opinion, but I also don't want to give people false impressions. I appreciate you being willing to respond and talk about this stuff.
I think ultimately if I had to try and make a more balanced take, it would be that this will help a non trivial amount of people become programmers as it makes programming more approachable where traditionally as a field we struggle with that. It will not magically make you a top programmer or anything like that. I also think it's unavoidable that some people regardless will not be cut out for it.
I really wasn't trying to suggest that this will solve the difficulties of becoming a professional programmer, but I do think it is going to be the entry point into the field for a significant amount of future programmers.
I am glad that for once I'm being cautioned about being overly optimistic though, typically I fall on the other side of that spectrum and it's something I've had multiple people tell me to work on.
If your an Expert and you only care about that one subject it's probably not that useful. or you expect perfection from AI it makes mistakes. but you know what they say. To err is human but you need recursive AI to really fuck thing up.
I guess it depends. I maintain that getting something mostly working is not that hard. But I haven't worked on a webapp that didn't have many obvious (to me) concurrency bugs in them.
So does that make it easy or hard? I dunno. Maybe writing correct webapps is hard, but maybe their correctness doesn't really matter.
The ambiguous human language is a pretty horrible vehicle compared to that and I see english to code in LLMs more like the way people use Excel; just keep messing around until it works (with often with inefficient and completely wrong sub parts because the direct and correct solution was never found) without really caring if the end result is really what you meant, because actually you cannot translate what you meant in anything formal like a precise formula or a piece of elegant code.
I see nothing really wrong with that; actually, I have a perverse interest in it; my company troubleshoots and fixes urgent code and infrastructure issues for companies, no matter how bad/old/messy/broken it is. I see my company grow a lot the coming years because of this new wave of software coming up. Because of course, this will go from
> you won’t intersect with the new wave of programmers
To
Mostly everything now is written by this new wave of programmers
Why? Because it’s cheaper in the short run. Why hire me for 300$/hr to write something when the dropout with 2 months of experience waiting tables at Wendy’s can use $20/mo chatgpt4 do it faster and for far less? And I agree with that from a business standpoint IF the software wouldn’t need to live long.
However, I am older and because of my company activities, I know that a LOT of these short lived departmental or startup software hacks end up as vital parts holding up the company over the decades.
I read somewhere (I think here on HN) of someone saying ‘but no one expects me to statically type out a script that removes dollar signs from a csv’ or something like that. If you would give me a $ for every time I encounter a script like that, that started with that same mindset, but has been integrated over the years into vital processes and breaks things in unexpected ways because it’s not made to be there, I would have a free high spec laptop every year. There are 100s of these in every spaghetti hell of a company I walk into.
LLMs and the tooling around them will get better; there is my hope that, in a few decades, the LLMs will deliver code for programmers and end users alike that is robust and even proven and 100% test coverage mostly without extra effort on the human side. Then I can retire my company. For now, I see a bright future with exciting new and unexpected horrors (although, to be honest, it cannot get worse than what outsourcing sweatshops produce; we are doing a project now which has 1000s of lines (so far, it is early days) of code which are unreadable (hard to explain, but they are logically wrong mixed by human obfuscation to hide the fact they didn’t understand the tasks they ‘completed’); it almost seems a joke to write code like that).
Code is generally more efficient and definitely less ambiguous than natural language. Why is that unfortunate?
Depends on what you mean by "makes the world go". If you mean the shopping cart of a website makes the world go then sure, but if you mean the underlying database engine or OS kernel or deepest part of the stack, then it is definitely not easy.
Ultimately, learning the fundamental concepts of programming is not hard at all and anybody can learn them. Programming is hard or easy solely depends on - what the program is supposed to do.
This is akin to saying "Eating is simply an unfortunate vehicle to get energy"
But maybe please don't fuck them?
I use Chat GPT 4 for one-off scripts, to explore new technologies/frameworks.
Sometimes it's great, but I find it hurts me as much as it helps me in terms of time.
The only big win is it really helps me start doing new things whereas without it I would procastinate more.
I've seen a colleague mention a Chat GPT discussion in a PR in what I thought was a straight-forward issue, where Chat GPT was just wrong. I find that worrying.
> I attempted to learn Python to automate some basic data manipulation and scraping tasks we did.
https://news.ycombinator.com/item?id=27424195
Whether someone wants to let the behaviour of a company's founder color their judgement of the company is upto them. But painting the whole thing as "one badly handled issue" undermines is.
Those 20 million, what are they? Created user accounts? Active user accounts? User accounts that created at least one Repl?
I have at least three Replit accounts - one on my uni email (which I no longer have access too), a previous work account (experimenting for doing interviews with it), and my personal account. Am I three developers? None of those accounts are active, do they count or not?
If that 20 million figure is taken from anything less than active users I'd consider it deceptive. Which doesn't mean Replit the app is bad! But it does make the company a bit suspicious.
https://github.com/paul-gauthier/aider
This form of argument appears in every thread about LLMs: They are fallible, what will we ever do?!
As if people haven't been fallible in both the same and different ways all along. How have we ever managed...
Others will come to do the same. Some others will not.
Not sure that your generalization is true here.
Are you seriously perpetuating stereotypes against a set of people based on their immigration status?
> We’ve found the code quality coming out of our AI is a lot better than the H1b’s could produce.
That sounds weird. In my testing GPT4 falls apart for medium/large codebases. It's good for small microservices though.
The "what" is always the hardest part, both to acknowledge as being necessary and to get right.
That being said, using AI to code can just screw you over by presenting bad code, faulty code or the LLM simply not understanding the demands. It's not a tool to use in lieu of actually knowing/learning how to code and understanding the programming language in question.
How... how, I ask, does not asking a question for fear of being judged get you anywhere? I hold that overcoming that shortcoming is a critical part of becoming a builder of systems. Using an AI to try to spackle over that interaction rather defeats the point.
2023: Hey dude can you fix my program?
I predict this is all LLMs are going to result in.
Yes, it absolutely will spit out the answer to something as complicated as your take home interview problem from description alone, but you wont know how to fix it for a presentable touch up, or adding more to it
Instead break it out into smaller problems and do many of those
On the other hand, good job and welcome to the club. I think this shows what many have said in the past months, that one major success of LLMs is to make consultants, business people, etc. more proficient by LLM aid.
I regularly use AI to help me write multiple microapps for personal and work use.
Programming is to software engineering what knowing music theory is to be a composer. LLMs might replace the mechanical aspect of our job, but that was the easy part all along.
Or maybe they can ask a friend.
Or maybe they can learn a bit when it becomes necessary.
Does a chess computer need to understand chess in order to win?
Good tools to learn and take over mundane tasks but in the end you're the one owning and maintaining this code (no matter if a contractor wrote it for you, copied it online or used AI)
> I [had] tried to learn to code to earn some money to support my training. At Boston Consulting Group, I attempted to learn Python to automate some basic data manipulation and scraping tasks we did.
Seems contradictory.
/s