Trying to learn my first language


I was wondering if anyone knows any good websites or books that I could learn C# from.  I've dabbed a little bit with Java but our department is trying to get C# as its standard as far as applications we use.

Thanks for your help and input

Take it one step at a time is my only opinion on this (all I know is HTML, CSS, and Bash). C sharp is apparently not the first language you'd want to learn as grasping the concepts of programming can be a tad difficult to some. I'm sure if you have the will or drive to learn C# then you can learn it given enough time, but you should start lower with Java or another OOPL.

Best of luck,


Id try and see if that helps, its free anyway so can't hurt to try it

codeacademy is pretty good for web languages but they dont have any C# classes to my knowledge. 

You can try ($20/mo) it is a VERY good resource and 100% worth it if you are willing to spend 3-4 hours per week learning. If you dont want to pay or want to go at a slower pace there are some other websites out there that are free (cant think of any right now)

Barnacules has a coding series on C# going that I am following and I find it very easy to follow. He even made a basic web browser in the latest one which was pretty cool

I disagree, C# is a wonderful first language. I'd put it ahead of Java anytime if you don't care much about multiplatform (which you probably don't care about when you're simply trying to grasp the basic concepts of programming).

C# is a nicer and cleaner language than Java at this point, it's just a shame you're stuck on Microsoft platforms with it (ignoring the Mono framework here).

I second this opinion.  I started learning programming with Python, but a couple years ago I started learning C# and instantly fell in love with it.  I found it very easy to pick up, (I'm sure Python helped some, but I never got particularly good with it).  Java on the other hand I am learning at college right now, and I find it to be far more confusing than C# to be honest.

I started learning C# a couple years ago, coming from being completely self-taught in Python.  I never got very good with Python, and when a friend of mine showed me a few basics of C#, I ran with it.  As for learning it, I have found that I learn programming (and many other things) best by just jumping into them.  I do like to keep a good book on hand though for reference, but I have always learned by just coming up with an idea I wanted to do, and then I did the research to find out how to do it.

If that doesn't appeal to you though, and I'm sure it wouldn't for many since it isn't the most practical way to learn, I have heard great things about Codeacademy although I have never really used it myself.  I also had access for a while to Pluralsight which has excellent video tutorials for tons of technologies, and lots of them are free, although not all of them.

Good luck!

Hey sick Impulse,

If your just starting to learn code try out a book called Python for kids. I know it sounds silly but its really good for newbies. Good luck and don't get discouraged when it seems a little overwhelming.  

Thank you all for your replies.  I will definitely be looking into Barnaclues.  Could anyone recommend a good book to have as reference?

If you just want a reference and do end up going the C# route, get friendly with microsoft's MSDN. Their documentation is quite really good. Lots of example of use for most classes.

Sounds good. Thank you

Barnacules was a Microsoft software engineer for 15 years, and he worked on Windows. He knows C# very well.

I see some of the members disagree with the notion that "C sharp is not the first language you learn"

I agree and disagree with them.

I agree that there are no defined starting point, you can start anywhere and eventually succeed.

But there are some routes people have taken and found success easily. I am not saying that these routes are well defined and free from troubles, but taking these routes generally end up being a more comfortable experience.

I started programming with Python and Fortran when I was in college. While my peers at the CS dept started with Java. I understood later, starting with Python was a great idea as it helped me work with bitwise operators more efficiently (all the other major programming languages have this ability too :) and encouraged me to get deeper into embedded programming. On the other hand, my CS counterparts got involved in more high-level programming and theories.

You see, the language actually catapults you towards a specific direction later in life. You can write the same piece of instruction to a computer with virtually any high level programming language. It doesn't matter. But my point is the languages act as a platform from where you go somewhere.

So to learn C#, I would recommend you learn Java first, or just give it a try.