Learning C# help
Hi guys I have been teaching myself programming for the last 8 years or so, I started on C. And then found C#. which I actually prefer. Over the last 8 years I have learned writeline and readline. And also a whole mess of stuff not programming related. Getting back on track I realize I haven't done squat in 8 years and find that its all because I hate teaching myself. And I cant find any decent video tutorials that explain what they are doing, instead of just doing it and telling me to do it a lot until it makes sense. What I need is somebody who is willing to teach me. Is there anybody on the east rand, preferably around Primrose, Edenvale or Bedford that can help me out. I am willing to pay. Although I wont since I cant afford to. But the thought counts right. I don't need somebody who is super advanced. But just somebody who knows more and can teach everything I will need to just get started. I haven't made it to the point where I could make any functional game, even on the lowest of quality levels. And I think that has been a key factor in me not staying motivated. Thanks. Oh another thing. Is it better to learn C# in something like Visual Studio. Or can I learn to program in C# from within Unity.
Comments
Download it (google Unity download).
Install it, run it.
I started with this video:
Follow it with Unity open. Pause when you do stuff. Follow and do everything. It gives you a good grasp of how it works.
Then follow on by looking through the rest of unitycookie's videos - there are more than those too.
Basically, try to specify what you want to learn, then google it. You'll find it. (For example, "unity 2D platformer tutorial" or "unity gui tutorial".
You gotta start somewhere. I really, really don't think anyone here learned with someone else holding their hand while sitting next to them. It's just not practical - you have to understand things yourself, and you can only understand by doing.
Good luck!
And maybe come to the meetups and meet people and chat and listen and learn :)
I'd say go through Part 1 then move on into unity.
Good luck!
Just because you were lucky and didn't get discouraged the same way doesn't make the way anyone else wants to learn bad. The key thing here is wanting to learn, I don't think we should add more discouragement.
This is a great resource to learn C#, basically their 22hour long Core C# fundmentals course. It does cost money though but not a lot and Bob Tabor (the guys presenting it) is a masterful teacher.
Hope it helps
But if you want to learn C#, you're going to have to put in the time. Wake up on a Saturday morning and just sit down and do it. Maybe go past Exclusive Books and just read through the first few chapters of a book. I can recommend you find C# for Professionals. They don't hold your hand and will quickly explain how the types work in the first few chapters.
If you're coming from C, you're going to love the managed memory. It's going to be a lot easier to do the things you need without a lot of the buildup and teardown that you need when allocating memory in C.
Language-Integrated Queries (LINQ) allows you to write SQL statements to interrogate lists of data! I recommend you Google for "101 LINQ Samples" for a quick taste. You should also look at lambdas so that you can write code like myList.where(item => item.value > 10). You can even pass in delegates, which are like pointers to methods, but strongly typed.
After you've got the basics down, you will find that you need to decide on making a game. I'd suggest you do not aim for the sky. Try make something basic to start. You'll find that your skills do not match your tastes. If your expectations are too high, you'll give up. Baby Steps. Once you have found some direction, you'll meet challenges that can usually be overcome with a visit to StackOverflow, like every other developer on the planet. Good luck!
In my opinion the best way to learn is to learn by doing. Download unity and just try to build something small, don't get too caught up in the specifics of trying to learn a language, which in reality takes a lifetime to master. Eventually all the small bits you tackle will start to join up into a clearer picture of programming.
That being said, how about something like this:
http://www.microsoftvirtualacademy.com/training-courses/developer-training-with-programming-in-c
Pluralsight is an excellent resource for learning and covers all levels which is great. There is actually too much great content to get through there! Defs worth the free 30 days and a solid investment to keep you going - you are only investing in yourself right.
On the topic of not wanting to teach yourself; that can be a problem in anything you do, esp technology. Firstly, its important to try pick things you enjoy doing - if you don't enjoy doing it, then chances are you will always be mediocre at it at best. A great quote I love to throw out there goes something like:
You should be prepared to pay to do the job you are paid to do.
In other words, you need to love what you do and couldn't imagine not doing it. This becomes even more true in technology which is updated so rapidly. If you find that the research doesn't excite you, then maybe consider a different role within the industry. I have been writing code since 98 and every year it seems things change radically, but only to make things easier!
I was raised on MS technologies, C# in particular, and have a a few MCSD certifications, but actually spend my time writing Node.js these days. In two years it may be something completely different, but most of the fundamentals stay the same. I guess its about loving the concepts of technology and code, not so much a particular language.
In summary, maybe video based learning is easier for you - check out pluralsight. Another option is to join a studio that has a great dev team and learn from others. C# is a great language and solid investment so you on the right track. I guess you need to give it a solid go and invest the time to see if you change your view.
Brackeys YouTube: https://youtube.com/user/Brackeys
Brackeys Website: brackeys.com/