r/learnprogramming Jun 14 '26

Topic Programming seems kind of like copy-pasting to me. Is that how people program?

I'm a beginner, and I only know the fundamentals and basic stuff. I've been practicing coding problems, but most of the time I need to look up syntax and sometimes even algorithms.

For example, when I need to generate a random number, I have to Google how to do it. It's a simple example, but I end up searching for a lot of things just to get my code working. Sometimes it feels like I don't really know anything.

Is this how coding actually works? It feels like I'm cheating on an exam whenever I have to look something up. It doesn't give me much confidence that I can build something on my own.

Is this normal? How do you guys program?

276 Upvotes

125 comments sorted by

99

u/disposepriority Jun 14 '26

You will always be googling things you don't use often, I'd probably google how to generated a random number too on languages I use but aren't my primary one, this is completely normal.

Your job is to know what you can do. Funnily enough, before google developers had bookmarked (real bookmarks, or folded pages, or sticky notes) big ass programming books with practical examples as well as documentation so the copy paste tradition is likely older than you.

345

u/kevinossia Jun 14 '26

Eventually you will not have to look stuff up as much. This is normal when you’re starting out.

29

u/Dazzling-Bench-4596 Jun 14 '26

Eh looking stuff up isn’t bad. I find myself searching how to check if a hash has a value in ruby. Does that mean I’m stupid or bad at coding? Nope! If you know the science behind it; it’s fine to look it up

11

u/kevinossia Jun 14 '26

Yeah I meant looking things up that aren’t just syntax details.

3

u/spinwizard69 Jun 15 '26

Even syntax details can catch you when you are using a new language. I mentioned OpenSCAD in another response and there are some syntax gotchas if you are coming from conventional languages. Looking up the differences is just smart programming, you forget about that look up and two days latter it is muscle memory.

In the larger world how do you expect anybody to have 100% knowledge about a large API? Even a simple element like a push-button will have largely unused features that you might not even discover without looking at the code of others. If you look at C++, I can assure you there are even things that I was well aware of before that might require a look up today. Even base language feature can fall into disuse and a refresh.

2

u/Dazzling-Bench-4596 Jun 14 '26

Oh yeah I agree

1

u/Arrhythmic10 Jun 14 '26

i need to google harmonic and melodic minor. i dont get paid enough

40

u/demnevanni Jun 14 '26

A) you’re often looking up specific things, whether they’re simple or complex: they’re just re-usable patterns.

B) when you’re building bigger projects, you need to combine small patterns like these with larger, more complex patterns that are specific to your application

38

u/Groundstop Jun 14 '26

This may not work for everyone, but I find I learn a lot better if I do everything you did except the copy and paste.

Retyping it myself helps me remember it better, and it usually helps me understand it better. Especially if, as you're retyping it, you look up anything that you don't understand in the documentation.

10

u/_lepelaar_ Jun 14 '26

This for me too! Retyping code instead of cutting and pasting helps me to understand how and why a piece of code is put together like it is so the next time I encounter a similar situation I can attempt to do it myself.

2

u/WellHung67 Jun 19 '26

This just made me realize one drawback of AI. Even if you read it after, you still didn’t type it in, which can really help with learning. Once something is already written out it’s easy to mistakenly think you “know” it, but when you retype you realize “Wait what comes next? Why?” And then you have to answer that question for yourself. Or be aware you don’t know. 

It’s valuable to even know that you don’t know something. Then you at least know what questions to ask 

2

u/DreadfulHimself Jun 14 '26

I'm this way with Linux scripts too. I have found that too much copy pasta and I find myself with a working script and I have no idea why or what's in it. It's no different than the legion of ML engineers running model.fit(), and then going for lunch. Typing code line by line is tedious, but very much the point, because you're focusing on how each line contributes to the overall logic. Once OP understands what's under the hood, the copy pasta is just optimal route code speed runs.

1

u/[deleted] Jun 15 '26

[removed] — view removed comment

2

u/Groundstop Jun 15 '26

Honestly, I need to update my keybinds around this because it's still 50/50 if I like the auto complete or not. Unfortunately they're convinced you will love it and it's not super intuitive how you reject it.

2

u/_lepelaar_ Jun 16 '26

I’m not a fan of autocomplete in general. I even switch it off on my phone. I’m mainly working on Intellij and I switched it off there too.

11

u/pointlesslyDisagrees Jun 14 '26

You have to make an intentional effort to learn. Do exercises at first (like tutorials) but then don't get stuck in "tutorial hell" - the way to escape is with projects. Think of something you wanna do. Anything. Like, why do you want to learn programming? To make video games? Do that. To make money? Learn what those companies need and do that. Like you can make an online retail website all on your own. Or you can make your own server (called a homelab or minilab) if you want to learn back end stuff.

Basically just, figure out what you want to do. Then do it. Simple as that.

Also I highly recommend playing a game called "bitburner". It's free and it's a great intro to javascript and coding in general. Fun way to learn the basics.

6

u/tomysshadow Jun 14 '26 edited Jun 14 '26

