Good techniques to get good with C#?

Associate
Joined
13 Jan 2012
Posts
2,340
Location
United Kingdom
What are some good ways to learn C#? i have been watching videos but it doesn't seem to stick.

Would you guys recommend trying to do exercises and googling?

anyone here who learnt it from scratch and has good techniques?

Thanks.
 
The only way to become good at programming is by practice.

When I am learning a new language I normally buy a book on it. Read the book and do the exercises in it and then I sit down and write a program in that language. Since I'm mainly website focused I tend to build backends for websites as a practice as it tends to use most features of a modern language. Just think of something you want to make and start building it. At the start you'll be Googling a lot but you'll soon start to pick it up.

C# is a nice language though :). I've been learning it myself. Shame visual studio vomits files all over your computer when you install it though. Next time I install visual studio I'll be doing it inside a virtual machine.
 
I use C# pretty much all day these days. No formal training and found those learning videos to be a bit meh. I learned as Cromulent said...

Cromulent;30487084 said:
Just think of something you want to make and start building it.

If you've got a goal, something you want, you'll may find it easier to pick up, I did.

Google is your friend! If you want to do something, there's a very good chance someone has already done it. Don't just rip the code off though, try and understand what it does and there is usually more than one way to skin a cat, look for and at more than one solution.
 
Cromulent;30487084 said:
The only way to become good at programming is by practice.

When I am learning a new language I normally buy a book on it. Read the book and do the exercises in it and then I sit down and write a program in that language. Since I'm mainly website focused I tend to build backends for websites as a practice as it tends to use most features of a modern language. Just think of something you want to make and start building it. At the start you'll be Googling a lot but you'll soon start to pick it up.

C# is a nice language though :). I've been learning it myself. Shame visual studio vomits files all over your computer when you install it though. Next time I install visual studio I'll be doing it inside a virtual machine.

Punt;30487287 said:
I use C# pretty much all day these days. No formal training and found those learning videos to be a bit meh. I learned as Cromulent said...



If you've got a goal, something you want, you'll may find it easier to pick up, I did.

Google is your friend! If you want to do something, there's a very good chance someone has already done it. Don't just rip the code off though, try and understand what it does and there is usually more than one way to skin a cat, look for and at more than one solution.

Thanks for the advice, i found a c# yellow book by rob miles ill have a look at, guess i can build a program but i get stuck when i don't know what to do. i guess the best way around that is look at other peoples solutions and incorporate that?
 
Cromulent;30487084 said:
The only way to become good at programming is by practice.

This.

I've been writing code for over 35 years. There is always something new to learn.

You know you are getting better when you look at something you wrote a while ago and think "what idiot did that".
 
Totally agree that learning OO concepts first is key.

As far as learning/resources go, my personal favourite way of learning is courses on Pluralsight. It isn't free but there is a free trial, courses are done by highly regarded industry experts. Good balance between theory and practical.
 
Get the C# Yellow Book which gives you a project or two to do and takes you through everything. See this one recommended a hell of a lot and it's what I used when I needed to pick up C# a few years back. Pluralsight is another good one, but as said it costs money.
 
Learning to program is a very individual thing. Not everybody learns in the same way. When I first made the leap from support to dev it took me a while to understand the languages i had to support.

I have found personally it is really difficult to learn a new language in isolation as at some point you are going to need to incorporate a technology that is better suited for a specific task. When I first started I took a common problem being experienced by the company (setting up users within our in house app) which had always been done by sql scripts which meant the dev's had to do 9 times out of 10, I created a simple desktop app that was able to handle not only user creation but also some other "sql centric" tasks which meant I could hand this task over to the support team to do rather than having developers get involved.

So I not only had to learn C# with WinForms but also SQL. now using things like ORMs can help to get around this to a degree (but I love me some SQL, so try to avoid them as much as possible). Then with the front end you will either go one of two ways Web or Desktop. If you then throw in the web as your "primary" front end then you have a whole host of technologies to potentially add on top of your learning.

It can seem overwhelming at first but try to focus on something that is simple and then expand on it over time as you learn new things. If you can understand the concepts rather than languages this I find helps a lot as these skills are transferable. Although I consider myself a C#/SQL developer I spend probably 70% of time working on web based technologies.

If I ever get stuck then stackoverflow is usually my first point of call.

Using things like Pluralsight have helped to a degree (some of the videos are better than others) but I much prefer the practical approach of seeing a problem and seeing if I can solve it with a coding solution or take an existing ageing project and seeing if I can improve it.
 
Oh ok cool, im actually a first year student in hull. What are you opinions of the course and second year?
I've really enjoyed it, first year was a piece of ****..second year got more interesting, placement year has been the best so far. If you haven't thought about doing one I'd highly recommend it.
 
Anyone any suggestions on a good book or two?

I've head first c# but it's windows 8, visual studio express 2012 and it's a few years old now. Ideally, i'd like something more up to date that's really going to help give some practical experience as well.

I've got a free pluralsight account via work, i'm also banging through sololearn for the c#/sql courses. Covers the syntax/basics ok.
 
Back
Top Bottom