 |
| Intro Programming What is a loop? Which language is best for beginners? What is "object oreinted?" All those types of questions and more are welcome here. |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the Intro Programming section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
|
|
|

February 16th, 2007, 11:33 PM
|
|
Wrox Author
|
|
Join Date: Oct 2005
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
|
|
Is the Internet making programmers lazy?
First, these are my views and thoughts so if you disagree with any of what follows that is fine as I am always up for a good discussion but flames will be ignored accordingly.
So, onto this whole post thing. Now as most of you can summerize, I have no problem helping people here as I do it on a very frequent basis and, Im sure, all of us at one point were in the shoes of the people that are posting questions; its good karma to give back to the community and help other programmers along, right?
Well, yes, I agree that helping other programmers overcome their trials and tribulations is good karam but at what point does it stop becoming friendly advice and morph into downright doing someones work for them??
I was faced with this very secnario today when I had gone to some length to help an individual with a problem they were having and as the thread began to expand I could tell that this individual was obviously a beginner. I adjusted my posts accordingly and began to explain some things in depth and soon enough the original problem was solved. I assumed case closed and went about my day.
The long and the short of it is that the post continued on and morphed from a problem with code to the OP simply pasting Interpeter error messages and asking for someone to debug the code. That is were I stopped giving advice and told them that they would have to start figuring out things for their own. Why? Because I remember being this person when I didn't have a clue what the heck the interpeter was talking about but I pushed through, resolved the problem, and then understood what the error message was, what it meant, and what caused it. It's things like this that make one a better programmer: problem solving and perseverance.
So, back to the question at hand: is the Internet making up and coming programmers, or just programmers in general, lazy?? I understand that the Internet is a great resource and it would be a bull faced lie if I said I didn't use Google at least once a day for programming related problems/research. But, as with most things in life, moderation is key.
So, with that in mind, has the advent of sites like the Code Project and forums such as these made books near obsolete or, rather, has it made the necessity for a programmer to understand what is truly going on in their code obsolete when they can jump on Google or a forum and get a quick answer while never needing to fully understand the whys or hows?
Has the sense of accomplishment that one feels when they get a problematic piece of code to work, without outside intervention, been replaced with the shear notion that one must just "get the job done" and henceforth post their problem to a forum or go and find a code snippet somewhere so they can get on with the task at hand?
Has the desire to know what a "Subscript out of Range" error is and what caused it been replaced with a dosile approach to the situaion and programmers now not giving a damn to look for the answer but rather to just have someone tell them??
To quote another forum member, Woodyz, "Experience is what makes you an expert" and that is the whole-hearted truth when it comes to programming. Programming is, after all, about problem solving and our ability to effectively and resourcefully solve the problem at hand is what ultimately makes us experts in the end.
/rant
Thoughts?
================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
================================================== =========
Technical Editor for: Professional Search Engine Optimization with ASP.NET
http://www.wiley.com/WileyCDA/WileyT...470131470.html
__________________
===============================================
Doug Parsons
Wrox online library: Wrox Books 24 x 7
Did someone here help you? Click  on their post!
"Easy is the path to wisdom for those not blinded by themselves."
===============================================
|

February 17th, 2007, 12:15 AM
|
|
Friend of Wrox
|
|
Join Date: May 2006
Posts: 643
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
My main motivation for posting answers has always been to force myself to improve my ability to comminucate. I like helping others for the selfish reason that it improves my abilities.
When I find I am answering someone who just wants someone to debug their code, I switch to trying to lead them into learning how to debug logically.
The book Practices of an Agile Developer (by Venkat Subramaniam and Andy Hunt) has a good practice about this. It is their Practice 42: Allow People to Figure it Out. Which in essence, as you will have guessed, is to point them in the right direction.
Still, it's always a lot of fun to see someone post an error message that is pretty clear and ask "what is going on?". But I remember a long time back when I was learning and had trouble making sense of error messages (which can sometimes be very cryptic) and a senior engineer I was working with helped me understand how to read and use the error message, so I can be a little sympathetic.
However... I don't think any real developers are getting lazy because of the internet. There is so much we have to be able to do to be effective that we need to take advantage of any opportunity to find answers and info when we need it. The beginners who catch on don't ask the "dumb" questions for very long, and the rest just fade away (most of them, anyway).
I don't think books are going to disappear soon. I could be wrong. But a good technical author who knows how to explain things succinctly and clearly brings a lot of value to the reader. When I find one I really appreciate him or her. Guys like Rober Martin, Martin Fowler, Dave Thomas and Andy Hunt, the Poppendiecks, Alan Shalloway and James Trott, and so on gather all the info, boil it down, clean it up, ruminate on it, and present it in a way that makes it easy for me to absorb it quickly. That is worth a lot to me.
The folks I work with are all pretty sharp, and all pretty capable. A couple of them are geniuses, and the rest know how to operate pretty close to genius level. I turn to them all the time for help. They always help to the best of their abilities and I am thankful for that. Even better, we exchange ideas and thoughts on very complex things providing a sort of collective genius that usually brings quick results. The internet is just another way to do this sort of sharing.
Another thing is that learning to pose a question in writing so that someone else can actually understand it is no easy thing. Most of the beginners at these forums have a heck of a time trying to gather their thoughts enough to even make a meaningful sentence. They don't know the terminology (which of course, I barely do either) or the concepts - so they are at a big handicap. It is just part of the process - as they learn to ask better, they learn to think better. As they learn to form the question, the thinking that goes on sometimes leads them to the answer so they don't even end up having to ask in the end.
Those ridiculous posts where someone shows 200 lines of code is the starting point for someone who has a lot to learn about asking for help. I am thinking of writing a condensed version of the "smart-questions" faq you have a link to in your signature. Maybe we need a nice little "how to debug without stepping through code" tutorial. Perhaps there is one somewhere on the internet...
Woody Z
http://www.learntoprogramnow.com
|