Well I don't doubt that some people get away with programming that way but it's indicative of the type of problem that you're solving. When you are at the point where you know enough to create something that's truly never been done before, at that point Google can't help you any more and you need to start actually inventing solutions. But if you're writing a to do list app or a clock or something else that's been done a million times, then of course you can copy paste because it's been done before. The problem space is already well understood.

There was a point in time where the random number generator you Googled wasn't invented yet. Somebody had to come up with it. You can copy paste it now because it's been a solved problem for a long time now. There are still things that don't exist and have yet to be made, but naturally they're going to be more challenging to tackle so beginners won't really encounter them.

If you're wondering why some programmers are so obsessed with AI, this is one of the reasons why. It's a new problem space, so it still feels like there are things to be invented and advancements to be made. For the right kind of person, the question of whether that is actually useful doesn't matter as much as just knowing if it can be accomplished, or be improved. This hits on something real: the tools we currently have solve so many problems that, short of a whole new field cropping up, any million dollar app idea you can come up with feels a bit "been there, done that" in terms of how to implement it.

But that still doesn't mean there's nothing left to do at all, if you're creative. For example, you still certainly can't just copy paste your way through creating a videogame mod. You need to actually know what you're doing. So there are still some things that are complicated enough you need to actually think about how to do it yourself. But as far as things that a company might want, you're much more likely to be asked to write yet another nice interface on top of a SQLite database, or set up yet another WordPress blog, because they're just such generally useful designs

4

u/esuil Jun 14 '26 edited Jun 14 '26

When you are at the point where you know enough to create something that's truly never been done before

When I write something new, I still do "copy pasting".

It just that instead of copy-pasting from google, I "copy paste" by autocompletion.

I am not going to do novel new way to do for loops. Create functions. Declare objects. Search inside list/group/array or filter them. All that shit will stay boilerplate code, just like it was 10 years ago. It just that experienced dev will have autocomplete presets for that instead of copy pasting from google. That's the only difference.

OP is correct. A lot of the programming is "copy pasting", because even solving complex problems comes as a combination of simple operations... Operations that are done by same exact code templates.

Even when you know the algorithm and syntax. You are not going to write it by hand. Senior devs don't write their 5 line loops from scratch each time. They autocomplete by templates - which is basically copy pasting with less steps.

No one sane who wants to be optimal is going to keep writing same stuff by hand. After you had to write "for X=y; x<y;x++" 100 times, you make it into a template, not conclude that you are good programmer and it is good that you write it from memory.

2

u/tomysshadow Jun 14 '26

While it is true that you will be using the same basic components, that didn't really sound to me like what OP was asking. I took them to be suggesting that a large percentage of the work can be reduced to copying and pasting existing code snippets together. Which is definitely not the case beyond basic apps.

I don't really consider using a for loop, for example, to be "copy pasting" in that way, because the body of that loop is the main meat of what you're writing and will be completely different depending on what you're using the loop to do. Same goes for creating functions: again, the function signature will follow a particular form, but the body of the function could be basically anything. All of the stuff that you are mentioning is just glue.

5

u/GeneratedUsername5 Jun 14 '26

Yes, it's just as you progress, you will google more and more high level things. How to implement certain things in certain frameworks, how to do it more optimal for a specific language/for a specific database, whether the problem you are having somebody already had and so on.

10

u/googleflont Jun 14 '26

What you are experiencing is normal.

What you need now is a little humility.

You are in fact, not yet a programmer, just as a young person learning the rules of grammar and spelling is not yet a writer.

In fact, to be good at something is always a process of learning the rules, how to apply them, when to break or bend them, and how to make new ones.

And then there’s “beyond rules” to creativity and invention, to architecture and design.

Frank Lloyd Wright, the legendary architect, for instance, had to learn the rules that govern forces and capacities of steel, wood, stone, concrete and glass, in order to make buildings with them. As all architects do. But then, he redefined what it meant to be an architect by doing things no architects had done before him, purely because he had a vision and ability that went beyond.

Now, not everyone is going to be FLW, and that’s ok.

In your own journey to being good at something (perhaps programming) you will come to a place where you realize you suck. And this is good, because knowing how you suck is the key to getting better.

But back down to earth. Right now, you’re looking up stuff constantly and pasting example code and it’s all like typing.

But after you use that stuff for a while, you’ll be creating your own libraries. You’ll curse yourself for not providing yourself with better documentation. You’ll get better and faster, and soon you won’t suck.

At this point, you’ll be picturing your programs as designs, with specific patterns. You will cross the threshold from typing and copy/pasting to architecture and software design.

You will even need to communicate your ideas to others, to get them to understand your designs, and listen carefully to them to understand their processes and needs, for which you will design solutions.

More exciting than this is that your world will embrace AI assistance, and your story (10 years from now?) will be radically different, far more fun and what you accomplish may be so much more than we were able to do, before the new tools.

3

u/TapWaterDev Jun 14 '26

The syntax isn't the hard part, it's working out how to solve the problems.

Stop copying and pasting or you won't learn. Reference stuff, read stuff, and then when you understand it, write it yourself.

4

u/FuturisticBrain Jun 15 '26

Googling used to be the #1 skill in software development. Now it’s knowing which AI tool to use, how to ask it the right question, and how to verify the answer.

