1. #1

    Copy and Paste Programmers

    Is there truly such a thing as a copy and paste programmer?

    Yesterday I received a newsletter from a programming and web development website called dreamincode.net and I normally ignore most newsletters from websites but in this one they were basically complaining how professionals in the industry as well as students simply copy and paste all the coding they need and then pass it off as their own, their argument was very convincing.

    This really shocked me, how is it possible to make it in the industry simply copying and pasting the coding you get online? if you don't understand the language you're programming in how are you going to be able to confidently fix any problems that might occur or change the coding to suit the needs of your employer in the future.

    I was just wondering what are your thoughts about this and if this is as wide spread as the newsletter made it out be.

  2. #2
    It may not be that they don't know the language but rather that they are just to lazy to make or remake said thing. They may find it easier just to fix or build off what the internet has provided to them.

    Lazy yes
    Efficient some what.

  3. #3
    Quote Originally Posted by Discombobula View Post
    It may not be that they don't know the language but rather that they are just to lazy to make or remake said thing. They may find it easier just to fix or build off what the internet has provided to them.

    Lazy yes
    Efficient some what.
    Say you have to write code for like...a bubble sort. Just DL it from someone else. No reason to write something that is already correct and functioning fine.

  4. #4
    Field Marshal
    10+ Year Old Account
    Join Date
    Sep 2010
    Location
    Brisbane, Australia
    Posts
    53
    Depends what kind of copy + pasting you're talking about I guess.

    If you're talking about common functions that are generally just syntax heavy but found in almost every page of code, then I don't REALLY see how it's a big deal...especially if you have pre-written, functioning source code at hand. Of course you may run into issues with copy pasted code, any first year programmer will tell you that writing your own from scratch minimizes compile errors and such.

    But if you're talking about being too lazy to write your own code for a specific purpose, and then going hunting to find it and then just stealing it...well I can see how that would be an issue.

    Personally, I haven't encountered it. I work for a semi well-known games company as a creative designer, and don't deal with the programmers a whole lot, but I sit in on their meetings sometimes, and while they usually copy some source code from open source engines and such for the sake of convenience, I also hear them talk about putting 30-40 man hours into programming a custom camera, or programming mesh spawning on an 'in-view' basis to optimise performance.

  5. #5
    Dreadlord Zzeke's Avatar
    10+ Year Old Account
    Join Date
    Jun 2010
    Location
    Right behind you.
    Posts
    970
    For me, it's just taking pieces working examples as skeletons for my own code. That way I know the syntax will be correct.

  6. #6
    A full, massive program? No.

    Small, simple scripts? Absolutely.

    Why wouldn't you copy and paste program when it works? I work 40-50 hours a week programming, and parts that can be copied and pasted increase efficiency greatly, as long as you know what the code is doing. Whenever I need a popup form (JQuery Impromptu dialog with Zend form object) I have a standard script I copy and paste. Change the name of the form, the callback function and I'm good to go.

    I am familiar with the article you mention, and when done to that extent you aren't thinking about the future, there is no scalability to the code. There needs to be a balance between reusing code via copy-paste, even code found online, and fully understanding the code.
    Author of Instance Profit Tracker
    Find out how much gold you earn soloing raids and dungeons

    Curse | GitHub
    WowInterface

  7. #7
    Coding is a time consuming process. If you can find something similar to what you need, copy it and modify it, it is much faster and more efficient to do that rather than start from scratch. But to do this you need to understand the code, as you're generally not just taking something as is, but modifying it to suit your specific needs.

  8. #8
    I like programming, not typing, so I will use freely available source when it speeds my development process. This is called code reuse, and it is one of the holy grails of programming that everyone wants, and not enough people do!

    When it comes right down to it, you wouldn't redevelop the wheel every time you build a new car.

    That doesn't mean copypasting something from wiki without testing is okay :P

  9. #9
    Quote Originally Posted by Rukentuts View Post
    Say you have to write code for like...a bubble sort. Just DL it from someone else. No reason to write something that is already correct and functioning fine.
    It's not as if bubble sort is hard! (Taken from my own Java program, that I needed to make for Uni)

    Code:
     //sort the array using the bubblesort algorithm
            //whenever a swap appears, update the bar chart using the drawChart method
            for (int j=0; j < index-1; j++) {//checks the value at index 0 + index 1
                //^if it's not larger, move to the next index values (and repeat).
                for (int k=0; k < index-1; k++) { //k is 0, but while it's less than 1 keep adding 1 to k
                    //if k is greater than the number in the next array's index value, then move k up one slot
                    if (intArray[k] > intArray[k+1]) {      
                        temp = intArray[k]; //temp = whatever value is in the array at (variable called 'k')
                        intArray[k] = intArray[k+1]; //the value of k is now +1 of k
                        intArray[k+1] = temp; //k+1 is now equal to the temporary figure
                        
                        myChart.drawChart(intArray,index); //Redraw the graph, in the new arrangement
                        
                        System.out.println("Swap " + swapValue); //print how many swaps have happened
                        swapValue = swapValue+1; //Add 1 to swapvalue for each time it loops around
                        
                        UserInput.readString(); //Slow process down by requiring the user to hit 'Enter' key.                    
                    }
                }
            }

    But basically, someone would then copy my code after me posting it, then using it for their own needs.
    (If you couldn't tell, that was from a program where you had to enter a bunch of random integers, then it sorts the data from smallest to largest... That's 'just' the sorting part, which is the hardest part.)

    I wouldn't mind if anyone uses the code for a private program, though if it was for their own school work or something, they could at least attempt it, or try to understand how to make one said bubble sort before hijacking it :P . Although, I've left all the comments in, so that you could fairly easily understand what's going on, if you needed to edit some part... Or something.

    Basically though, re-using code is fine (you can't change the coding too much, otherwise it becomes a pile of junk), but people are just getting upset because they aren't given credit for their work, which can be googled within 5mins after it has been posted somewhere. I mean, it took me 30 minutes to write the entire program that was for my 5th assignment (1 part of 4 pieces in the individual assignment) for Uni (part of that is above). I realize that while I'm not the best person out there, I destroyed the time to do it in, compared to my fellow students... They spent a couple of hours on it and still couldn't figure it out properly (none of us had really done programming before, so I forgave them) and helped them out a bit, but I didn't exactly hand them the answers.

    You definitely need a mix of not re-inventing the wheel, and knowing what the code actually says, and how it works in depth after obtaining it.
    Computer: Intel I7-3770k @ 4.5GHz | 16GB 1600MHz DDR3 RAM | AMD 7970 GHz @ 1200/1600 | ASUS Z77-V PRO Mobo|

  10. #10
    Stood in the Fire
    10+ Year Old Account
    Join Date
    Apr 2011
    Location
    Wilmington, NC
    Posts
    378
    You're only hurting yourself when you copy/paste lines of code en mass. I tried like hell to find a C# WinSock tutorial (or any multi-thread/connection api) and the only one I found that was even close to functioning like what I was going for, I couldn't even begin to edit. It was a complete project, pure source, no instructions nor was it commented. My poor little hamster wheel shit itself.

  11. #11
    Two ways to look at it:

    "Thats stealing!" If it's not copyrighted, then no, it's not.
    'They're Lazy!" Why reinvent the wheel? You got a perfectly functioning wheel just sitting right there. Use it.

    ALOT of code is the same to begin with. Is this an issue of someone copy/pasting the source code for windows and claiming original work? Or Someone copy/pasting simple tasks done by many many programs, and fitting it into their program, saving them the time it would take to manually enter it, when they would likely do it the same exact way (just with greater risk of error) if they did it manually? Is this an issue of beginners preferring to modify proven code to suit their needs (i.e., to return 20 results per page instead of 10?) because they're more confident in that working that doing it from scratch? I don't see people bitching everytime a mold is used to create something. It's the same thing here.

  12. #12
    Quote Originally Posted by Jonuts View Post
    Two ways to look at it:

    "Thats stealing!" If it's not copyrighted, then no, it's not.
    'They're Lazy!" Why reinvent the wheel? You got a perfectly functioning wheel just sitting right there. Use it.
    Actually the first one is wrong. Even if it's copyrighted it's not stealing.

    And before someone comes in and says it still is stealing, the law says it's not, your opinion can go hide in the corner.
    EVGA Classified SR-2 | Intel Xeon X5680 x 2 | Corsair Dominator DDR3-1600 6 x 2GB | XFX HD5970 x 2
    Intel PRO/1000 PT Server NIC | ASUS Xonar DX | Corsair AX1200 | Corsair TX750
    OCZ Vertex2 60GB | WD Velociraptor 300GB x 2 | Samsung Spinpoint MP4 500GB
    EK-FB SR2 - Acetal+Nickel | EK-Supreme HF - Acetal x 2 | EK-FC5970 Acetal x 2
    Thermochill TA120.4 x 3 | Thermochill TA120.3 | Swiftech MCP655 x 2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •