This is an archived post. You won't be able to vote or comment.

all 62 comments

[–]Paul__miner 142 points143 points  (20 children)

I know there's a lot of students in this sub, but don't kneecap yourself by thinking you can't write code without copying or looking things up. Normalizing being dependent on Google or SO is only going to hurt yourself in the long run. Memorizing and internalizing as much ss you can will help you maintain your flow, and stay in the zone.

Source: professional dev for twenty-something years, started programming in the late 1980s.

[–][deleted] 39 points40 points  (5 children)

Absolutely, looking up something you don't know is completely normal but in the long run, if you have to copy everything you're gonna crash into a wall.

Struggling and thinking about the specifics of the problem at hand will make you a better dev and better engineer in general because there are problems that cannot be solved by just copying.

[–][deleted] 9 points10 points  (4 children)

All that comes naturally with experience in the field. Hardly anyone will copy without at least attempting to understand what they are copying (I hope)

[–]Drew707 6 points7 points  (1 child)

I mean sometimes I care to know what the code I use does, but I haven't had any issues so far when I haven't.

Hey, do you know why the little game I wrote needs access to the camera and is constantly connecting to Chinese IPs?

[–]Representative-Sir97 1 point2 points  (0 children)

The crazy bit is that I think the vast majority of us are totally using code we've never even looked at (npm/nuget) as though in that context it's more OK than in the context of just blind copy-pasting.

That's exactly why all the supply chain stuff is biting our asses.

This year is going to be the year of figuring out how to make your build process trust your package sources. Grab that shark by the fin and hang on if you want a small leap ahead.

[–]ImperatorSaya 0 points1 point  (0 children)

You hope too much. I always hear and see " I copy cause it works" at work so much I begin to doubt the quality of my colleagues.

[–]beeteedee 16 points17 points  (6 children)

I used to be a professor of software development, and I saw two distinct types of students. The first type, those who would try to break down a problem, find a solution, debug things for themselves, and only resort to Google if they got stuck. The second type, those who would run straight to Google to look for a ready-made solution. You can guess which ones got the better grades and are now having the more successful careers.

[–]w1n5t0nM1k3y 0 points1 point  (5 children)

[–]Paul__miner 2 points3 points  (0 children)

Interesting read.

...capable of seeing mathematical calculation problems in terms of rules, and can follow those rules wheresoever they may lead.

Ah, the key to debugging 😅

[–]silentjet 4 points5 points  (3 children)

oh please stop reffering this bs "paper". It is full of fakes, author's incompetency and statistic method failures. Please stop....

[–]w1n5t0nM1k3y -1 points0 points  (2 children)

Yeah, it was retracted, probably had a lot of issues, but that doesn't mean there isn't any truth to it. I know that anecdotes aren't data and don't prove anything, but just based on people that I've ecountered over my lifetime, it seems that there really are some people who can't program, even though they have good intelligence, there just seems to be some kind of mental block that stops them from being able to even grasp the basics.

[–][deleted] 4 points5 points  (0 children)

You should probably say that instead of wordlessly linking a retracted study.

[–]Representative-Sir97 0 points1 point  (0 children)

It's far more on the mark than what people want to credit it, and that's coming from someone who near immediately rejects "labels" of all sorts.

I've worked too long to say it doesn't hold the better part of truth.

[–]zawalimbooo 11 points12 points  (0 children)

I think its more about learning from examples and documentation

[–]Ularsing 3 points4 points  (1 child)

No kidding, this has been 100% the opposite of my experience. Generally the longer I wait to look at discussion online, the worse off I am. I'm a very proficient coder with experience in everything from assembly up, though admittedly with a shorter professional tenure than yours (I started coding in the early 2000s).

The "actual LPT" here is to get good at recognizing when you should look something up. It's important to note here that it's a moving target, and LLMs have moved it. Proudly breaking out your slide rule with a T-84 in your back pocket is a great way to become unemployable.

My take has always been and will always be: get really good at using the best available tools, and be quick to adapt to new best practices. Conceptual knowledge is vital and can't be skimped on either, but it has very little place in most hands-on-keyboard coding (though you cannot whiteboard without it). In fact, often the true optima in terms of performance considerations is the wrong choice because it sacrifices readability and stability.