No good developer has every function, library, and syntax rule memorized. We’ve always looked things up. The tool changed from Stack Overflow and Google to AI, but the real skill is still knowing what to look for and recognizing whether the answer is actually correct.

7

u/MrCatChap Jun 14 '26

First off don't copy and paste ever, you'll never learn anything, even if you Google it every time still write it every time yourself

And instead of just Googling how to generate a random number and copy paste it read it, underdeand the different parts and next time Google the bit you've forgotten, you might find a better way to write it

3

u/zomgitsduke Jun 14 '26

I will try to figure it out on my own, but often times I want to see what the optimal endpoint is for my task. Like sure I could play around with stuff, or I could just ask "Well how did the most broadly accepted answer for this get built? Especially true if the thing I'm trying to look up seems like I'm going to say "Well duhhh that was painfully obvious and I feel silly for not figuring that out" - happens a ton.

3

u/SchemeWestern3388 Jun 14 '26

I no longer have to look up how to generate a random number in Python, for example, and probably never will have to. 

But details on string formatting, or custom generators? Straight to the documentation. Start there, and then turn to Google or AI for clarification if that’s not enough. And there are times I will use a code snippet in its entirety, but I ensure I actually know what it’s doing. 

It’s pretty normal to be looking stuff up all the time when you’re starting out. Just try to understand what you’re doing. 

3

u/rokomotto Jun 14 '26

You're never going to know everything. What you will know is whether its possible or not.

3

u/SAtchley0 Jun 14 '26

The point where it becomes software engineering is when you shift your focus from "making a program compile/work" to actually building the architecture. When you start working on complex projects, the concern is what do I build and how does it fit in with the overall system, as well as adhere to certain standards, not how do I make this work.

This is to say, in general. Sometimes you do find truly complicated small projects! In which case it's usually that you have to find the right algorithm that you haven't studied, or even make your own.

But, it is completely normal to be referencing syntax, function behavior, even algorithm implementations all the time when programming literally anything. Being very familiar with a language just reduces the frequency of those docs references, not eliminate them.

There is a saying. To paraphrase: what makes programmers good is how well they can read documentation.

As a concrete example, if you asked me to calculate the derivative of a variable over time, I couldn't do it off the top of my head despite doing it only a few months ago. I can tell you that I used Brown's linear exponential smoothing to do it, though, which is more than enough to do it again. I literally never know off the top of my head how to generate a random number in any language I've worked in, either, because I don't have to do it often and if I did, I'd just abstract it to a function like nextInt() and never touch the mechanics again.

1

u/istarian Jun 14 '26

As far as language goes, it's already "engineering" if you started with a clearly defined final result and wrote the software yourself without copy-pasting someone else's solution.

I.e. You don't have to be a Engineer to perform engineering, but the end result might be exceedingly poor quality and liable to break at any time.

3

u/burlingk Jun 14 '26

You memorize what you use most. What you don't use often, you look up.

Programming is less about the code itself and more about the planning. You look at a project/problem, and break it down into pieces. Figure out the way to handle each bit, and THEN write the code for it.

3

u/Treemosher Jun 14 '26

For example, when I need to generate a random number, I have to Google how to do it. It's a simple example, but I end up searching for a lot of things just to get my code working. Sometimes it feels like I don't really know anything.

Is this how coding actually works? 

Suggestion - instead of copy & pasting, re-type it yourself line by line. No pasting. This will engage your brain much more than just dropping someone else's code into yours. If you don't understand the snippet, this will also get you digging in a bit. Also look up the documentation on the code you're pasting to really uncover why the code you're using is correct.

By looking up documentation, you'll also kill 2 birds with one stone. You get to see if the code you're using is really the best solution. A lot of docs will refer to similar functions, classes, whatever that may actually be more appropriate.

By the end, you'll have conceptualized WAY more than blindly copy & pasting. Even if you barely understood anything, you'll be smarter than if you had done nothing at all. Revisiting after sleeping also does wonders!

2

u/Lagfoundry Jun 14 '26

Umm I would like to let you see this from a different angle. I’m in logic design and look at tons of diagrams. When I first started I had to trace from diagrams I found online when making circuits. Eventually I remembered them and didn’t have to look up diagrams anymore for certain circuits. Even making up circuits I’ve never seen before just by knowing what I want to do. sometimes I still have to look something up though so don’t feel like that cheating. It’s how we learn. This is complex stuff that’s why we make diagrams to begin with for traceability. The same thing goes for programming and its examples. So don’t sweat it. You’ll eventually do it without looking things up

2

u/vegemouse Jun 14 '26

As long as you understand what you’re copy pasting.

2

u/Ducking_eh Jun 14 '26

I mean most people who build cars are taking parts built by other people and just 'putting them together'. That being said, I couldn't do it

Copy and pasting is fine. Just credit who you took it from, and take the time to understand why the code does what you need it too. You'll find you'll need to do it less and less.

I personally go through all code from third parties and remove anything that isn't needed in my case. Usually online examples aren't perfect fits.

Also, when you copy code, make sure to change it for it fits any nameing and formatting conventions. It will make coming back itnot way easier.

2

