Jump to content
  • Advertisement
Sign in to follow this  
Anaton

C# Questions

This topic is 4253 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm fairly new to programming. I know .asp fairly well, and I'm decent with javascript. I recently finished my first class in Programming in C for an online university and I had a bit of trouble with some of the concepts. I undersand pointers such as *p; but when it got into using -> for some reason my brain just refuses to process. I have some time off before I start on new classes and I was wondering if C# would be easier to learn? My wife picked me up a copy of an older Beginning Visual C# book based on .net 1.0. I know that .net is up to 2.0 at least if not later. Would this book be hopelessly out of date for use, or would it still be ok for the basics? If not C#; what would be another language I could work with? I have Visual Studio.net 2005 Standard Edition available as an IDE. Any suggestions/comments would be appreciated.

Share this post


Link to post
Share on other sites
Advertisement
C and C++ are pretty hard to learn for a beginner. You sound like you might be able to figure it out from your previous experience, but only you can make that determination.

My recommendation is always to start with the highest level language and work your way down. You'll no doubt need to learn C or C++ at some point in your career, but it's difficult to learn to program when you have to struggle against your language of choice. To clarify: Never stop learning! The first language you learn will be the hardest, so it doesn't really matter as long as you keep picking up new ones.

C# is great, and I think it's definitely easier than C or C++. Python is another language that's much easier to learn, but the available IDEs aren't nearly as spiffy as MSVS.

As to the helpfulness of the book, I'd say try it out and see what you can get working. MSDN lists what functions are deprecated and what their replacements are when you look up the old versions. Between the book and the Internet, you'll probably do all right.

EDIT:
The -> operator does two different things. First, it dereferences the pointer, like *pointer. Then, it accesses the members of the pointed-to object, like object.member. Putting those two together looks like crap (*pointer).member. It's much easier to do pointer->member.

Share this post


Link to post
Share on other sites
C# or Java are both easy and powerful and could be considered good options for beginners.

VS.Net works great with C# so its a good option.

You don't need .Net 2.0 to learn C# (C# is a language, .Net is a framework that works with multiple languages) however it should be noted that .Net 2.0 is much better than 1.0.

You can pick up .Net 2.0 by using online tutorials or the reference manuals at msdn.microsoft.com after you've worked through your book without any major problems.

Java works slightly better on non-microsoft platforms at the moment but doesn't have a great IDE. (MSVS is imo the best IDE for any language right now). Its also a bit more painful to use for game development (C# has XNA which makes things alot easier)

Share this post


Link to post
Share on other sites
Anaton,

C# is a very good language choice for a mature beginner. Even though safe C# code does not use pointers, I find that to fully understand how objects work in languages like C# and Java, you need to have a good understanding of how pointers, references and memory allocation works. I found learning C++ first helped me a great deal.

That being said, learning C# can make it a lot easier to understand these concepts and could provide an angle on the topic that makes it easier for you to grasp. More importantly, you certainly won't be wasting time learning C#.

The book you have will probably do a great job of teaching you basic C# syntax and how classes, objects, interfaces and structs work. When you are ready to move on to such topics as Abstract Data Structures and Generics you will want to move onto learning .Net 2.0/3.0.

Note that the .Net framework is just that: a framework. It is something separate from the C# language itself. It is more a library of extremely useful namespaces with loads of classes, structs and interfaces you will use in most of your projects.

Your Visual Studio.Net 2005 is a great tool for learning and productivity, especially with C#. You should definitely use it.

Share this post


Link to post
Share on other sites
Quote:
Original post by SimonForsman
Java works slightly better on non-microsoft platforms at the moment...


C# was never meant to be a cross-platform language, but the Mono project is commited to getting .NET ported to Mac and Linux.

Quote:
Original post by SimonForsman
...but doesn't have a great IDE.


I've used NetBeans for all of my Java development, and it works great.

Share this post


Link to post
Share on other sites
Quote:
Original post by programwizard
C# was never meant to be a cross-platform language
What an idiotic claim. Languages are almost never platform specific, and C# is certainly not.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!