Why am I Here?

This question is not as philosophical as it sounds, but it's one worth answering.
I am here because I want to help people understand programming and help make us all better programmers. Sometimes I have questions to ask, sometimes I have answers to give. This sharing of knowledge between all parties helps to further our understanding by reading an accepting ideas and approaches we wouldn't otherwise have thought of.

Why are You Here?

Not as stupid as it sounds. The obvious answer is: "Because I have a programming problem" but this may not be correct.
Think about it; why exactly did you come here and don't lie to yourself.
Commonly I see the following:
1. Someone is stuck and they need help overcoming their problem
2. Someone wants to be peer reviewed to ensure that they're making the best of their ability
3. Someone doesn't understand a particular aspect of programming

All three are valid reasons why you should ask for help, but there's one missing. One which, I can say, makes me angry/frustrated.
4. Someone needs their work doing for them

To those I say; "Get Out". I don't mean from Daniweb though, I mean the software industry. As harsh as it sounds, you don't belong in it. If you don't understand, that's fine. Everyone needs to learn, but if you're too lazy to even attempt it, then you're just going to continue to fail and eventually you will be fired or won't be able to get a job and you'll be out "on your ass" with no prospects.

Secondly, you give everyone else a bad name. I've been in two jobs where I was a lone developer and a second dev in a third. For the two lone dev jobs, the amount of distrust from marketting and sales was astounding. Simply because their last programmers never actually did anything (I was in on contract). For my first permanent position as a second dev, the first would just outsource their work and sit reading comics all day. They had zero programming ability. I left within a week, the company didn't have any faith in their development "team".

I'm not lazy! I just don't get any of it!

So you've come to ask for work, because you need to pass your module but you don't understand any of the material you've been taught. Okay that's fair enough :)
But (I think) you came to the wrong place ;)

Daniweb has a nice rule that says you've got to show how you attempted it first, so that we can help with your specific problem. We aren't paid to be here, why should we do your work for you? ;)
What that means is people who don't understand any programming often won't get assisted, there's no point just giving you the answer because that won't help either (it's also cheating, see "Plagiarism")
So how do you overcome this issue? See below :)

Resources - Your Lecturer

Your teachers, your lecturers and your supervisors. They're all there to help you. Too often when asked in-person for help, I will first ask: "Have you asked your lecturer first?" and get the reply "Why would I do that?" (or a variation of it)

The answer to that is: They're trained and paid to teach you.
They are not placed there to just criticise you, or to be an obstacle on your way to your career, or simply go out of their way to stop you having fun. Too many people see them as the problem and not the solution.

If you've been given a programming task by your lecturer and you don't understand it, why don't you ask them about a couple of points after the lecture? Sometimes you can get a 5-minute 1-on-1 lesson to just go over something you didn't get. Other times, it might be possible to arrange a time where they can go a bit more in-depth with yourself or perhaps a group who are also stuck. Most Colleges and Universities have workshops you can attend for a bit of extra-curricular advice. I suggest you attend those as well.

Remember that lecturers aren't your enemy. If you show that you're willing to go out of your way to learn, they are MUCH more likely to help you. This will also show in their grading! In computer science there is generally no definitive right or wrong way of doing something. There are good ways and bad ways, but if it achieves the result, it wasn't really wrong...If you do something a "bad" way, but the lecturer understands that you're trying to understand and you're putting in this extra effort, you might get a higher mark than someone who has a better natural ability, does it exactly the same way as you, but pays no attention in class.

If you sit at the back talking to your friends all lecture and then don't understand, why should they (or we for that matter) give you their free time (they're people too!)

Resources - Daniweb

So you've been to your lecturer, (s)he doesn't have much time to offer you, makes an attempt at a better explanation but you still don't really get it. Then you've come to the right place :)

With the knowledge you do have, make an attempt. Don't be frightened of getting it wrong, just think about the things you know, put it in writing and see what you get. Most likely it won't work, so you come to Daniweb saying: "Hey, I've got this project to do X, but I don't understand how. This is what I've tried so far, what do I do? <code listing>"

Not only have you shown you're willing to try, but that you also want to learn. You will, unless it's truly beyond any of us, get a response that will help you out.
It is not a good idea to go "HELP! I HAVE TO DO X, Y & Z. PLEASE GIVE CODE URGENT! <code listing>" You're asking for the answer, not the understanding. That's an important difference to make.

Let's take this question for example:
"I have this project at school. Take 5 inputs in the form of numbers, hold them all in a single variable and print out the min, max and average. I've put my input into five separate integers, but I don't understand how to put them all in one variable. Please help! Here's what I have so far <code>"

This is a good question, we understand immediately that you need help with Arrays. In most cases, you will be told "You need to use an array" along with an example of how it should be used. Some people will also give a more in-depth explanation of how arrays work and some possible alternatives based on different scenarios.

Finally, don't be afraid to go back, try with what has been suggested and then come back again if you still don't get it. There are several threads on here where I've entered pages of discussion to try and help the OP, but there has to be reciprocation. Try out the suggestion, if you can't get it to work, re-post your updated code and any new errors and attempt to think about the error yourself. Talk about the problem, if you understand some parts but not others, say specifically what you don't understand.