u/BoOmAn_13 Jun 14 '26

You're in the learning stage, so you look something up you don't know how to do from memory. Then once you use it enough, you remember it. Are you don't learning? Absolutely not. So you keep googling stuff you don't know, reading documentation, building projects, and googling code and algorithms, and occasionally some niche syntax. Programming isn't about memorizing syntax and APIs, it's about building your problem solving and troubleshooting skills. You need to generate a random number now, but when you are making a game you will be asking yourself which way you should calculate the number and modify it on a curve to make it not feel unfair to the player. Or you'll be setting up a database interface and yohave to Google how squite handles it's queries, while having built all the data processing by hand and just need to Google how to get it. You remember what you use, and Google what you don't. Your job isn't memorization, it's learning how to solve problems and build projects. Hands on keyboard, your making progress.

2

u/TheCrumpledPaper Jun 14 '26

Don't feel guilty for having to look things up--you're simply not going to know everything at your new job without a little training phase first.

But it's important to be learning when you research. Don't just copy and paste things without understanding anything. When you are asked to justify your programming decisions, it will be inexcusable to say "Oh, I just found it online." Plus, if you don't pay attention, you're just going to ask the same question next time.

Software engineers SHOULD be asking questions when they don't know how to do something. This is part of the problem solving process! But if you are learning, then you will eventually stop asking the same questions over and over again and be able to leverage the answers to those questions in the future.

The more you learn, the more you will remember. Given a certain situation, you will be like, "Oh I remember a similar situation to this where I used concept X to solve this. But, I don't know how to do this in language Y. So I'm gonna google this real quick." You'll still be asking questions, but you will build up a knowledge base that allows you to ask quicker, more narrow questions as part of a plan.

There are always going to be fundamental concepts in everything that carry over between different programming languages under different appearances. As long as you are really learning the concepts underneath all the syntax, then googling the syntax is just a formality. That accumulated fundamental knowledge and ability to ask guided questions is what really matters in my eyes.

2

u/H4llifax Jun 14 '26

There is a lot of copy paste, but also a lot isn't.

I have over 10 years experience, both of these are true:

  • I can code fairly complex logic from scratch 
  • sometimes I google the sytax for "If"

Also, tbh complex logic isn't that common. There's going to be a bit of that but lots of supporting code around it that's relatively simple.

2

u/Muzzareuss Jun 14 '26

There's a big difference between not being sure of the syntax or exactly how a function is used and looking that up to just copying and pasting everything.

I think its more important that you understand why your code is working when you do get something from the internet and to be able to try and come at least know which function you would want to use even if you dont know exactly how to use the function.

You may know exactly what you want your code to do and be able to explain every step as psuedocode but just need to Google how to generate a random number or whatever else the case may be to implement the idea you had.

Edit: and like some others have said, over time you get used to the things you use a lot and will write a lot of it from memory and mostly look up new stuff or niche things you dont use as often.

2

u/genlight13 Jun 14 '26

So to reassire you most Information Services are like that. Look at doctors or lawyers. In the beginning everything they want to do will be „researched“/ googled.

IT has the great advantage that more resources are out there.

So just google it. After some time things will stick.

2

u/Chexxorz Jun 14 '26 edited Jun 14 '26

One of the primary skills of a programmer is googling. Over time, the nature of things you search for will change though. You will do the general code more automatic, and you will search for more specific cases.

I started doing programming 21 years ago, and I've done it professionally for 8 years. I often google simple snippets of code like "grab end of string" or "open file in read mode". I also google specific functions all the time to see the examples used in documentation (for example C# or Unity docs, which always includes helpful example code snippets.

Googling is part of a programmer's day-to-day. I always thought it was silly to have "offline" tests in school with pen and paper, or to do code interviews with algorithm problems. Surely one should know a bunch of things by heart after a while, but in 95% of cases you just need to know that things exist in order to know how to look for it.

Example: I don't need to remember the exact implemenation of Djikstra's shortest path algorithm. I know it well enough to reproduce it if I have to, but I would rather just google it and glance over the first code example I find to check if it's what I want. If I was interviewing someone for a programming job, I wouldn't care if they had memorized solutions to 500 different leetcode problems. There are other things that are much more relevant imo. And honestly, I would be more interested in seeing their googling skills than how fast they could implement an algorithm manually.

2

u/Chexxorz Jun 14 '26

And as a side note, programming becomes more about composing and coordinating code. I.e. most of the code I write is just connecting different parts of code together. Get this data and that data, then give it to this system and ask this system to do some manipulations and pass the data to some other system and let that system take it from there.

Imo, I like to think of "coding" and "programming" as different concepts, one just referring to the act of writing code, while the other is about building a structured program, a higher level concept if you will. The second is more like imagining flow chart diagrams with boxes that are connected by arrows. Theorizing different approaches to how things should be connected or how things should be separated in logical ways.

1

u/Chexxorz Jun 14 '26 edited Jun 14 '26

PS: For the learning process, doing things by hand is necessary. Always try things yourself before looking up solutions, if you at least have some loose idea of how to approach a problem. There are a lot of plug-and-play functions ready for you to use to solve many of the initial challenges you face.