February 17th, 2007, 01:22 PM
|
|
Friend of Wrox
|
|
Join Date: Jun 2003
Posts: 453
Thanks: 0
Thanked 1 Time in 1 Post
|
|
Doug, you've done a marvelous job by broaching such a topic on this forum. I can think of so many other such topics related to IT that I think should to be discussed and what better place than p2p to do that.
I would like to drop two quick thoughts here.
First is, I think Woody is right in whatever he said. Most people get help from people at work or from their acquaintances that are better informed than them on the given subject. People who are not lucky enough to have enough such willing experts around them turn to forums like this. How far they take it depends on the individuals.
If a person is bent on being lazy and is working really hard to get into the habit of playing it easy he certainly has many options other than and including internet. I cant help at this moment but think of that co-worker character in a Dilbert comic strip, who had this suction cup shaped mouth. He would grip himself on a co-worker's back who would then have to lug him around. You come across such characters at work all the time, don't you?
For these people, 'sense of accomplishment' is a phrase to be looked in a dictionary. But they don't look it up, you know why? Because they are too lazy!! :-)
Okay, coming back to the point, being lazy, I think, has more to do with your way of thinking than the availability of resources like internet or experts around you.
Second is that, IT industry is full of anomalies. No technology, and by that I mean - 'none literally', is perfect. With fewer topics and technologies in early days, there was a lot of time and attention each of them got for producing experts and freshers. Today starters are at a bit of a disadvantage as whatever they pick for learning more often thatn not begins to fade out by the time they get out of their academies. In such a scenario you are going to see a constant rise in this tendency of looking for help on internet. Forums such as this are better equipped to serve today because you just can't find expertise of such assorted type in one place or in your acquaintances.
I'll leave now, do continue this discussion and if possible bring more such topics to this forum.
Regards
Ankur
|

February 17th, 2007, 01:37 PM
|
|
Friend of Wrox
|
|
Join Date: May 2006
Posts: 643
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
I have started a little article about "How to use a forum to help solve problems". I have seen a lot of these on the various forums and newsgroups over the years, but typically the beginners don't have a lot of experience with this concept and might not know that guidelines of this sort exist.
On another forum where I post there is a link to a "how to post" article as a sticky post at the top of each forum, and yet there are still countless posters that don't seem to understand how to best use the forum. Overall, this problem will never go away - that is just the nature of the beast.
Here is a link to the article - right now it is just the outline:
http://www.learntoprogramnow.com/article.asp?id=33&g=1
If you get a chance to read it, please let me know if there are any glaring omissions.
My intention is to have a brief "outline" at the top that is just enough info to be of use in case that is are far as they read (or as far as their attention span will take them). Then, I'll flesh out each outline item with a full explanation below.
Woody Z
http://www.learntoprogramnow.com
|

