General Question

robdamel's avatar

How do I continue my education in C# programming?

Asked by robdamel (786 points ) January 2nd, 2013

So I discovered a passion for programming- I really enjoy the programming process as a whole and started learning as a hobby. After a huge dilemma on which language to learn first, which was between C# and Python, I chose C# because I had read about Python being slower and it’s use limited to smaller apps. So I’ve been learning from this website: http://www.homeandlearn.co.uk/csharp/csharp.html and I think it is pretty fantastic.

Taking a look at the index, how do you recommend I continue my education? What (topics) should I look for in C# programming books to buy?
Taking advantage of the thread, did you think C# was a good choice? I plan to use my knowledge to create Windows programs and web applications.

Observing members: 0 Composing members: 0

12 Answers

tom_g's avatar

Check out ASP.NET MVC. Microsoft has a free tutorial and sample code that should give you a good start with a modern web framework.

LostInParadise's avatar

Since C, in all its various forms, is a highly popular programming language, it is a good idea to know alt east one version of it. C# is what I use at work. I also like Python. It is a good language for doing the equivalent of doodling – getting to check something out with minimum effort.

As for learning, I suggest creating a small project on your own, and looking up things online as you need them. If you have not done any Web programming, I suggest that you look into that. You should also familiarize yourself with database programs, if you have not done that yet. You can download Sql Server express for free.

jrpowell's avatar

If you have iTunes installed I would seriously suggest watching watching these. They are fairly basic but you need a solid foundation if you want to build a house.

gorillapaws's avatar

I’m partial to python. It’s certainly fast enough to run just about anything short of performance-intensive gaming engines and projects on that level where every cycle is critical (and it often is used for scripting the levels or AI mechanics, etc.). Python Is excellent at building web apps. Django is a world-class open-source web application framework that is based on Python. In my mind Python has two very powerful advantages: the code you write tends to be very clean, expressive, and easy to understand and read (of course it won’t prevent you from writing bad code); also, there are a lot of open source projects and frameworks available to build from.

If you’re looking to build native Windows applications, then C# is the right tool. You may want to learn regular C if you’re going down this path.

robdamel's avatar

@tom_g @anyonelse Is this a good book to start next?
http://www.amazon.com/dp/1430242515

@lostinparadise good suggestions.

@johnpowell Wow, that looks fantastic. I noticed it uses the Java language though, may that not be a problem?

@gorillapaws Whoa, so what do you suggest I do now (after that course I’m doing)? Open a new book on Python and start learning? (I have an amazing book for Python beginners, I was actually kind of eager to read it.) Start learning C? Buy a book on ASP.NET?

Here’s another general question. With C#, am I only limited to Windows applications? With Python, can I do any application for any platform?

gorillapaws's avatar

@robdamel I agree with @LostInParadise. Pick a small project and then use a language that suits that goal. It’s much harder to learn in a vacuum, so applying what you learn to a real-life goal is important. You can write apps for all platforms with Python, but a Windows app is not going to look/feel/behave as nicely as an app written with ASP.NET.

Once you start learning how to code, you’ll realize that learning many languages isn’t very difficult. The hard part is learning how to solve problems with conditionals, loops and variables. After that, picking up a new language can be done in a week or two by an experienced programmer, so don’t get so hung up the idea that you’ve “gone down the wrong road.”

I do think at some point you should learn C, it will help you understand how the machine deals with memory on a level that higher-level languages don’t, which will ultimately make you a better programmer.

yankeetooter's avatar

When buying programming books, I always look for ones that have lots of exercises and projects in them for me to do to practice my skills…

robdamel's avatar

@gorillapaws @johnpowell
Holy, I just discovered Itunes University. The world needs to know about this. I think I will jump into learning Python so I can follow those full courses that start at the absolute beginning. The one @gorillapaws pointed out is probably the best one, but it starts with Java and people kind of scared me away from that language.
These courses can guide me pretty well. I will continue to read all answers with much appreciation.

yankeetooter's avatar

@robdamel…I’ve taken Java, and it’s not bad at all. Don’t knock it until you try it…

Response moderated (Spam)
mattbrowne's avatar

Don’t focus too much on the particular programming language. Learn about algorithms and data structures. Learn UML and learn to view real-life problems as objects and methods.

Answer this question

Login

or

Join

to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
or
Knowledge Networking @ Fluther