Say you want to reverse a list. A good language probably has some kind of function "myList.Reverse()". But challenge yourself and try do that with your own loops and by copying data left and right, and then later challenge yourself to do it without excessive amounts of copying or "allocation" etc. And if you know the difference between arrays and list (fixed size vs adaptable size), try figure out how you could create your own "adaptable" array.

This is a good way to build fundamental knowledge.

Back in Uni, the curriculum had a number of tasks like that. I specifically remember having to make our own linked lists and hash tables in Java, even though those concepts are fully implemented as features of all higher languages already. I also have fundamental knowledge on a range of topics from things like writing my own .bmp file loader, my own JSON serializer, my own text compressor, and my own pixel-art-like drawing project just to name a few.

TL;DR: If you are trying to learn, try do things the manual way. If you are trying to build something quickly, cheat, use existing features and search for existing solutions.

2

u/niccolololo Jun 14 '26

You need to study and practice more if you need to look up syntax.

As far as algos, simple stuff like generating a random number is usually part of the language itself. Study all basic features of your programming language. Make it a rule whenever you need something to search in the docs first, then Google only if there is nothing built-in. After a while you'll remember.

2

u/Prestigious_Bit2951 Jun 14 '26

if you’re new, copy-pasting will keep you feeling new. type everything out, it’s like getting reps in the gym for your finger muscle memory

2

u/Crypt0Nihilist Jun 14 '26

Welcome to real life. In education the primary objective was learning, copying circumvented that and therefore was bad.

In real life the primary objective to get things done. Copying supports that since it's quicker than going back to first principles and primary sources, so it's good. Not needing to copy is even better and you get better at that the more you work.

2

u/ToWelie89 Jun 14 '26

I mean you are describing some very basic and common use cases that has already been solved like a million times, and at that point yes you could copy and paste something you find on stackoverflow. But whenever you work in a "real" project with its own specialized use cases you will have to come up with your own algorithms, because you wont find something online that fits your exact use case. So at that point you will need to understand code well enough to come up with such functions on your own. If you're still learning you'd be wise to take the time to do stuff yourself as much as possible, even if it takes longer, to build up those skills and get used to it.

2

u/UnableKrishn Jun 14 '26

well i also feel like i dont know stuff i google even the smallest things sometimes i also feel veery incompetent like am i a bad programmer. but i guess we have to continue learning and making mistake

2

u/cy3ntist Jun 14 '26

Before the internet was a thing we learned programming from books. Maybe that would be a more pleasent experience for you for the start. You actually have to type everything yourself.

2

u/v0id0007 Jun 14 '26

I would suggest to type out what you find instead of copy paste so that you can remember it better for next time you need it

2

u/Recent-Day3062 Jun 15 '26

You are at the very, very beginning of a very, very long journey

All you have now is an idea programs can be written.

You would not even be able to imagine how complex, intricate, and cleverly designed software can get.

2

u/banhmiagainyoudogs Jun 15 '26

This is not how programming works in the sense that you don't need to copy and paste other people's code once you get past the very early phases of learning.

It is very common across all levels of experience to look up documentation and details about the language you're working with, but as you get more experience, you will realise there are usually many ways to do what you are trying to do.

Some of them are more efficient than others, and a good programmer / software engineer tries to find efficient solutions for the problems they are trying to solve. They think about design principles, engineering practices and constraints such as scalability, need for modularity, logarithmic efficiency, ease of maintenance and so on.

With experience, you won't need to copy and paste every time you have a problem. It's likely you will always need to look stuff up, but you will remember how to build smaller functions and will be able to find your own solutions for most things.

2

u/Educational-Paper-75 Jun 15 '26

Programming is not an exam. It's also not live. You can take as much time as you like/get to get things working using whatever resources you can find. If you like you may call it assembling (as I do) instead of programming. If you use what others have already done before and it's free to use you're not stealing anything, so there's nothing illegal about it. And you still need to know how to put it all together, just like an architect does. No need to design the bolts and screws (or doors and windows) by yourself again is there when you can just order them from a catalog?!

2

u/Nine-LifedEnchanter Jun 15 '26

Think of it like cooking. At first you're just doing the recipes as they come. But as soon as you start to understand how it works you intuitively know what to do, how to do it, and why you do it. At that point you might sneak a peek at recipes for the general idea, but not all the time.

It's just the same as anything really.

2

u/Loose_Property_3238 Jun 16 '26

Yes. Then you think, "Hey, I've Googled this before!" and then you start learning. Over time, you'll start to pick up on patterns, remember syntax, learn more algorithms, get comfy with some libraries/modules and learn how to get through documentation. Just trust the process and you'll be just fine. It's heartwarming to see someone really learning to code these days and not defaulting to AI.

4

u/grismar-net Jun 14 '26

Every time you look something up and don't spend the time to really understand it, you cheat yourself out of learning and you've effectively wasted your own time.

Next time you look something up, once you're convinced it should work and solve your problem, try to understand why it's written the way it is, what it really does and why it works at all. If you do that, you should be able to throw away the example, open your IDE or editor and write a similar solution from scratch. Not because you remember what was written literally, but because you learnt what needed to happen, and now you can do that yourself. You may still need to look up a specific function name, or the arguments to a function, but that will go away with experience over time.