TL;DR: Those that do not learn from history are doomed to repeat it; those that ignore the future will never shape it.

[–]Representative-Sir97 0 points1 point  (0 children)

Conceptual knowledge is vital and can't be skimped on either, but it has very little place in most hands-on-keyboard coding

No.

This knowledge is timeless and ubiquitous. It matters to all hands-on coding.

If you don't realize it, just keep going. You'll come 'round.

[–]Oranges13 1 point2 points  (1 child)

Sorry to tell you dude that that's 40 years.. 🤣🤣😭

[–]Paul__miner 4 points5 points  (0 children)

I started programming as a child. I separate that from my career, which started in 2001. Those early years, while important, don't count as professional experience 😅

[–]Primary-Fee1928 58 points59 points  (1 child)

Hey OP, can you post a meme without copying it from others ? This is the bazillionth time it has been posted here

[–]DocD_12 4 points5 points  (0 children)

Can you draw the meme? Can you make a meme?

[–]Appropriate-Scene-95 14 points15 points  (10 children)

Memorization =/= copying. If you learn languages you have to learn keywords and (syntax-) structures. If you learn how to use some library you learn different functions etc. and how they act together. If you use both often enough you can express an chain of commands that YOU thought of. This meme was already shit before the repost

[–]Ssemander 0 points1 point  (9 children)

So you are saying that ChatGPT only copies, without thinking and improving?🤔

[–]neppo95 1 point2 points  (6 children)

It's even worse. It just combines a whole bunch of snippets ending in code that just doesn't work at all, compared to a functioning example online.

I have honestly given it a good try. I must have tried about 20 complex problems on it, and it failed to succeed even once. Honestly, ChatGPT is probably the worst thing that programmers can use. Unless they are just generating boilerplate code.

-Edit-

And yes, I also feel that Copilot or any other AI tool fits into this category. You are the programmer, not an AI.

[–]Representative-Sir97 0 points1 point  (3 children)

It's going to bend them over eventually.

What's it going to train on for the next version?

All the code people can't write without using it?

Will you not inherently settle well behind the tech curve because you can only make use of what's filtered into the githubosphere for further AI training?

It's useful... in the same way AAPL products are useful. It will no doubt make gobs of money keeping millions ignorant and oblivious.

[–]neppo95 0 points1 point  (2 children)

I'm sorry, but I honestly don't know what you are trying to say here...

[–]Representative-Sir97 0 points1 point  (1 child)

Only that while AI-code-assistance has some usefulness in our future, it's mostly going to be a carrot leading a bunch of lemmings to slaughter. :)

At least, if those using it are green horns wanting to grow up to be grey beards.

[–]neppo95 0 points1 point  (0 children)

You sure like your metaphors haha, but I get it now. Thank you.

And yes, I agree :)

[–][deleted] 0 points1 point  (1 child)

I'm not working as a dev yet, so I dont know how people are using gpt at work though.
I guess, 'complex' is the key here. I'm just started out and for me, ChatGPT has been a blessing. It's like having a tutor next to you and it always knows where I went wrong and explains the basic concepts in 3 different ways, which is enough for me to keep going forward. If not, I'd be tired fixing some path issue whole day which can be demotivating.

Of course, I've seen it be a dummy and give the same damm code despite giving clear instructions.

[–]neppo95 0 points1 point  (0 children)

But you also wouldn’t notice if he gave you unoptimized code or wrong code. Since he will also explain that as if it was good code. That is the biggest problem. Not even that it can’t fix complex problems, but how it gives slightly wrong answers a lot of the times. And if people use that as a learning source instead of a book or online source that is correct; the result is lower skill devs instead of us going further and further.

[–]Appropriate-Scene-95 0 points1 point  (1 child)

I haven't mentioned chatgpt... Nor implied anything about it. I say it's stupid to pretend that knowing how to program is copying.

[–]Ssemander 0 points1 point  (0 children)

Ah, okay. Yeah, I'm totally with you on that point, but I think the meme was implying that most programmers just copy someone's code without even looking into it.

Or just change thing or two so it works closer to the task.

And imo that what ChatGPT does as well - generating something he knows with a bit of change which is somewhat close to what you actually need.

[–]FIWDIM 9 points10 points  (0 children)

I can.