February 17th, 2007, 04:26 PM
|
|
Wrox Author
|
|
Join Date: Oct 2005
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
|
|
The article looks good Woody and there aren't any glaring omissions that jump out at me.
You do make a very good point though Woody and I agree completely that there is some selfishness involved in posting on a forum, if it is only to the extent that it keeps your skills sharp in areas that possibly would be overlooked otherwise for whatever reason.
Honestly, about 20% of the time when I am responding to someones post I have a general idea as to how to solve the problem but normally find myself researching the problem to give the OP an accurate response and, I guess, that is the ironic part. What I net from a very rudimentary google search to construct my reply could of just as easily been obtained by the OP had they taken the time to look.
Ankur does provide a very good point though, people that are starting to get into the world of programming are at a serious disadvantage because technology is moving so fast. (.NET 2.0 became a final release 4Q of last year and .NET 3.0 is already in the works) The only way to be truly on the bleeding edge of things like this is to be working for Microsoft (or whom ever) developing the technology along with them.
Will this problem go away, no, I am pretty sure that it is, as woody said, the nature of the beast and it comes with the territory. However, I do think that Universities should be putting a greater emphasis on the methodologies involved in the debugging process, how to think in a more abstract manner etc as I think failing to do so puts potential programmers at an extreme disadvantage.
Case in point, I have a very bright intern working with me right now and left to his own ends does a phenomenal job at pushing out code but, given a piece of problematic code ,he is utterly lost as to what should be done or how to solve the problem.
To sum this all up: "If you are going through hell, keep on going." -Churchill.
================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
================================================== =========
Technical Editor for: Professional Search Engine Optimization with ASP.NET
http://www.wiley.com/WileyCDA/WileyT...470131470.html
Discussion:
http://p2p.wrox.com/topic.asp?TOPIC_ID=56429
|

February 17th, 2007, 05:20 PM
|
|
Friend of Wrox
|
|
Join Date: May 2006
Posts: 643
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
You make some good points.
I do the same thing when phrasing a response - if I don't remember all the details, I do a quick search. I get the benefit of refreshing myself on the details of something I conceptually know how to do.
Which leads me to the next point: One way to deal with the quickly changing technology is to always keep up with the conceptual level of things, but don't try to keep up with the implementation level of things except for when you actually need to code something. In other words, we really only have to know a great deal about the of the general things to be able to do our jobs, and be able to find out how to do the impementation only when we need it.
The implementation details are changing faster that the conceptual stuff and there are huge heaps of it - we just can't "know it all" - but we only need to know what we need today, so to speak. For example, the basic idea of Web Services (and SOAP) has been around a long time. The concept is changing much slower than how you code for it. The idea of a "stateless remote procedure call" is pretty much the same today as it was 5 years ago. How we go about doing it in code has changed a lot. So, knowing that Web Services exist, and what problems they solve allows us to decide to use them when it is appropriate. Once we have decided to use it, we track down the latest details for the environment we are working in. Keeps me sane... or at least less insane.
As far as the universities go - there just isn't enough time in 4 years to teach someone what they need to learn to be a good programmer. It is on the job after graduation that someone who has been introduced to programming will become a programmer.
Woody Z
http://www.learntoprogramnow.com
How to use a forum to help solve problems
|

February 28th, 2007, 08:08 AM
|
|
Friend of Wrox
|
|
Join Date: Dec 2003
Posts: 488
Thanks: 0
Thanked 3 Times in 3 Posts
|
|
As a perl geek I feel duty bound to point out that along with hubris and impatience, laziness is one of the virtues of a programmer http://www.netropolis.org/hash/perl/virtue.html . Though perhaps not in the sense you mean it!
I do agree that the easy availabiltiy of cut & paste lumps of code on the Internet, along with RAD tools has changed the way that many people code. And I think its a shame for those people who don't dig a little deeper and actually understand what they're writing. I find unpicking code absolutely fascinating. OTOH I'm pretty sure there are others out there who will learn to do this. And the tools available make this loads easier than when I was learning BASIC on my ZX81 back in the day -- from forums to decent books, tutorials, irc and so on. So I do hold out some hope that people will learn to program, maybe just fewer than "when I were a lad".
Cheers
Charlie
--
Charlie Harvey's website - linux, perl, java, anarchism and punk rock: http://charlieharvey.org.uk
|

February 28th, 2007, 09:51 AM
|
|
Wrox Author
|
|
Join Date: Oct 2005
Posts: 4,104
Thanks: 1
Thanked 64 Times in 64 Posts
|
|
I must say that that website gave me quite a chuckle and, when used in that context, I agree with all 3 of the bullet points.
Nice personal site as well.
"There is no place like 127.0.0.1, there is no place like 127.0.0.1, there is no place like 127.0.0.1" ;]
================================================== =========
Read this if you want to know how to get a correct reply for your question:
http://www.catb.org/~esr/faqs/smart-questions.html
^^Took that from planoie's profile^^
^^Modified text taken from gbianchi profile^^
================================================== =========
Technical Editor for: Professional Search Engine Optimization with ASP.NET
http://www.wiley.com/WileyCDA/WileyT...470131470.html
================================================== =========
Why can't Programmers, program??
http://www.codinghorror.com/blog/archives/000781.html
================================================== =========
|

March 1st, 2007, 11:18 AM
|
|
Friend of Wrox
|
|
Join Date: Dec 2003
Posts: 488
Thanks: 0
Thanked 3 Times in 3 Posts
|
|
*heh* thx dparsons.
--
Charlie Harvey's website - linux, perl, java, anarchism and punk rock: http://charlieharvey.org.uk
|
|
 |