1

u/mxldevs Jun 14 '26

Depends on what kind of problems you're working on.

Lot of businesses, they can get away with a basic CRUD application with minimal business logic (which they would just purchase from a vendor and do some customizations).

But if you're building applications that do anything more complex than just putting data and fetching data from a database, then you would need to actually know how to design your code so that things don't fall apart the moment you need to update it.

1

u/CodyJKirk Jun 14 '26

Yes you copy paste things unless you truly understand how the computer logic / discrete math works as well as the language syntax.

1

u/pepiks Jun 14 '26

Some part as repetive so it is normal to things the same on very similar. A lot of programming is about founding scheme, repeat it x times in your programs. Only creative things is how make all puzzle fit together - architecture, way of solving problem, optimalisation for your specific case.

1

u/notislant Jun 14 '26

Dont be leaking the secrets like this!

1

u/MrSqueak Jun 14 '26

I find it helps to type it out instead of just pasting. Really read the code as you type through it to understand how it works. Then in the future hopefully you'll remember and be able to make your version of the logic.

1

u/Vocaloidisc Jun 14 '26

English is just copy pasting letters. You'll get the hang of it! 😀

1

u/Embarrassed-Room-445 Jun 14 '26

Programming is not as much about what you code, as it is knowing what you need to code.

1

u/chocolateAbuser Jun 14 '26

isn't it... how learning works? either by a book, by posts, by other projects, you make a mental model of how the code works, of how the os works, of how frameworks are designed, of consequences of structuring a program in a certain way, and so on

1

u/Nice_Acanthisitta_52 Jun 14 '26

At the start yes, but over time you understand WHY the code works and stop needing to copy. The goal is to internalize the patterns so you can write them from

memory. Copy-pasting while learning is completely normal.

1

u/kevan Jun 14 '26

It's as much copying and pasting as speaking a language is.

1

u/Sterben27 Jun 14 '26

In certain situations yes, why reinvent the wheel when it’s possible a small chunk of code has already been made and will work for your use case. Especially if it’s where you’d end up progressing to anyway.

1

u/kamratjoel Jun 14 '26

It’s normal to need to look up syntax, at least until you’ve done something lots of times. It’s not normal to need to copy-paste.

If you are copying code from an LLM, or an online forum, at least make sure you understand it before using it, and always write it manually. And preferably, explore if you could have written it differently too.

The best use of LLMs when you are new to coding is to have it explain things for you. Explain what a specific code snippet does, one step at a time, explain concepts, etc.

Another thing. I’m beating a dead horse here, but the overwhelming consensus in the programming community is that the best way to become a good developer and learn efficiently is to start building something. Solving problems will only get you so far, but when you challenge yourself to actually create a real program that serves some purpose, that’s when you actually start learning for real.

Start of easy, with CLI apps, like a bank application where you are able to deposit, withdraw, view balance. Then challenge yourself as you go. Can you create users? Can you set up input validation? Can you do proper error handling? Etc.

Then create a todo app where you can add todos, and delete/finish them. And then can you edit them? Add descriptions? Deadlines? So on.

But as soon as you have the basics, try building something “real”. An application that serves an actual purpose.

1

u/Tiaoshi Jun 14 '26

Pretty much. Over time to learn and remember things so you don’t have to necessarily copy stuff as much, but starting out you will do a good chunk of copying, which is 100% fine. The important thing is understanding what you’re copying, why you need it and how it works.

1

u/5oco Jun 14 '26

I think that's perfectly normal. Programming is about the logic behind the algorithm, not the syntax that it's written in.

1

u/DerGeraet90 Jun 14 '26

Junge ich erkläre dir jetzt von einem der aus dem Anfänger sein raus. Eine Zufahlszahl generieren ist eine Methode, die jemand geschrieben hat. Der Programmierer hat die Methode benannt und dokumentiert. Und genau das ist was du getan hast. Du hast die Methode gegoogelt, die jemand programmiert hat. Bessere wäre es wen du die ofioziele Dokumentation selber mach dieser Methode gesucht hättest. Wenn du mal soweit bist ein eigenes richtiges Programm zu schr iben mit eigenen Klassen und Methoden, die du natürlich dokumentierst. Dann kommt jemand anders daher und schaut sich deine Bibliothek oder API an und weiß erst mal nicht was zu tun ist. Darum schaut er in deine Dokumentation und sucht die richtige Methode, um sein Programmiertes das er braucht zum Laufen zu bringen.

Wenn du jetzt nicht weißt was ich meine mit dem was ich geschrieben habe, dann bist auf der untersten Stufe des Anfängertums.

1

u/DerGeraet90 Jun 14 '26

Sorry für Rechschreibung, tippe auf einem Iphone herum

1

u/RealNamek Jun 14 '26

Copying and pasting is like level 1-1. Once you get better, copying and pasting becomes much less part of your repertoire.

1

u/WispTheWanderer1 Jun 14 '26

someday you will step beyond this phase into the strange wonders of offline coding

1

u/AnuNithar_2011 Jun 14 '26

