views:

216

answers:

6
+4  Q: 

Really learn C#

I know PHP and working on it couple of years. It is very easy to learn/switch to C#(or C++). I mean syntax.

But I have another problem. I can't really make good programming architecture(classes & methods), especially when doing Visual C#(C++) programming.

I have bored by reading/learning basic things about programming languages, In the same time I'm not advanced programmer... I need more about practical & architectural part.

So, what you can suggest? What books? Another idea to explore some open source software. So. I need some suggestions on this :)

Preferred language is C#.

+1  A: 

I think you should start with the OOP basics in C# then you can start with the C# language and .Net technologies

Homam
Toktik
+6  A: 

Best way to learn a skill is to use it, together with reading theoretical material. So I would suggest doing a little to medium size project, together with a book.

Pro c# 2010 and the .NET 4 Platform

By Andrew Troelsen, is a great book.

Software architecture is a whole different issue. I think learning design patterns would help you a lot with that, but again - you have to have a "hands-on" part to your learning.

Oren A
C# 2008 Illustrated (2010 for released in November) is an awesome Apress book as well. Much more visual, if that's your thing.
WernerCD
+2  A: 

C# was actually my second language to learn. Coming from learning only Java in school I spent several months just building things in C#. If you are looking for suggestions on programs to build I went out to Project Euler. This is jsut a site with different math problems they ask you to write a program to solve. They range from very hard to very easy.

Once I had a program written and I was more comfortable I would go back and see if I could refactor the code to make it faster or easier to ready.

You could start writting it in a programming language you are comfortable with then translate it into C#.

Just a sugesstion.

Andy J
Yes, I know Project Euler :) I have tried it, also some ACM projects. But that project's don't implement program design knowledge. Anyway.. Thank you.
Toktik
+1  A: 

Before I learned C# I was running PHP, ASP.NET (VB.net) and VB6. It was a weird skill set.

I applied for a job that required C#. After the first couple interviews they asked me to do a skill testing assignment, 2 days. It was to build a small application for them using C# - but I had to leave certain pieces out because other developers would "build those"

In 2 days I learned what my friends learned in 1 year at university.

So my advice - Hands on. I would recommend getting a book (or i you have 2+ monitors get an online one...) and work the with book. Do the large projects in the book, and as sucky as it sounds, do it the way the book says.

Once you can do that, then do it the way you think it should be done. Hands on all the way.

Ryan Ternier
+1  A: 

If you already know the language and you want to start applying good practices I recommend you start reading and researching on the Microsoft Patterns & Practices center.

Murven
+9  A: 

Hello,

1->If you want to push C# to newcomers, you might want to try O'Reilly's Programming C# 4.0 or Beginning C# 4.0 from Wrox.

2-> If you're looking for a language drill-down, then you've already got C# in Depth on order, but I would consider Bart de Smet's book as well as another c# stunt coder, given his blog.

3-> If you're looking for more real-world applications, I'd highly recommend Bill Wagner's Effective C# which is being updated for C# 4.0. This is one of the books that sits on my desk almost all the time. I really like it.

Thanks

PrateekSaluja