I won't lie, NickDMax completely took my thunder. He reached right up into my metaphorical cloud and took it. He took the proverbial wind out of my sails. What about? This topic of this thread.
Some back-story:
There have been a slew of threads within the last few days (weeks perhaps?) that have been nothing short of:
I imagine the end of semester is a large catalyst in this occurrence. One line, one post wonders aren't too bad; a simple posting of the rules or thread lock and they're gone, and will probably end up on your software engineering team (I kid! I kid!), but the second group of these people really bother me. These individuals post code, but then ask for someone to explain it to them, fix their [compilation] errors, or clarify if they met a certain requirement.
Example 1:
In this thread, the person posted some templated C++ code [Linked List of sorts] and asked how to iterate through/traverse the list. RED FLAG! If someone has a solid enough understanding of C++ to not only write a Linked List, but a templated one, traversal of the list is the least of their worries. Upon further discussion, (I encourage you to read the whole thread) I pointed out several compilation issues that arose when sample implementation was introduced (these errors were absent if one just compiled the header by itself). Relatively easy to fix if you've ever done a lot of work with templates. Did the poster fix the suggestions and come back with the updated code? NO. They opened a new thread with the same error prone code with the reasoning that the other thread was too long. (Yeah, right).
This is the classic copy/paste situation. It doesn't even have to be done from one source. An assembly of copy pasting without figuring out how each piece works. This type of stuff is exactly why I wrote the indepth looks at various data structures.
Example 2:
In this thread, the person posted code asking if it met certain requirements. Specifically, if there is an extra method that takes arguments [parameters] and are variables used with the smallest scope possible. In order to effectively judge that criteria one must understand what a method is, what parameters are, and especially what variable scope is. How was this written if these concepts were not understood?
Programming is similar to mathematics in that everything is built upon previously learned concepts. Can't learn how to multiply or divide until you've learned how to add or subtract. Can't know how to use methods with parameters until you've used regular methods. Can't understand scope unless you understand the creation and destruction of variables. The list goes on and on.
As a programmer, software engineer, hobbyist, or whatever title you bestow upon yourself, you must be able to work your way through a problem from start to finish. You must be able to research on your own. You must be able to acquire and retain new concepts. Getting that quick answer for free might help your current situation, but where will that leave you years down the road? What have you learned? What do you remember? In regards to research, there are instances where "I'll Google it" is an acceptable answer. But not for every single thing. Especially fundamentals. Being able to work your way through a problem is not just a computer science/student issue, it's a problem with my whole generation. Instant gratification coupled with laziness is the culprit.
Give an person some code and they'll be set for a day, teach a person to code and they'll be set for life.
Some back-story:
There have been a slew of threads within the last few days (weeks perhaps?) that have been nothing short of:
Quote
plz gief code kthxbai
I imagine the end of semester is a large catalyst in this occurrence. One line, one post wonders aren't too bad; a simple posting of the rules or thread lock and they're gone, and will probably end up on your software engineering team (I kid! I kid!), but the second group of these people really bother me. These individuals post code, but then ask for someone to explain it to them, fix their [compilation] errors, or clarify if they met a certain requirement.
Example 1:
In this thread, the person posted some templated C++ code [Linked List of sorts] and asked how to iterate through/traverse the list. RED FLAG! If someone has a solid enough understanding of C++ to not only write a Linked List, but a templated one, traversal of the list is the least of their worries. Upon further discussion, (I encourage you to read the whole thread) I pointed out several compilation issues that arose when sample implementation was introduced (these errors were absent if one just compiled the header by itself). Relatively easy to fix if you've ever done a lot of work with templates. Did the poster fix the suggestions and come back with the updated code? NO. They opened a new thread with the same error prone code with the reasoning that the other thread was too long. (Yeah, right).
This is the classic copy/paste situation. It doesn't even have to be done from one source. An assembly of copy pasting without figuring out how each piece works. This type of stuff is exactly why I wrote the indepth looks at various data structures.
Example 2:
In this thread, the person posted code asking if it met certain requirements. Specifically, if there is an extra method that takes arguments [parameters] and are variables used with the smallest scope possible. In order to effectively judge that criteria one must understand what a method is, what parameters are, and especially what variable scope is. How was this written if these concepts were not understood?
Programming is similar to mathematics in that everything is built upon previously learned concepts. Can't learn how to multiply or divide until you've learned how to add or subtract. Can't know how to use methods with parameters until you've used regular methods. Can't understand scope unless you understand the creation and destruction of variables. The list goes on and on.
As a programmer, software engineer, hobbyist, or whatever title you bestow upon yourself, you must be able to work your way through a problem from start to finish. You must be able to research on your own. You must be able to acquire and retain new concepts. Getting that quick answer for free might help your current situation, but where will that leave you years down the road? What have you learned? What do you remember? In regards to research, there are instances where "I'll Google it" is an acceptable answer. But not for every single thing. Especially fundamentals. Being able to work your way through a problem is not just a computer science/student issue, it's a problem with my whole generation. Instant gratification coupled with laziness is the culprit.
Give an person some code and they'll be set for a day, teach a person to code and they'll be set for life.
23 Comments On This Entry
Chronicade
29 October 2010 - 06:03 AM
Who gets into programming, not to program. But, alas it is my hobby, job(somewhat), so school for me we be nice.
XSYLUS
12 July 2011 - 02:18 PM
I went to DeVry University with the hopes of learning how to program. Big mistake. DeVry is all about making money and doesn't really care about the quality of their services. Now I owe a mountain of money in student loans and I really don't have anything to show for it. I've been teaching myself to program Android but I've discovered that without the help of more knowledgeable programmers I'm doomed. My reading comprehension is not great so when it comes to trying to learn how to program by way of reading books and guides I easily get lost and frustrated. I currently have three apps in the Android market that are doing very well and I'm currently working on my 4th app. My 4th app is going to take me a lot longer to develop than it really should because I want to put so many bell & whistles into it and I don't fully understand the code. While I've read the reference guides on Google's own android developer website and I've seen several examples I have opted not to copy / paste and then debug and modify as needed for two reasons. 1.) None of the example are exactly what I'm trying to accomplish so some of the code is unnecessary which could lead to bugs in the final app. 2.) If I don't understand the code then I won't understand how to make it do exactly what I want it to do in the best way possible and I won't be able to use what I've learned for future apps. While I've learned the basics of Android development by trial, error and repetition the more advanced stuff still eludes me. I wish there were better guides for people like me because none of the books and guides I've read thus far are any good. Either they don't go deep enough and only give you the basics and then expect you to magically be able to figure out the more advanced aspects yourself. Or they don't explain the advanced stuff in a way that a noob can understand because they expect you to have years of java experience already. In any case it's difficult to know where to go to get real knowledge of whatever language you wish to program in. You really need someone with whom you can have a regular Q&A. I've been trying to understand the database helper and how to read and maybe even write database files but even that is just a bit over my head at this point.
← February 2022 →
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 |
Tags
My Blog Links
Recent Entries
Recent Comments
Search My Blog
1 user(s) viewing
1 Guests
0 member(s)
0 anonymous member(s)
0 member(s)
0 anonymous member(s)



23 Comments









|