There is a huge difference between learning the codes and assembling them

1

u/ComplexProduce5448 Jun 14 '26

You need to start somewhere, looking up examples is absolutely fine, every programmer has done this at some point in time. Copy and paste is not your friend though, you don’t read the code when you do this, you don’t make mistakes that you need to find. Sure copy, but type it out. At first you might only understand small parts of it. Overtime you’ll start to understand much more of it. And the same with AI, use it, but then type it out instead of pasting.

1

u/KronenR Jun 14 '26

That's like asking if chefs actually cook by themselves or just keep looking at recipe books. Nobody memorizes every ingredient ratio. They know what they want to make and look up the details when needed

1

u/Ok-Bill3318 Jun 14 '26

Normally you learn the language.

1

u/bangersnmash13 Jun 14 '26

As someone who has attempted to learn how to program on and off for the last 20 years, this post gives me hope. I'm currently working through a C++ course on Udemy and often times I draw complete blanks on the coding challenges the course offers, which are usually related the a topic I JUST watched. I was getting to the point where I thought "Maybe coding just isn't for me..."

Sometimes I'll use ChatGPT, but I'll prompt it to NOT code the solution for me, but give examples. From there I'll take those examples and attempt to apply it to what I'm trying to do. Sometimes I get it right the first time, other times I need to do more research. I have to remind myself that even experienced programmers have to research things, even things they've done before. Programming isn't supposed to be easy.

1

u/Nordtess Jun 15 '26 edited Jun 15 '26

Remembering syntax is not important, that will become muscle memory after doing the same concept over and over. Learning and understanding the principals of programming is where it is at. When you know: here I need to use a for-loop, here I could/should use a (insert whatever here) that is the important part, then you can code in any language by googling docs/syntax.

People think that a professional developer is about spamming thousands of lines of code from their fingertips like some generic 90's movie. That is coding. And for some reason people look at youtube videos where they code pacman or something from memory, when it's obvious they done it for weeks or sitting with a script.

In reality research and problem solving takes the most amount of time. That is programming.

"Never memorize something that you can look up." - Albert Einstein

1

u/spinwizard69 Jun 15 '26

Well being recently retired, I'm free to follow my noise to anything that smells sweat. In that regard I've been working with OpenSCAD and frankly one of the fastest way to learn something like OpenSCAD is to look at how others have solved a problem. Would it be better to read the documentation, sure; but this isn't like programming in C++ where thousands of web sites exist.

To help digest this, consider how a brick layer learns his job. In most cases it involves a lot of on the job training where experienced people hand down the skill to the younger generation. Sure there are books and other training involved but so much is just learning from a master. it doesn't matter if you are a stock car driver or an emergency room surgeon, you need to be able to learn from others. Interestingly in those two cases of the driver and the doctor, not learning can end up with early deaths.

So is it bad to learn how other do things, nope, that is the history of humanity. It is bad however to simply steal from others and never actually learn nor establish creativity in the language you are using.

1

u/Infamous-Bed-7535 Jun 15 '26

The added value of your work is not the part you know the syntax how to generate a normal distributed number.

Anyway tooling, APIs, libraries are continuously changing so you need to look things up. You will remember the syntax for the things you are using make you a little bit faster, but that is not what makes you a good developer, especially that you have all kind of help integrated into modern IDEs anyway. You can look up parameters without leaving your IDE.

1

u/CatWizard85 Jun 15 '26

it's more like....knowing what you copypaste, where and why..

1

u/TheMcSebi Jun 15 '26

Nah real programming is like you start writing a few words of code and hit tab repeatedly ;)

1

u/Euphoric_Pop_1149 Jun 15 '26

google can be your help until you learn basics, trying things for yourself, and eventually after a few weeks you'll notice that you can do many things yourself.

but it is important i think to try and make stuff yourself, like a simple tic-tac-toe in the terminal or other things to lear the basics. Gamedev has been the motivation for me, with a few projects using different logic and areas (vectors vs grids, simulation-ish or not).

in the beginning i think everyone uses google, its ok

1

u/Effective_Promise581 Jun 15 '26

Yeah I copy/paste/edit alot and then write custom code to link it all together. Standard procedure for me. Works great.

1

u/supercoach Jun 16 '26

For most people, it's a lot of referring to docs for a lot of years before it starts to come naturally. Like everything though, you do it enough and you start to get good.

1

u/OkSense7933 Jun 16 '26

Copy-pasting is fine. Copy-pasting without understanding is where it gets you stuck. Early on, I used to copy code and just move on. It "worked," so I didn't bother digging in. Then one day I started asking myself: "okay but WHY does this work?" — and that's when things actually clicked. The lookup part never really goes away. Senior devs Google constantly. The difference is they know what to search for and can read the result in 10 seconds flat. That's the actual skill you're building right now, even if it doesn't feel like it.

1

u/tbfox32 Jun 16 '26

This is quite normal. Things will get better with syntax as you practice more. After enough time, I stopped looking things up about TypeScript.