If you reply "it doesn't work" with no update as to what you tried or what in fact isn't working, then the conversation generally stops there. Without any more information, how is anyone supposed to help further? If you aren't willing to put in the effort, why should anyone else?

Resources - Books

Personally, I'm not a fan of books. I generally only keep reference books and now Intellisense mostly erases the need for those too.

I'm more of a "do'er". I truly believe the best way to learn programming is to experiment yourself and figure out what you can and can't do, using places like Daniweb when you need specific assitance.

Books are good if you don't know anything about the subject. Let's say for example you wish to learn XNA programming. There is simply too much knowledge that needs to be transferred. You can't explain it fully, or even properly in a forum post. There is a forum post stickied in Daniweb that suggests a list of reading material (some of it is free) that is particularly good for beginners. If you want to learn C#, read a book on how to get started, then get started, then come here when you get stuck :)

On a final note, please bear in mind that no one is paid to be here. If you're going to start getting aggressive and demanding, I don't think you'll get the answer you're looking for ;)

Edited 3 Years Ago by deceptikon: Stickified

Comments
Not really new to Apps but New to this Forum. #ReachingOut
great post!
Solid post.
good job.
The nail on the head!
Well said
Very well said, it's what everyone is thinking.

Thanks :)

I really want to help people help themselves. I like helping people and I like solving problems (partly why I decided to become a software engineer) but I'm learning that sometimes the best way to help isn't by doing it directly.

Hence the proverb "Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime."

I am new to programming.. and im learning c# programming..

Step 1 of learning c#, don't spam c# forums with meaningless posts. Sorry, i don't mean to be rude but your post was not very necessary.

Comments
Misleading step 1 of learning c#

Oh.. and yours was?

Depends... in my opinion it would and in your opinion it wouldn't. This thread is to show what resources are available and it isn't necessary to post something like the user said if it wasn't beneficial to this sort of thread.... also the user could have been a spammer... he only posted once and hasn't returned...

Do you see what i mean?

<M/>

he only posted once and hasn't returned...

Could that be because he is a newbie and the reaction to their first post (probably sent as an intro,) was basically F off and stop spamming?

I am studying Java and C#.Net.
As self-studying, what books i have to study?Iwould like to know

Edited 3 Years Ago by khin.pyae.12

Comments
c# for dummies itspretty cool.

C# is one of the thrends in software development in the industry. in this thread can we learn?

Because in our school, we want to introduce the C# programming to our students, we want the students to be a good software developer. How can we help the students to learn them? where we can start?

thanks,

Well, C# seems a perfect choice to me!
In fact it is as good as any other programming language I guess. Niclaus Wirth invented the Pascal language, to teach his students to become programmers. But I would not return to Pascal, C# has all the features a modern computer language should have.

Yeah, that's why I choose to Introduce the C# this coming second semester. But before that I shoul be the one who will learn first.

@ddanbe: if you don't mind, what is the best tutorial in C#?

@darrylnuyda: don't know what would be the best tutorial, but a good place to start would be here I guess. Success!

Edited 3 Years Ago by ddanbe: typo

Knowing how to use google is a must for any programmer, new or old. If you have a question and can't find the answer in a textbook you may have, or if you don't have a textbook, then the first source of information should be google. For example the previous poster asked about Visual Studio and android. His answer could have easily been found by just typing "visual studio for android apps" in the google text box, like this.

Edited 3 Years Ago by Ancient Dragon

Comments
as programmer, google is my best friend :D

@darrylnuyda: best way to learn C# will be try to know its basics and get examples on MSDN.

Why is it on here? I like the post but this isn't a social network! It's a Q&A forum! It it sure as heck dosen't belong under C#! You didn't even mention the language! In my opinion this post is good for a site like daniweb, (such as an it community) but more like you post things. Because overall this is pointless. This site is filled with experienced programmers and some who aren't but it's not like we know nothing! It's just sometimes newbies need a little help with an SQL database bug. Or a php web-app keeps redirecting. It's because were human and we make mistakes! That and part of becomming a good programmer is just programming! The more you do it the better you get at it. Overall I think that this is a preety bad ppost for this website, and it shouldn't belong in the C# section.

Comments
Unrequired

C# is actually mentioned third line from the end.

This post was written at a time where we were seeing alot of people in the C# forum asking questions along these lines. It is one of the more useful overarching posts on the forum.

If you look at some of the other sub-forums you can also find posts unique to them that could cover more than one language.

Edited 2 Years Ago by Mike Askew

I am new in porgramming and learning C# and I need Microsoft.ApplicationBlocks.Data.DLL file, someone tell me where from I get this dll file

Thanks

MSDN is a good resource for getting information on the C# classes, and other aspects of the .NET framework. Didn't see anybody mention it here, but just glanced over the posts. Microsoft Developer Network https://msdn.microsoft.com/en-us/default.aspx . It used to be really bad, especially with the C/C++ languages, hard to figure out what some of the data types were. Perhaps I just don't have a very extensive background in ASM, and system data types. Oh well. These days though, it is usually a lot better, with complete documentation. With more modern languages I have yet to be disappointed. Sometimes they alter the web page slightly to make things harder, for example making it so the search box is hidden at the top of the page until the user has to hunt for the drop down. By and large though the site is a good reference. You kinda gotta take the bad and the good.

This article has been dead for over six months. Start a new discussion instead.