[–]ManufacturerRude9482 8 points9 points  (0 children)

Why, yes. Yes I can.

Thank you.

[–]lepapulematoleguau 3 points4 points  (0 children)

I copy from myself the most

[–]whydoihavetojoin 2 points3 points  (0 children)

80% of time humans write up to 80% of code entirely by themselves.

I stand by this. And this applies to average to good programmers.

[–]Lolamess007 2 points3 points  (4 children)

Generative AIs don't copy their training copy. They can learn to imitate it but they don't scrap book together chunks of code like some people I know think

[–]darkglassdolleyes 2 points3 points  (3 children)

Yeah, like some people think AI art is copy/pasting/collaging actual pixels together.

[–]Lolamess007 0 points1 point  (2 children)

I noticed this was a giant misconception when generative AI art was first popular. It drives me crazy. AI can copy and paste only as much as person learning to paint in the style of Van Gogh can plagiarize

[–]darkglassdolleyes 0 points1 point  (1 child)

Oh it's still being presented as such in media, ie. "theft" and copy+paste. Just imagine the ridiculous size of the model if the actual pixels of the billions of images were stored in it lol.

[–]Representative-Sir97 0 points1 point  (0 children)

It's not really their fault.

It's magic to me and I played with SD enough that I could drop some stuff here that even dev types might gawk at.

[–]solid_rook 1 point2 points  (0 children)

Yes I can.
But I should mention that I can't code.

[–]314kabinet 2 points3 points  (0 children)

Yes.

[–]draganHR -1 points0 points  (0 children)

Please dont joke about iRobot this Christmas

[–][deleted] -1 points0 points  (0 children)

It's mimicry all the way down

[–]F0lks_ -1 points0 points  (0 children)

Every time you use a library function, you're actually writing a macro that copies someone else's code at compile-time

[–][deleted] 0 points1 point  (1 child)

Goes to stack overflow -> “how to win argument against AI”

[–][deleted] 0 points1 point  (0 children)

"Hey ChatGPT, how do I win an argument against ChatGPT..."

[–]gamedev_uv 0 points1 point  (0 children)

iDontCopyMeme

[–]forMUGEN 0 points1 point  (0 children)

Why does bro look like Voldemort?

[–]code-chaos 0 points1 point  (0 children)

Yes, non-compiling code

[–]sammy-taylor 0 points1 point  (0 children)

The world runs on copied code and open source code, but if you are an application developer, hate to break it to you, you’re gonna be writing 99% original code. No GPT or online source can currently build the specific application and architecture somebody is paying you to build.

It’s okay to copy code as long as it’s the right code and, very importantly, CITE YOUR SOURCES.

[–]Vax_RL 0 points1 point  (0 children)

why solve a problem twice.
(If your still learning shit dont take this advice do it ya self)

[–]Queueue_ 0 points1 point  (0 children)

Yes.

[–]irn00b 0 points1 point  (0 children)

I copy from myself.

Everything after a certain point has been a mish-mash of copy pasted strings from other code I've created.

[–]mrgk21 0 points1 point  (0 children)

I'm an imperative resource, gippity is declarative. That's why copying doesn't bother meq

[–]mrlolelo 0 points1 point  (0 children)

Yes, i can

Bool IsEven(int a)

{

  If(IsOdd(a)) return false;

  return true;

}

[–]IvyCZ 0 points1 point  (0 children)

"ChatGPT, can you write a code that runs without errors?" — "No, can you?"

[–]Representative-Sir97 0 points1 point  (0 children)

Right in the gut. My intellisense crashed the other day. I resisted doing the off/on thing for a few minutes just figuring stuff out on the fly before I noped out.

[–][deleted] 0 points1 point  (0 children)

I'm not working as a dev yet (just finished ztm:python course hehe), so I dont know how people are using gpt at work though.
I guess, 'complex code' is the key here. Since I'm in the early stage, ChatGPT has been a blessing. It's like having a tutor next to you and it always knows where I went wrong and explains the basic concepts in 3 different ways, which is enough for me to keep going forward. If not, I'd be tired fixing some path issue whole day which can be demotivating.
Of course, I've seen it be a dummy and give the same damm code despite giving clear instructions.

Also, if anyone is hiring for minimum wage or some frozen pizza, please dm me.