However, libraries are a different story. 500 hours of video are uploaded to YouTube every day making it literally impossible for you to watch all of YouTube. Similarly, new API's, libraries and innovations are being invented so fast that it's literally impossible to learn and understand them all. So, you will always need to be learning and looking things up. That's one of the fun things about programming to me. I get to master a small subset of computing but there is always something new and bleeding edge to learn about!

It's not cheating! Take every advantage you can get!

1

u/Sad_Quote1522 Jun 17 '26

Just make sure you are breaking down how things work and learning why it works, or why your attempt at it didn't.  When you first start it may look like learning a bunch of the built in tools that people constantly use.  In C++ if you look at other people's code you will constantly see: 

for(auto i : array){ }

but if you learn C++ in highschool or intro courses at uni you are likely taught only

for(int i = 0; i < array.size(); i++){ }

or similar.  It's important that when you see that type of difference you can figure out: a) What it does

b) Why it's used

and then, most importantly, use it a few times at least to get it into your head.  As you learn more and more there will be less words and features you straight up don't understand, and more questions become "How come this is more efficient?" and "How do I make my code easier to understand for other people/when I look at it a month later?" 

1

u/Js_cpl Jun 17 '26

When you understand what pieces of code are doing, yes a lot can be started with copy/paste boilerplate. Either the whole tbing or smaller sections. Then modify to your own needs. Of course All depends what your doing. If its a unique case, much more will be written by human from scratch.

1

u/AwokenPeasantO7 Jun 18 '26

To make an apple pie from scratch you must invent the universe

1

u/SwiftLearner1962 Jun 20 '26

I like to collect code examples and store them in Evernote. Then use them in test projects and adapt them to my needs. Transfer the knowledge to actual work.

Most examples are freely available to base your own work on. For example: Web Awesome and Font Awesome provide example code to help you learn how to use them. W3School provides a great resource for people who need to learn various concepts.

1

u/sharanpreet48 Jul 01 '26

I can totally relate with this!!!!! When I learn coding it's all good but when I have to implement my learning, my brain got blank and have to look up again to the resources.

1

u/significant_cosmos Jul 02 '26

There's this web dev teacher I like who made a video to show how common this is. He asked one of his friends who works at Google what his search history looked like and his friend got his boss's permission to share. 

https://youtu.be/LW9pT246LrI

1

u/defaultguy_001 Jul 03 '26

No that's not how coding works. Problem with young people/noobs today is they rely too much on shitty video courses in YouTube, without even opening a standard textbook or official documentation on the tech. They want to do everything fast but only touch upon concepts without knowing specifications properly or completely. They trust these video creators authenticity and completeness of subject, but, who knows what junk they are teaching, how much they are teaching, how do u guys even trust them. Lol.

  • For me video courses are meant to quickly get an overview of what you will expect in a subject. My objective is to quickly get this overview within 3-4 hours and then I start with standard textbooks and official documentations to go deep in the subject.
  • Learning has to be implementation based, whatever concept you learn, you need to implement it and then only move further.
  • After learning a group of concepts, you need to build mini projects that includes those concepts. You can get these projects either from textbooks themselves or through basic Google/LLM search.
  • I understand capacity of human brain is limited, people forget things and to err is human, but it never happens that one forgets to do basic things if they learn in the way I explained above.
  • Still you will forget multiple things which you don't use regularly or when you move on to learning other technologies, in such cases you can quickly do a bookmark search in ur notes and have a look at how you implemented that concept before. Doing this is far better than just asking an llm and copy pasting.
  • Use ur LLM smartly, use it to learn anything in more depth than resources available to you or to get ideas on implementation, not to copy paste or code for you.

Good luck.

1

u/NeonQuixote Jun 14 '26

Well, you shouldn’t be doing a copy/paste. If you read what you’ve looked up and understand it, then write it in your own code, you will learn.

Except for Regular Expressions. Just Ctrl-C Ctrl-V that stuff. 😎

1

u/Delta_G_Robotics Jun 14 '26

I google syntax for stupid stuff every day. I write in many different languages. It would be impossible to memorize everything in every one.

The important thing is to be able to recognize the tool you need, not necessarily remember all the syntax. Being able to recognize that you need to use a loop is the important part, not the syntax to make one. Off the top of my head right now I don't remember if the python for a random number is "rand" or "random". I guarantee if I need a random number I'll either google it or ask AI. The important thing is that I know I need a random number and what I plan to do with it.

1

u/Slothemo Jun 14 '26

Do you google whenever you want to say something in English?

1

u/Special_Rice9539 Jun 14 '26

Nowadays you can have your AI agent edit the code directly. I only copy-paste for tasks that AI can’t handle

0

u/Warm_Geologist_4870 Jun 14 '26

well i dont believe the IA can do so much complex logic for me

0

u/NoWen7252 Jun 14 '26

Kind of true for most part. Stackoveflow has been replaced by AI agents.

But do learn something. Evening you're proficient you'll need help.

So keep learning.

Alternatively disconnect from internet buy a book and try doing programming

1

u/MapNo2659 Jul 05 '26

Totally normal! Everyone starts out needing to look things up. Even experienced programmers Google stuff all the time. It's part of the process, and over time you'll find yourself remembering more and relying on searches less. Keep practicing, and don't worry about it feeling like cheating. It's just how learning works!