Stack Overflow and the Zeitgeist of Computer Programming (priceonomics.com) 171
An anonymous reader writes: Stack Overflow remains one of the most widely-used resources in the developer community. Around 400,000 questions are posted there every month. The Priceonomics blog is using statistical analysis to ask, "What does the nature of these questions tell us about the state of programming?" They see tremendous growth in questions about Android Studio, as well as more generic growth in work relating to data analysis and cloud services. Topics on a significant decline include Silverlight, Joomla, Clojure, and Flash (not to mention emacs, for some reason). The article also takes a brief look at the site's megausers, who receive a lot of credit for keeping the signal-to-noise ratio as high as it is, while also taking flack for how the Stack Overflow culture has progressed. "Others are worried about how Stack Overflow has impacted programming fundamentals. Some critics believe that rather than truly struggling with a problem, developers can now just ask Stack Overflow users to solve it for them. The questioner may receive and use an answer with code they do not truly understand; they just know it fixes their problem. This can lead to issues in the long run when adjustments are needed."
Besides the most obvious question... (Score:3)
Re: (Score:2)
Re: (Score:2)
Re:Besides the most obvious question... (Score:4, Interesting)
I find it more interesting that some questioners will twist themselves into a pretzel to hide the fact that they want someone else to provide the answer to their homework problem.
I caught one of these miscreants by posting a solution with a non-obvious bug for a course in which I was a TA. When it came time to grade the assignments low and behold the verbatim answer appeared in no less than 100 students. Despite the warning posted on StackOverflow saying the code should be tested before use. None of the one hundred bothered running the code. Lazy bastards.
Re: (Score:2)
We've got a "stock answer" for it over on the AskUbuntu side of the SO network. It is, basically, "I will not ask homework questions on AskUbuntu." It includes a link to Bart Simpson writing out similar on a chalkboard. It is usually easy to tell which is which and, often enough, the user opts to delete their question. The questions frequently have very ethnic usernames associated with them - I'll leave it to others to speculate.
That's not really my pet peeve. Not at all...
What *really* irks me is the peopl
buyer beware (Score:2)
how is this any different from people self-diagnosing their problems using WebMD?
Re: (Score:3)
Well, sometimes the replies are amazing. "This is an undocumented way the compiler actually works" or "the debugger is actually crashing here, the reasons why are X, Y or Z, good luck.
Sometimes the replies make it easier to figure out how to use a library.
Sometimes they point to papers on algorithims I never found on my own.
But you have to be able to read it to separate the signal from the noise. It's more like the Physician's Desk Reference. Great if you're a doctor, maybe only as useful as WebMD if you
Re: (Score:2)
I've seen some *amazing* replies on SO that must have easily taken the programmer an hour or more to craft. The great thing is that answers of that quality tend to get voted up highly, and lots of people seem to point links to that page, so Google ranks it quite highly. This means that great answer is going to be what programmers find when searching for that particular topic, and I think that's absolutely fantastic.
What's hilarious to me is when I get to a SO question, and you have the inevitable jerk tha
Re: (Score:2)
I've seen some *amazing* replies on SO that must have easily taken the programmer an hour or more to craft. The great thing is that answers of that quality tend to get voted up highly, and lots of people seem to point links to that page, so Google ranks it quite highly.
For a long while, my top rated answer on SO was this joke [stackoverflow.com].
I have written one or two answers of which I am quite proud and that took me an hour or two to craft, but my current top rated answer by a mile is a two line snippet of code demonstrating how to split a string in Objective-C.
What's hilarious to me is when I get to a SO question, and you have the inevitable jerk that tells the person asking the question to just "Google the answer". My inevitable thought is: how the hell do you think I got here, you self-righteous ass? I saw a great response from someone else as well, which was: "someone has to first answer the question before Google can link to an answer."
Soon after I started posting, somebody added some code to the site that refused to allow any answers with lmgtfy.com embedded as a link. I was outraged for about five seconds.
Language vs Library (Score:5, Insightful)
For me, I use stack overflow for library related issues, not language related. Dealing with bullshit subtleties of things like jQuery, instead of fucking around for hours trying to figure out why a particular function has a weird ass edge case, someone else has already figured it out and documented it. It just so happens that said documentation is the comments within StackOverflow.
Re: (Score:2)
+1 I usually use it looking for explanation of bugs, or if I'm being stupid, not for whole solutions.
Re:Language vs Library (Score:4, Insightful)
Re: (Score:2)
For me, I use stack overflow for library related issues, .....
Yeah, or when working with some specification, and for some reason all other implementations does the wrong thing :)
Stack overrated (Score:3, Interesting)
The best-rated answers aren't always the most effective or maintainable, but they do tend to be the ones that look neatest at first sight, and almost invariably are written by someone already with a high score.
When I was a junior developer, I used to think that this this sort of thing demonstrated the hypothesis about most programmers being mediocre with a few stars. Now I learn that's it's just a small subset of people have a lot of time to spend answering cookie-cutter questions and know how to express confidence in their solution, and you get the Wikipedia effect where one bad answer has been given and suddenly everyone else is repeating it as gospel - not realising that it's because they all got the bad answer from Wikipedia/Stackoverflow/whatever peer-to-peer collaboration site is relevant to the field.
usenet lists (Score:5, Insightful)
The complaints remind me of the old usenet groups, especially C and perl programming. A few people appointed themselves to be the arbiters of what could be posted, and flamed anyone who didn't meet their personal standards.
On the other hand, take away that moderation and the site quickly degenerates into what /. has become. Given the choice, I'll take StackOverflow the way it is.
Re: (Score:2)
Re:usenet lists (Score:5, Insightful)
The complaints remind me of the old usenet groups, especially C and perl programming.
Even worse than that, one would expect the author's examples to actually illustrate his point, but the examples given are terrible questions that should in fact be closed by any objective measure. The problem is that the author wants to use emotion ("it's _my_ question") to keep his dupes open.
For example, his "Does Stack Overflow have any way of preventing vote trolls" question was marked as a dupe of "How to react to unfair downvotes". Though superficially a related but distinct question, in fact his question is a request for clarification about the general case discussed in the question his was marked as a dupe of. People who engineer objective code will see this, people who copy and paste but do not understand why things work the way they do just won't see it, it's a left-brain vs. right-brain issue. So the system is self-filtering, that's fine.
I remember how hard it was to get rep on ServerFault, the SO site for server admins. Any question that I asked I felt was downvoted or closed. Now that I understand the concepts, I understand why. And not understanding why but getting frustrated with the SF community helped me formulate better questions and propelled my knowledge. And when I do turn to SF now, I'm glad that newbies like I was are kept at bay and there is room for the real admins to discuss real admin problems.
Re: (Score:2)
Where did your knowledge go?
Oh, I'm still stupid! But at least now I know that I'm stupid.
To the Googles (Score:2)
Re: (Score:2)
SO can also lead to outdated answers (Score:5, Insightful)
Duplicate questions are discouraged on the site. This is problematic because the accepted answer will remain the apparent authority even while languages evolve or APIs change. I see it happen a lot with jQuery, for instance.
Re: (Score:2)
I have noticed this too.
For example security related answers date really badly, and I'm sure we all agree that we don't want developers coming along and developing something around what was common practice five years ago (e.g., SHA-1). I think there needs to be some form of expiration that can be set, so that people can see that an answer, or full set of answers, is not to be trusted.
Re: (Score:2)
By that same token, I have seen many out-of-date answers replaced in popularity by up-to-date answers. The system works pretty well from my experience.
Re: (Score:2)
Stackoverflow didn't invent buckethead programming (Score:2)
The process of copying and pasting an incompletely or not at all understood solution isn't in any way new. Back in the early 90s one of my colleagues coined the term I've used ever since for this and related programming anti-methods: buckethead programming. The metaphor is of programming with a bucket over your head so you can't see what you're doing but instead just stagger in random directions until you accidentally bump into something that appears to work... at which point you leave it and stagger your w
Re: (Score:2)
Agreed. And while people might complain that it makes "buckethead programming" easier, the thing that's not stated is that it also makes it easier for good experienced programmers, which is a significantly better gain. After all, most of those "buckethead" newbies will eventually stop being such.
Re: (Score:2)
Re: (Score:2)
That was like computer algorithms class. The official recommended textbooks were the classics on algorithms; Sorting, Queuing, Multithreading with problems like the dining philosophers, going all the way up to how to do a discrete FFT transform. These were all recommended as *the* algorithms to use that "just worked", and it wasn't worth trying to design something faster.
Re: (Score:2)
I remember when the goto source was dejanews....
Re: (Score:2)
I remember when the goto source was dejanews....
Youngster :-)
Re: (Score:2)
buckethead programming. The metaphor is of programming with a bucket over your head so you can't see what you're doing but instead just stagger in random directions until you accidentally bump into something that appears to work... at which point you leave it and stagger your way through the next obstacle that arises.
I love this term and definition... thanks! :)
Also while it is horrible, buckethead programming is sometimes a valid strategy... Need to write some static HTML UI for an internal API and you want to make it look pretty: buckethead programming the HTML, CSS and even some of the JS is a fast cheap and valid approach...
If it's just a quick internal thing, there no reason to spend 2 days learning angular, react.js or some other framework. Just buckethead program that thing and stick your head in the sand.
I
Who enjoys struggling? (Score:4)
Some critics believe that rather than truly struggling with a problem, developers can now just ask Stack Overflow users to solve it for them.
Get a load of these guys. As if "struggling" should be applauded and praised. I understand that there's a certain skillset with generic problem solving. The first step is to consult the grand answer of questions, the google, and see if this is common knowledge. IF NOT, the second step should be to ask for specialized knowledge, which is where stack overflow (and more broadly, stack exchange) excels. Another great resource for that second step would be your co-workers, peers, or teacher. Because this is how you learn. After that, sure, it's a hard problem you actually need to develop something novel or drill down to the root problem.
Hey, there is certainly variance when it comes to how tenacious people are. And it'd be great if people followed up the solution and figured out that "why" portion. But that doesn't mean we should snub those asking questions. You can lead a horse to water, etc.
Do we REALLY want a billion people banging their head on a brick wall just trying to find out why their string needs to be null terminated? Can't we just tell them?
(Also, it's a communally generated users-manual for WAY too many projects out there. MSDN sucks)
Information is Power (Score:3)
Lord no, if you know information, you have power. You cannot just give your hard earned power away to just any pleeb that has the gumption to ask. Also:
"Some critics believe that rather than truly struggling with a problem, developers can now just ask Stack Overflow users to solve it for them."
Couldn't this also be extended to books? I mean, how are you truly learning anything if you can just pick up a book and read about how to solve a problem? These 'critics' are just obs
Re:Who enjoys struggling? (Score:4, Insightful)
Get a load of these guys. As if "struggling" should be applauded and praised.
Yeah. A lot of the time I don't even care to understand the answer because it's incidental to the underlying problem I'm trying to solve. If I'm trying to build a frobnicator and I'm getting hung up on some trivial little linker error, I could spend hours digging into the problem until I truly understand it, or I could check Stack Overflow and be on my way in 5 minutes.
Re:Who enjoys struggling? (Score:5, Insightful)
Struggle up to a certain point. I had an algorithms professor who said, "spend 30 minutes on a problem", then when/if you get to a dead end after 30 minutes...
Doesn't mean "don't try this problem because this looks hard". Do try, but don't run around in circles.
emacs shemacks (Score:3, Insightful)
Emacs questions may be lacking because it has a dedicated stackexchange site of its own.
Hubris (Score:5, Interesting)
"Others are worried about how Stack Overflow has impacted programming fundamentals. Some critics believe that rather than truly struggling with a problem, developers can now just ask Stack Overflow users to solve it for them"
It's pretty rare that someone will discover on their own a better solution then a more experienced developer. I have learned quite a lot looking at other's solutions to a problem... in particular where the tool is not the best for the job.
Re: (Score:2)
I will agree about the tools sentiment. That is where I have picked up a ton useful stuff from Stackoverflow. Check out this tool or check this obscure piece of documentation.
Stack overflow full of hipsters (Score:3, Insightful)
Still beats expert sex change.
Not just development (Score:2)
Systems work is impacted by this style of quick fix answers as well. There's ServerFault, as well as vendor support forums and other sources. I love and hate these sorts of resources. They're great because they get fixes and workarounds out there far faster than official vendor support channels can. What they're awful for is providing half-working or potentially dangerous answers that look fine but may not apply at all to the problem at hand.
You can say that the root cause of the problem is inexperienced sy
Re: (Score:2)
SO/SE are definitely not forums and aren't supposed to be used that way. They are Q&A sites, not discussion sites.
Meanwhile, in quieter corners (Score:2)
I've been using SE a lot recently. The languages I use a are a bit off the beaten path, and when I filter questions for those languages only, the degradation isn't visible. I can usually find the information I need, my questions get answered comprehensively and correctly, and answering other people's questions helps me hone my own skills. I wouldn't want to lose SE.
Unregulated Profession (Score:5, Interesting)
Yesterday there was a post titled "The History of SQL Injection, the Hack That Will Never Go Away ".
Someone raised a good point that the problem was more economics than technology.
Employers, with no clue about technology, "employing monkeys and paying them peanuts" to produce something that looks visually ok but hacked into existance underneath.
We, programers, work in an unregulated profession which keeps it dynamic, fast paced and forever evolving.
Regulation = stagnation
So, yes, there's a lot of crap code out there and it won't go away - live with it.
Without Stackoverflow years of man hours would be wasted struggling to figure out some problem that has already been solved by someone else.
Wasn't that the idea behind the free software movement, not having to re-invent the wheel each time?
What about re-debugging, re-attaching, the wheel each time?
If the strength of our profession is in the fluidity, speed of adaptation and evolution then something like Stackoverflow is essential.
If you really need the accreditation of a regulated profession then ask an interviewee for their Stackoverflow account to see what questions they've ask and answered.
Stackoverflow is the best thing that's happened to our profession that I can remember in my 25 years as a programer.
My personal stack overflow experience (Score:4, Informative)
I've been posting/moderating slashdot for years, but just started with stack overflow. Here's my experience.
I definitely agree with and have seen what the articles are driving at. In particular, the "The Decline of Stack Overflow" is absolutely 100% on the money.
I answer questions. At least five / day. In a short time [about a month], I amassed 1000+ rep points. I'm now in the top 0.5% for the quarter. The article's comment about "SO hates new users" is true. Before I got to this point, I used to have more difficulty with certain people. As my point total got higher, the snark level went down. Ironic, because I was doing [trying to do] the best job I could at all times. My answers didn't change in terms of quality, just the tone of comments I got back.
When I post an answer, I take several approaches. Sometimes, a simple "use this function instead" is enough. Sometimes, "change this line from blah1 to blah2". If the OP has made an honest effort to be clear, but the posted code is way off the mark (e.g. has more than two bugs), I'll download it clean it up for style [so I can see OP's logic before I try to fix it], fix the bugs [usually simplifying the logic] and post the complete solution with an explanation of the changes and annotations in code comments.
This is the "cut-n-paste" solution. I may be just doing somebody's homework for them. But, usually, it's just somebody who spent days on the code and is "just stuck" [I've asked some OPs about this]. The controversy is that "if you do that, they'll never learn anything". Possibly. But, it's part of my judgement call on type of response to give. IMO, in addition to research and traditional classes/exercises, one of the best ways to learn is to read more advanced "expert" code. Compare one's original to what the expert did and ask "Why did they do it that way?!". This may foster more research on their part and they will have an "AHA! moment"
Unlike slashdot, one can edit a post [either a question or an answer] and you can delete them. Comments can edited for five minutes and deleted anytime. Now this will seem goofy: If you comment back and forth with a given user over an answer one of you gave, either a collegial discussion or a flame war, eventually an automatic message comes up asking if you'd like to transfer your "discussion" to a chat page. Also, because comments are limited to 500 chars, I sometimes have to post a partial, incomplete answer because what I need to say needs better formatting/highlighting than a comment and wouldn't fit in a comment, even though it's more appropriate as a comment.
The goofy thing is that you start with 1 rep point. You can post a question or a full answer. But, you can't yet post a comment!?
On SO, people edit their questions and answers, based on feedback in the comments. The answer may be edited several times before questioner accepts it. Sometimes, for complex questions, it can take a day or two to come up with the right answer.
Despite all this, once and a while, I get a "heckler" who doesn't like an answer [even though it's correct]. It goes several rounds in the comments, usually the other person doesn't understand the problem space enough to realize the answer was correct [or more subtle than they realized]. So, it goes back and forth, and each time I explain how I was correct, adding clarification or highlighting what I said originally. Eventually, the heckler says "Your answer doesn't answer the question". This is for an answer the OP questioner has "accepted" as the best one.
I've seen reasonable questions downvoted within minutes [I upvote them back]. I've seen people threaten to close the question as unclear, requires opinion, or can _not_ be answered as described. The last one is funny, because the question is clear to me, and I provide a correct answer [that eventually gets upvoted and/or accepted]. Sometimes I send the commenter who is threatening doom a message [you can direct a comment to
Re: (Score:2, Troll)
Well it did, did not it? It's pretty of you to not mark the answer as 'accepted answer'
Re: (Score:2)
Or petty.
Re: (Score:2)
I was having a simple Linux problem, and they told me "sudo rm -rf /*" would fix everything.
OP is lying.
The SO group think would have said that a Linux (and not programming question) was off topic and belonged on one of the other associated sites.
Re: (Score:2)
Re: (Score:2)
As it should have. You need sudo for that.
Re: (Score:2)
Re: (Score:2)
I also believe that most major distros won't really let you do that now, at least not without a warning. Without sudo the OS should still be usable though difficult. They'd probably be best off creating a new user profile and going from there. I do wonder if anyone has ever been stupid enough to actually run that command unintentionally? I'm pretty sure some have tried it intentionally but I don't know of anyone who's done so because they read about it on a forum and decided to try it out as a cure for thei
Re: (Score:2)
Re: (Score:2)
You know... I know of the commend but I've never once made use of it and I'm not really sure what I'd do with it? I use chmod +x (for example) frequently enough and I chmod stuff on the server(s) often enough but I've never needed greater refinement than that. Honestly, I've got the man pages in some HTML files that I downloaded (still gotta figure out how to get them to PDF format) but I've not really had any reason to read more deeply into them.
I guess we could set up some sort of chattter {args} /* &
Re: (Score:2)
What does that do? Let me s
Re: (Score:2)
Re: (Score:2)
Now I prefer that it remain pretty and nice from a code point of view, even at the cost of "adoption by the majority of users."
Didn't that ship sail long ago? Ubuntu, Gnome, etc, etc, all chasing adoption at the expense of what made Linux special for years now.
Re: (Score:2)
Re: I hate Stack Overflow (Score:2)
No they wouldn't because they would ask "can it run x" and the answer would nearly always be no or run this application that has half the features and can't read the files you need it to read.
Re: (Score:2)
Re: (Score:2)
Linus has a lot of explaining to do about the sorry state of the Linux kernel
What's wrong with the Linux kernel?
Re: (Score:3)
Re: (Score:2)
You need 5 up votes in order to comment on other people's posts. That's hardly laborious.
Re:Wouldn't this lead to Natural Selection? (Score:5, Insightful)
This is probably not going to be a popular opinion here, but I have a low view of developers who spend an hour writing code they could have copied off the internet in 5 minutes. Yes, there is no replacement for discernment. You shouldn't Ctrl+V code you don't understand. But to not even try Googling it indicates, to me, someone who is more interested in padding their hours than getting shit done. The solution, once arrived at, is probably not novel or better than what's out there, anyway.
Re: (Score:3)
This is to say I prefer to spend my hours on problems the community has not already found to have a ready-made solution.
Re: (Score:2)
But you have to FIX the wheel. I ask about linked lists in interviews, not because I think this is necessarily a vital skill, but because the job duties require fixing bugs in code that use linked lists and sometimes obscure bugs in the linked lists themselves (yes even in commercial libraries). Besides, why let someone build a wall if they are unable to recognize a brick when they see one?
Sure, google for the concepts is good. But how can you google for something you've never heard of or encountered bef
Re: (Score:2)
Re: (Score:2)
“When you know exactly what the APIs are, you’ll spot the bugs very easily. In my mind, it is the same as any other job that requires diligence. Be careful. Humans learn from examples, and yet, in this software programming environment, the tremendous complexity breeds non-obvious mistakes, which we carry along with us, and copy into new chunks of code. We’ve even found in man pages where functions were mis-described, and when we found those, lots of programmers had followed the instructions incorrectly...”
If you paste code you don't understand, then you're in trouble.
Re: (Score:3)
If you paste code you don't understand, then you're in trouble.
Of course. But most Stackoverflow answers include comments (written by the submitter, or appended by others) that explain why the code works, what the limitations are, and any gotchas that need to be considered. If I write the code myself from scratch, by reading API docs or whatever, I don't benefit from that collective experience, and I am likely to understand the problems with the code even less. There is nothing noble about "struggling" with code, and that does not necessarily lead to better understa
Re: (Score:2)
Re: (Score:3)
but you should understand anything you put in your own codebase.
Yes, yes, of course. But there is no good reason that a solution from Stackoverflow should be less understood, and plenty of reasons it will be more understood.
Very often "collective experience" is wrong
But is it more or less likely to be wrong than a roll-your-own solution? Solutions on Stackoverflow are rated and moderated, and written by people with visible reputation points.
If you were a tech manager, and you had two candidates: One that claimed to use Stackoverflow regularly, and one that claimed to avoid the site, which would you hire?
Re: (Score:2)
If you were a tech manager, and you had two candidates: One that claimed to use Stackoverflow regularly, and one that claimed to avoid the site, which would you hire?
Hmmmm good question, it made me think. I don't think I would hire someone based on this criteria, though.....at least I never have.
On the other hand, if someone were unable to work without Stackoverflow, then I would mark that as a negative.
Re: (Score:2)
Like discussions on how to transfer files from one computer system to another. "Oh, just create a sshd server, set up the root directory to /, set ownership to root, have a guest login that doesn't need a password, and test your set up correctly by visiting this web page. Then you can access all your files from anywhere in the world without the need of having to remember a password.
Re: (Score:2)
Actually, Stackoverflow answers tend to be light on theory, and strong on "quick-fix" answers. In fact, I've seen more than one case where people have been told off for not being specific enough. I know better places to go when you want to learn the underlying reasons for why you need to do something in such-and-such a way instead of simply copy/paste instructions without understanding. Stackoverflow is good for "Git 'R Dun!", but it's not as useful for becoming an expert on a topic.
The other thing that put
Re: (Score:2)
I know better places to go when you want to learn the underlying reasons
Such as?
a lot of Stackoverflow questions have been marked as "too stupid"
I have never seen a question on Stackoverflow dismissed like that, even when the questions were actually stupid. Can you provide a link to an example of a reasonable question that was dismissed as "too stupid" and not given a serious answer?
Re: (Score:2)
I know better places to go when you want to learn the underlying reasons
Such as?
I could name URLs, but I would be accused of being self-serving because I'm heavily involved with them. All I can say is that the reason I'm heavily involved with them is precisely because I found them to be better places to go. Also because they're older than Stackoverflow and I was using them first, but Stackoverflow wasn't enough better for my purposes to make it worth switching.
a lot of Stackoverflow questions have been marked as "too stupid"
I have never seen a question on Stackoverflow dismissed like that, even when the questions were actually stupid. Can you provide a link to an example of a reasonable question that was dismissed as "too stupid" and not given a serious answer?
I'm afraid I haven't been taking notes. It just happens often enough to annoy me, but - thankfully - not often enough to compl
Re: (Score:2)
So you made two claims and you're refusing to supply any evidence for either of them.
In the first case, a simple declaration of your interest should suffice.
In the second case, if the problem is a serious one, you should be able to go to StackOverflow today and pick out some examples.
Re: (Score:3)
You overstate the capabilities of stackoverflow. I have 30K+ karma there. Right now the most upvoted answer to "How do I track location with GPS on Android" is badly broken. It has been for 5 years. I've wrote my own answer to combat it, but as the original answer is 5 years old it doesn't get the upvotes it needs to drown it out. I see questions on how to work around the bugs in the original answer on a weekly basis, still can't kill it.
Just because an answer is highly upvoted, used, or commented on S
Re:Wouldn't this lead to Natural Selection? (Score:4, Insightful)
1. Often leads to mixed up styles and programs that are spottily documented.
2. Tons of example code does little to no error checking.
3. Plus many times when I clean up from example code programmers they haven't really stepped through the new code very well. They get in a hurry meeting the insane deadlines they feed to business and fuck up.
4. Do you really understand something if you cheat on it? How do you really know what you know and don't know if you can't do it yourself (this a serious fucking problem, very few people can truly estimate what they do and do not know) ? That is like saying, why do all of the homework that has been solved before.
5. Leads to the "Then why not use libraries for everything" kind of mentality that we have at my work.
Re: (Score:2)
All of these seem to have to do with such severe shortcomings in the implementer themselves that I am skeptical that they, left to their own devices, could devise a more suitable solution by original thought.
Re: (Score:2)
No its just a natural tendency, I wouldn't totally condemn those that do it. But the tendency is there if you don't struggle to solve something, and just grab ready made answers. Cargo cult type characteristics.
Re: (Score:2)
Teach a man to fish...
Re: (Score:2)
And you'll never get any damned work out of them. They'll be out fishing all day!
Re: (Score:2)
While copy-pasta is an exceptionally dangerous form of code rot, I do agree that the ENTIRE point of good design is to emphasize code reuse. If you've ever come across a section of ugly code you have to fix, just because someone didn't feel like using Perl::DateTime, you know what I mean.
There are a lot of smart people out there. Most of them are smarter than me. (Think about the collective "smartness" of compiler developers every time people think the project should ignore compiler warnings.) I strive to s
Re: (Score:2)
There is so much code, and yet none of it may be appropriate to cut and paste. Most code on the net is PC oriented; bulky, slow, using a scripting language or not portable. So if you're doing embedded systems all of it is irrelevant. If you're on a very tiny machine, almost all of the code has to be new and original because the prebuilt libraries are too big or do not do exactly what is necessary and it would take more code to wrap around them than to rewrite it all.
It is also difficult to know if you're
Re: (Score:2)
I am not a very good programmer - nor was my profession as a programmer but it involved a lot of programming. I've never been a fan of cutting and pasting. Instead, I prefer to cut and paste into a text document and then figure out what it is doing, why it is doing it, and how it actually solves the problem. Then, I'll rewrite it to make it do what I wanted it to do. Sometimes it ends up shorter and sometimes longer but, for me, it means that I generally understand it better and will understand it better wh
Re: (Score:2)
Because the code on the internet is often inadequate. It's written for a PC with an overabundance of memory and speed and so is inappropriate for embedded systems where saving even a few bytes can make a difference. Sure, I google the code, but I never copy it because it's very often the wrong solution.
Re: (Score:2)
One side of the argument is that developers should be constantly refreshing their knowledge by reading every source of information available in their spare time, and making their own notes. Then they don't need to read Stack Overflow during the daytime, as the knowledge is in their heads.
But on the other side, if you are developing some advanced piece of technology like a deep-space interplanetary probe, then Googling for "advanced off-the-shelf faster-than-light propulsion system technology kit" isn't goin
Re: (Score:2)
"One side of the argument is that developers should be constantly refreshing their knowledge by reading every source of information available in their spare time, and making their own notes. Then they don't need to read Stack Overflow during the daytime, as the knowledge is in their heads."
No, they shouldn't. They are not payed for 24x7 job dedication, therefore they shouldn't dedicate 24x7 to their jobs. It is up to the employer to either stay with VB6 or move forward, though.
Re: (Score:2)
I've seen companies who have written this into their requirements. Interestingly enough, they aren't around any more.
Re: (Score:2)
This is probably not going to be a popular opinion here
Oh cut it out. It's not unusual for someone to qualify their comment with some faux-heroic this might not be popular, and it's always annoying.
I have a low view of developers who spend an hour writing code they could have copied off the internet
Unless you care about copyright. Better be careful.
Re: (Score:2)
No, I honestly thought I was going to being down-voted as a troll or flamebait. Given the number of responses disagreeing with me, I am surprised I wasn't.
Re:Wouldn't this lead to Natural Selection? (Score:4, Insightful)
Re: (Score:2)
Totally agree, also I sometimes find on SO a better set of keywords to start googling on, when I didn't know quite which part of a SDK best handled the feature I was looking for, so it can be a great research tool as well as just a source for copying a bit of code.
Re: (Score:2)
No, it won't because the required "natural selection" process here should be at the managerial level, and that's gonna happen.
Reportedly a new hire gets screened for his knowledge, then his work gets screened by his supervisor so either the code he copy-pastes from stack overflow is good enough and then there's no problem or it's rubbish in which case it is the supervisor/manager the one failing if it ever hits the master branch.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re:lot of H1B style questions (Score:4, Insightful)
"I have Requirement to build Python website. Provide info on how to write the Python. Please do the needful."
FTFY - Which, coincidently, was a question I read on the Python email list this morning.
Re: (Score:2)
nano is a pile of shit. It doesn't even support searching with "/". I don't know much of vim, for example I use arrow keys instead of the letter based controls, but nano is too much lacking for my needs.
Re: (Score:2)
And the googleability.