It is simply far, far easier for a newbie to see a computer generate 1 / 3 / 5 slightly-different attempts to solve a specific problem they have, and then to pattern match sufficiently to be able to solve the problem themselves, than it is to muddle around by yourself with it for hours and hours with no end in sight.
I thought she would have to ask me, someone who has been slinging Python in some form since 2008, a question at least once a week. In reality it's been about 3 times over the last 9 months.
ChatGPT doesn't do much for experienced SWEs, but it demolishes the difficulty curve for newbies. I wish I had this when I was learning.
That's because it is easier. Multiple choice is easier than open questions.
It's also a good way to not really grasp anything deeply.
Of course you then have to compare this explanation against all others and see if it fits or if it’s not a valid explanation.
It’s also great for exploring topics which have polluted namespaces on search engines.
Overall though I think the majour benefit of ChatGPT is it just teaches people to clearly define problems as natural language questions. Developing this ability helps the subconscious mind solve problems when the user is away from screens.
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?
Not to mention...things like "cool want to learn python"..."wait - wtf..how do i setup a venv in python!!"
Yes and no. It doesn't help me that much with technologies that I'm senior within, but it has allowed me to work with a wider tech-stack. For example, I can now confidently write any SQL querys I want (so far anyway) although my prior knowledge in SQL isn't that deep.
For my own course, I think several factors contributed to students not utilizing ChatGPT as much:
- The assignments are not in English, and performance of ChatGPT in languages other than English is subpar.
- The programming language that I'm teaching is C, I'd imagine Python/Javascript and other more popular languages might lead to different outcomes
- I did specifically design the assignments so that copy/pasting the assignment to ChatGPT does not lead to a usable answer (by restricting use of certain standard library functions, making the assignment more complicated)
- The course is not introductory, i.e. a previous course already taught the basic syntax of C and basics of programming, so I can make my assignments much more advanced
It's difficult to say if advancements in LLMs will make my job harder, where say copy/pasting my more complicated assignments can lead to correct results. But from what I can see right now, LLMs still have trouble solving novel problems, so it's probably always possible to come up with assignments that's difficult for them to solve.I fed the problem into ChatGPT later and it was utterly unable to comprehend it, but confidently gave wrong answer after wrong answer.
Just for fun I asked ChatGPT 4 to calculate the RMSE between two vectors both in English and Portuguese (also translating RMSE to Portuguese) and it gave me the same code for both questions (asked in separate instances). It would be interesting to know what restrictions you applied.
Have you been using 3.5 or 4?
It’s generally a problem that solves itself, in my experience. Perhaps a benefit of these tools is that we stop the obsession over cheating, which inconveniences honest students in many ways. Cheating has always occurred, but now we can’t even pretend that it’s preventable.
Doesn't matter if people Google, Stackoverflow, use ChatGpt, ask their wizkid neighbor or what have you. You don't need to resist cheaters, especially not when we're talking about adults, it's their responsibility. Cheaters don't learn so when they're tested they sooner or later flunk out.
Disappointing. I cannot evaluate claims about GPT when people say ChatGPT instead of GPT4, if they actually mean the latter.
And if someone really is discussing the usefulness of AI while only having used ChatGPT (GPT3.5), then they’re missing out on a major improvement and their input is less valuable than those discussing GPT 4.
Of course GPT-4 has plenty of limitations but people just need to be clear that they’re familiar with the state of the art.
Also, statements to the effect of “it just predicts the next word” do not appreciate the major difference in capacity for learned abstractions between GPT 3.5 vs GPT 4. So to me it’s just not a useful way of thinking about LLMs. It may technically be true, but at some level that can also be said of human beings. In other news, an airplane “just” flies.
If I were 18 again, I am not sure what the answer is - would it even be a good idea to pursue this field of study if there aren't going to be many jobs post graduation...
I hope I am wrong...
I've always said that if AI had to deal with some of the executives and product teams I have, with constant insane changes and shipping demands, the AI will more likely figure out how to eliminate people than deal with them.
Future LFMs (Large Foundation Models, since they will be multimodal) can help automate some or much work from specifications onward. Humans will need to validate and revise the results by working with an LFM-powered system (Ref: the spiral model in software engineering).
No, because that's not an expectation based in reality.
ChatGPT is a game changer for this same process. It speeds up the googling that would normally take a few hours and gives me my information in a few queries.
There have been so many times where I’m reading a book and need to research a bunch of technical terms it throws at me; which then consists of wading through blog posts or documentation, with varying levels of difficulty and quality.
This process is sped up 100x because of chat GPT, because I can followup with questions and customize them to my specific application. Sometimes I need things explained like I’m five; others, a deep technical deep dive.
Point is, it allows for dynamic interaction with content; it helps when I’m struggling with a bug, documentation, a book I’m reading, or pieces of code myself or someone else has written. It’s been an absolute game changer.
Just as an example, try using ChatGPT to explain an article in a foreign language. Can even go as low as a letter-by-letter break down of each word. No private tutor will ever have the patience to teach people at this level.
Coding will become like the liturgical exercises of monks toiling in isolated monasteries while the rest of the world will move on.
I cant wait for a chatGPT decompiler. IDA, watch out!
Hopefully our bugs aren't evolving though.
A much more interesting consideration would be "Teaching Programming in the Age of Stack Overflow", which involves a well-established, gigantic resource for in-the-trenches programmers that generally provides functional, peer-reviewed and expansively commented solutions to the most common and sometimes most interesting problems.
What programming will be like in an age where LLM's can correctly code is something we won't have any idea about for some time yet (if ever).
Even if LLMs or some successor technology never ends up supplanting programmers entirely, it is guaranteed we will see a mixture of deskilling (certain skills no longer being required, like spelling in the age of autocorrect) and massive productivity gains (meaning n-m workers can now do the job of n). These tools aren't going away, and they're only going to improve.
Thus the market for programmers will shrink henceforth. There are no doubts about it. Maybe slowly, maybe quickly, but shrink it will, for the same reason that the market for radiologists is shrinking, or the reason that engineering firms no longer employ whole floors of draftsmen.
On the contrary, it's expanding and there's a global shortage of them [1].
AI has been changing the role of radiologists but not replacing it [2] and radiologists are needed more than ever, but the industry has been struggling to communicate this to students worried by ill-informed claims the profession is under threat from AI [3].
[1] https://www.rsna.org/news/2022/may/global-radiologist-shorta...
[2] https://www.hcinnovationgroup.com/imaging/radiology/article/...
1 we could fire a person
2 we could handle 25% more tasks, features and bugs
So I think 2 will happen.
My latest example of LLM issues,| I asked ChatGPT and competition to convert a line of jQuery into native JS, they all got it wrong because jQuery has some selectors like ":header" that is native to JS but the LLM used it anyway though somewhere in it's big memory it has the information that his is not native and if you prompt it right it will fix the issue. So seems to me the LLM are focusing too much on the prompt and failing to use it's full memory on the problem, so it can fix small individual micro tasks but is a complete waste of time for something a bit more advanced , my conclusion you can't have a manager or an artist armed with ChatGPT and create a full project without actually learning to code, at best they will learn to code from the LLM but the hard way and probably using outdated code and inefficient ways.
To think some new 'programming' tool will make it shrink is not at all warranted. Tools that make computer programming more accessible, more flexible and more powerful will increase demand for people who can reason about it, work on it, teach it, evaluate it etc etc.
I'm not even slightly worried about my job security. I tried Copilot and it sucked.
At the end of the day, LLMs are fakers. They do not possess real intelligence, they merely fake intelligence using statistics and training data. There comes a point where you can't fake it any more.
Maybe in the far future when we have programmed nearly everything there is to program... Until then companies will just produce n*(n/(n-m)) more output.
Actually, the reduction of the cost of programming output will logically lead to more demand as solutions that were previously deemed too expensive to produce will become viable.
I have seen no evidence of "most code [being] written by AI" and believe this to be completely false.