News for hackers. Stuff that matters.
Re:Teaching Programming in the Age of ChatGPT by gnicholas on Thursday July 20, 2023 @01:45AM (#36797236)
> ChatGPT doesn't do much for experienced SWEs, but it demolishes the difficulty curve for newbies.

Interesting, my impression was that ChatGPT helps experienced SWEs by filling out large amounts of boilerplate-ish code. It sounds like that's not your experience, though?

Re:Teaching Programming in the Age of ChatGPT by hickelpickle on Thursday July 20, 2023 @02:17AM (#36797399)
While I am not the most experienced, I did recently finish a CS a degree and find chatgpt a great resource for getting a general understanding to go off of when approaching something outside my domain of experience. Having a core understanding of things in general makes it easier to identify when it's wrong about things, and the majority of time I am not using it to generate code, outside of asking for an example. Being able to ask a few direct question on a topic "demolishes" the time spent to become familiar with something, as most of the time I am just looking for answer about some specifics or to clear up some ambiguity in my understanding of a new concept.

I would say with someone new to coding it can be bad and good, as a lot of times it glosses over things, or can be slightly incorrect as it makes assumptions (or more so just answers in a more general context, and when asked to elaborate, or challenged on specifics it will reformat/improve it's answer, but without knowing you need to do so, I could see it easily see it providing half-baked foundational knowledge. You can ask it "x" and it will give a answer, but then if you ask it I am trying to do "y" with "x" and isn't "z" an issue or area of concern with its answer it will reformulate the information provided as its original response was flawed, but if you don't know exactly what the "y" you want to do is, or the "z" being foundational knowledge to challenge it on, you can easily get a whole wall of text that is out of context with what you are actually trying to learn.

Re:Teaching Programming in the Age of ChatGPT by worrycue on Thursday July 20, 2023 @03:19AM (#36797717)
> find chatgpt a great resource for getting a general understanding to go off of when approaching something outside my domain of experience.

This is my hang up with LLMs … I don’t trust them.

Frankly it seems just as easy if not easier to just google keywords and read sites.

Google vs LLM is like asking random people on the internet (some are brilliant, some don’t know anything, some are nuts, … etc.) vs asking random people on the internet but all of them have a history of suffering from hallucinations and are routine liars with a compulsive need to sound confident in what they are saying even when they know nothing.

Re:Teaching Programming in the Age of ChatGPT by abenga on Thursday July 20, 2023 @05:21AM (#36798376)
Especially with an Idea of how they work, I find it very hard to trust them too. Doesn't help that the couple of times I asked them about something subtle, GPT gave me code with the same bugs I was trying to fix. I can see how a beginner would find it useful though.
Re:Teaching Programming in the Age of ChatGPT by bregma on Thursday July 20, 2023 @06:27AM (#36798722)
So it's really just a refinement of Wikipedia, but with custom answers to more explicit questions.
Re:Teaching Programming in the Age of ChatGPT by doctormanhatten on Thursday July 20, 2023 @07:01AM (#36798900)
I don't know about you but I trust Wikipedia a lot more than I trust ChatGPT.
Re:Teaching Programming in the Age of ChatGPT by n6h6 on Thursday July 20, 2023 @09:52AM (#36800431)
Plus, with Wikipedia, you can clearly see the sources or the lack of them. I tried asking ChatGPT for a source twice. One time, it gave a source. Another time, it gave the "as a language model I can't" spiel.
Re:Teaching Programming in the Age of ChatGPT by __loam on Thursday July 20, 2023 @01:33PM (#36803851)
Wikipedia actually has a system for creating knowledge and verifying it, while ChatGPT was trained to convince humans.
Re:Teaching Programming in the Age of ChatGPT by ModernMech on Thursday July 20, 2023 @08:15AM (#36799399)
> suffering from hallucinations and are routine liars with a compulsive need to answer confidently even when they know nothing.

Sounds like a description of narcissistic personality disorder or schizoaffective. Of course proto ai would have a personality disorder, go figure.

In the future, the job of an ai psychologist will be to certify the personality of ai products. Gotta make sure you’re not shipping a shrink wrapped psychopath.

Re:Teaching Programming in the Age of ChatGPT by __loam on Thursday July 20, 2023 @01:35PM (#36803878)
They're already doing this. That's why Chatgpt is so successful. They sanded off the offensive edges by showing some Nigerians CSAM.
Re:Teaching Programming in the Age of ChatGPT by repox on Thursday July 20, 2023 @02:01AM (#36797319)
I think it works well in both ways. I've been developing software professionally for the past ~20 years and there's no doubt that the combination of ChatGPT and CoPilot greatly reduces the amount of time I would usually spend on boilerplate code. Now I can more or less just review the suggestions, review tests and progress with my solutions a lot faster.

At the same time, I see my 9 year old girl using ChatGPT to create Minecraft extensions; she has no prerequisites for actually developing software, but she manages to make some small extensions and have them work either way.

Acknowledging that she doesn't actually learn much from this, I think one can assume that everything in between (e.g. using ChatGPT for pair learning) is definitely also possible.

But whatever AI is outputting, there's no way these qualified guesses can beat experience from a professional developer. I know that the output will never be better than the prompt, but sometimes the output - no matter how much effort you put into the prompt - is visibly just a qualified guess.

Re:Teaching Programming in the Age of ChatGPT by RussianCow on Thursday July 20, 2023 @01:51AM (#36797261)
Which might make you, what, maybe 10% more productive overall? The more experienced you are, the less time you spend writing boilerplate code, so it's not that huge of a win in the grand scheme of things compared to what it provides when you're learning something new.
Re:Teaching Programming in the Age of ChatGPT by anonzzzies on Thursday July 20, 2023 @02:01AM (#36797320)
It makes us far more productive; all of us, so we just do more as a team rather than fire someone. For me, copilot writing out if / then / else stuff like it's reading my mind, so tab -> 15 lines, all correct. Or mappings (.map .filter etc) which it completely does within milliseconds. As an experienced programmer, I cannot avoid these things and they do save me a lot of time and debugging. Oh yes, and tests. Going from a jira task to a bunch of jest tests for code that doesn't exist yet is a pretty big win. Very much more than 10% of the average day. You have to be sharp, be a good code reader and writer and it cannot do anything 'alone', but it makes us vastly more efficient.
Re:Teaching Programming in the Age of ChatGPT by koonsolo on Thursday July 20, 2023 @01:57AM (#36797299)
Not writing any unit tests are you?!?!? ;)
Re:Teaching Programming in the Age of ChatGPT by raincole on Thursday July 20, 2023 @04:19AM (#36798043)
> Which might make you, what, maybe 10% more productive overall? The more experienced you are...

But the more exeperienced you are, more valuable your output is (in most cases). So the 10% of your productivity could be more valuable than a novice's 50%.

Re:Teaching Programming in the Age of ChatGPT by tuyiown on Thursday July 20, 2023 @04:40AM (#36798163)
The more experience you are, the less the value is in the output objective productivity. The ability to write self descriptive, maintainable and bitrot resistant code in one pass goes way above feature delivery.
Re:Teaching Programming in the Age of ChatGPT by pinkcan on Thursday July 20, 2023 @01:55AM (#36797283)
that would be copilot not chatgpt
Re:Teaching Programming in the Age of ChatGPT by 411111111111111 on Thursday July 20, 2023 @03:27AM (#36797764)
I tried that a few times, but by the time I've explained enough for the code to be close to what I want i could've just implemented it myself twice over... And that's ignoring the fact that it's always generating subtly wrong or just poorly performing code.

It might change eventually as ide integrations improve, but for now it's a novelty for me.

Re:Teaching Programming in the Age of ChatGPT by mgaunard on Thursday July 20, 2023 @03:40AM (#36797836)
If you have boilerplate anywhere in your code, then you have a design problem.
Re:Teaching Programming in the Age of ChatGPT by tangjurine on Thursday July 20, 2023 @03:52AM (#36797902)
Yeah, my design problem is the language I'm using, the language version I'm using, the outdated framework I'm using, and the 3! frontend frameworks I'm using on my job.
Re:Teaching Programming in the Age of ChatGPT by tuyiown on Thursday July 20, 2023 @04:30AM (#36798104)
Don’t hesitate to be more specific on your boiler plate problem, because after 19 years career I’m yet to have or see, or even being counted a case where it has any significance on productivity loss. It is at worse questionable yet somewhat healthy warm up.
Re:Teaching Programming in the Age of ChatGPT by mgaunard on Thursday July 20, 2023 @03:59AM (#36797939)
Stop using them?

A good craftsman crafts his own tools.

Re:Teaching Programming in the Age of ChatGPT by Toutouxc on Thursday July 20, 2023 @04:27AM (#36798078)
Both this post and the one two levels back honestly sound like someone who's never worked in a SW company. Craft my own tools? When? Who's paying for that? Too much boilerplate? Tell that to the 20+ people who built this thing and are long gone. You really have to work for a specific kind of company to be able to change any of that.
Re:Teaching Programming in the Age of ChatGPT by mgaunard on Thursday July 20, 2023 @09:09AM (#36799918)
I have about 15 years experience professionally as a software engineer, in all kinds of companies, at all kinds of different seniority levels.

I call bullshit. Your task is to deliver a project that does what it's supposed to, all in a timely fashion. You do whatever it takes, including getting rid of old code and rewriting stuff if it makes you more productive overall.

Writing code that does what you want is much faster than taking someone else's code and twist it to do something it was not written to do. You should always be very careful about what dependencies you use, as most often you will have to deal with their limitations and bugs, and they could kill your project.

If you had 20 separate people who contributed to the same thing and left then you most likely have huge code debt. Managing that sort of thing is a daily task for any software engineer. Apparently your strategy is to just add debt onto the pile and put your head in the sand pretending it's not your problem. Instead you should plan tactical refactoring moves to make the codebase leaner and better able to adapt to the business needs, all without breaking any existing functionality and workflows.

You're asking "when". That's the wrong question. It's up to you to manage your time and invest it into tasks that help you save time later on. A software engineer is usually not paid by the hour either, so you just do the work until you're satisfied with the effort you've put in.

Re:Teaching Programming in the Age of ChatGPT by sgarland on Thursday July 20, 2023 @08:05AM (#36799317)
My father-in-law is a woodworker who makes chairs that cost five digits, and canoes that run into six digits. He is the epitome of a good craftsman.

He does not make his own tools. He buys them, because there are already extremely talented tool-makers who are very good at their craft.

Re:Teaching Programming in the Age of ChatGPT by qzw on Thursday July 20, 2023 @09:40AM (#36800279)
How many hours does it take him to make a canoe? I imagine it must run into the high hundreds, if not more.
Re:Teaching Programming in the Age of ChatGPT by sgarland on Thursday July 20, 2023 @01:15PM (#36803597)
A full canoe can take him up to a year, depending on the wood species. He made one once from ebony, which is extremely difficult to work. Also if it wasn’t clear, these aren’t intended for use. They all do (except for the ebony - he said the heat absorption from the dark color would delaminate the fiberglass coat within hours) float and work extremely well if you want, but given the cost, most people use them as art.

He also makes paddles, which are still expensive (I think the cheapest starts at about $1000), but some people actually use those.

Re:Teaching Programming in the Age of ChatGPT by mgaunard on Thursday July 20, 2023 @11:43AM (#36802183)
But I'm sure he carefully reviews what tools are available and most likely still modifies them to fit his workflow.

Certainly a lot of youtube woodworkers do that, can't say I work wood myself.

Re:Teaching Programming in the Age of ChatGPT by sgarland on Thursday July 20, 2023 @01:18PM (#36803639)
That depends what your definition of tool is. He custom-makes jigs all the time, as those are bespoke for whatever particular shape of thing he’s making.

But saws, blades, chisels… maybe he could make them, but why? Metalworking is its own subject of mastery.

AFAIK, he doesn’t often modify any tools of that sort. He spends time selecting the one he wants, yes.

Re:Teaching Programming in the Age of ChatGPT by mgaunard on Thursday July 20, 2023 @04:57PM (#36806651)
Making a tool doesn't mean making every component of the tool.
Re:Teaching Programming in the Age of ChatGPT by jbreckmckye on Thursday July 20, 2023 @06:39AM (#36798787)
I worry that our reliance on LLMs (or rather, their reliance on these languages) will make it harder to adopt new technology

Imagine, a vision of the future... A thousand million chatbots, all outputting 2018 JavaScript

Re:Teaching Programming in the Age of ChatGPT by mensetmanusman on Thursday July 20, 2023 @08:59AM (#36799803)
It’s boilerplate all the way down.
Re:Teaching Programming in the Age of ChatGPT by droidist2 on Thursday July 20, 2023 @11:30AM (#36801990)
Not necessarily. Trying to make code over-DRY is also an anti-pattern.
Re:Teaching Programming in the Age of ChatGPT by layoric on Thursday July 20, 2023 @03:48AM (#36797884)
In my experience, the key is that it can also provide good explanations for the basics as well. You can fairly easily overwhelm it, but with some practise of prompting, learning new language/domain basics it is pretty good, and much better than googling to learn the same. The best of all is that you can query your understanding and get decent feedback.
Re:Teaching Programming in the Age of ChatGPT by shortcake27 on Thursday July 20, 2023 @04:26AM (#36798072)
As an SWE, my problem isn’t boilerplate. It’s architecture and orchestration. I cancelled my Copilot subscription because it just doesn’t help with this. Let alone ChatGPT which has zero context about the application.

I would like an AI to tell me if I’m reinventing the wheel or if something similar can be abstracted. Whether what I’m doing aligns with existing patterns in the codebase. How the application as a whole could be refactored to improve maintainability, performance, or both.

This can all already be done by a human with experience and context, so it must be possible with AI. This will be the biggest game changer for me.

Re:Teaching Programming in the Age of ChatGPT by slashdev on Thursday July 20, 2023 @08:13AM (#36799382)
I can’t believe you canceled copilot, at $10 a month it pays for itself every single day for me. I’m just baffled how it can be so useful for me and not useful for you.
Re:Teaching Programming in the Age of ChatGPT by __loam on Thursday July 20, 2023 @01:36PM (#36803897)
Once you get over the novelty it gets pretty annoying.
Re:Teaching Programming in the Age of ChatGPT by slashdev on Friday July 21, 2023 @08:24AM (#36812992)
I’ve been using it for a full year now, that’s just not been my experience.
Re:Teaching Programming in the Age of ChatGPT by TillE on Thursday July 20, 2023 @06:36PM (#36807700)
I've found it extremely similar to IntelliCode for C#, which is not very impressive. Surprisingly I've found it does a better job of writing accurate comments than generating useful code.

Maybe it's good for some languages, or for code that's doing the exact stuff a hundred people have already written. Copilot X certainly looks cool, but who knows when that'll be ready.

Re:Teaching Programming in the Age of ChatGPT by slashdev on Friday July 21, 2023 @08:19AM (#36812951)
I use it the other way around. I write the comments first and then I find it can often fill in the code.

I find it especially helpful with SQL queries, and with boilerplate type code. It’s also very helpful when I’d need to lookup the usage of various methods. I just start with the comments and most of the time it saves me the context switch to the browser to lookup the usage.