Question:
Where should I start with C#?
Matt
2018-06-06 19:16:10 UTC
I want to create a video game in the very, VERY distant future because I'm a storyteller who also happens to like video games and would like to see my ideas come to life. In order to do that, I imagine that I need to meet people in the gaming industry and, to do that, I probably need to be in the industry myself.

That being said, I spoke with a friend of mine who's been coding for the past decade who recommended I learn to use C#. Unfortunately, he doesn't use C# himself and also doesn't share my affinity for gaming. I've been searching high and low for the resources necessary to learn C# and I feel like I'm going in circles. Either the information is too advanced for someone who's never programmed or the information feels unnecessary to learn. For instance, I started making Console Apps, but a different source is telling me to start with Windows Form Apps.

I don't mind taking my time with learning (because it'll take me years before I can even practically say if I want to continue with my video game idea), but I still don't want to waste time learning something I won't immediately need, assuming that I'd need it at all. I basically just need a bit of guidance.
Ten answers:
?
2018-09-04 10:08:42 UTC
Go to Mosh Tutorials for learning as beginer
?
2018-08-13 05:52:30 UTC
If your goal is to learn your first language, and you aren't going to become a serious programmer, by all means learn the language you're going to use.



If you are going to become a serious programmer with C#, you can get help from codeavail's experts at codeavail.com. C# like any other programming has syntax which includes things such as the reserved keywords,syntax to declare elements such as classes ,datatypes.You should learn these before learning anything else in C#.



Once you are confident in the basics then you can explore more advanced features such as serialization,file handling,reflection etc.

For detailed information get help from qualified experts at codeavail.com
Eva
2018-06-22 13:03:39 UTC
From Basic Visual...
Andy T
2018-06-08 07:07:27 UTC
Java is still a better language compare to what's after, such is C# in that category, and in more ways than one basic Java resource is applicable to C# too besides few keyword differences which a good targeted IDE can fix.



Half of what's said is not related, least of which is C# as a jumping point. You should look into how Unity API binds, or others such as OpenGL, DirectX, SDL, and even PhysX if that still applicable as a separate binding.
PoohBearPenguin
2018-06-06 21:58:38 UTC
Why would your friend recommend a language he doesn't use, and therefore, knows nothing about? Unless you're doing scripting for Windows - and ONLY for Windows - there is no reason to use C#.



Most people are using Python or Java for games, unless you're trying to do something really high-end in which case you're using C++. However, if you're just learning programming and game design, Python or Java will be quite sufficient.



Once you learn 1 programming language, learning another is quite easy since the concepts are mostly the same, just the syntax is different.
Never Available
2018-06-06 21:50:14 UTC
The other answers are more generic programming language guidance...



You clearly stated you wanted to learn programming in the hopes of learning to write games. Games are made through game engines. Each game engine runs off of one or more programming languages that allow developers to write scripts for them.



Most game engines, however, use C++. C++ tends to be faster than C# and more easily exported across multiple platforms. Unreal Engine and CryEngine both primarily utilize C++.



However, C# is used by Unity, which is a great game engine for beginners to start learning. I'm unsure of any other game engine, that's used as an industry standard, that uses C#. So, if you want to write C#, learn through Unity (you can find tutorials of all kinds on their website, including video tutorials that will show you some of the underlying C#). Programming languages like C# are usually learned by doing.



If you want to use a more advanced engine, you might want to pick up C++ instead.



However, it should be noted that both CryEngine and Unreal Engine (along with other engines) have implemented "blueprints". They allow you to program a game without having to really touch the source code. This is all done through a easy-to-use GUI with no need to actually read the underlying code (unless you have performance issues). This may be something to look into if you're interested in learning game development but you're not really interested in programming as a whole.



If you want to make basic text games (like tic-tac-toe), then C# console applications will be fine. Just look up tutorials on how to do those games (they've been done a million times before). However, I don't see any advantage for you in terms of learning Windows Forms, at least not for game development. Windows Forms are primarily used for business applications and software GUI's. They're easy to work with, but have nothing to do with games.



Unity tutorials:

https://unity3d.com/learn/tutorials
Eron_17
2018-06-06 19:38:59 UTC
I started with visual basic
md kamal
2018-06-06 19:36:39 UTC
Actually, there's thousands of articles and books on the subject. A search for learning c sharp gives plenty of hits loaded with information on the topic of learning C#. But your question is for the best way, and in my opinion, the best way is to learn from iterative doing:



Download the free copy of Visual Studio 2010 C# Express. (http://www.microsoft.com/express...)

Create a new project from the available templates and run it (F5).

Piece by piece, try to dissect the template just like investigating a dead insect.

Notice what happens if you change something. Small changes, so that you can undo if something stops working.

Add some knowledge from the available online resources, such as printing out text on the screen or adding a button.

Tweak it, break it. Nothing will be harmed from failures, you'll just learn from it.



When you've understood the basic concept of the IDE (the environment you work within, Visual Studio) and the basic concept of the language, you should try to formulate a problem. The topic is up to you, perhaps it's finding the area of a rectangle. Then, try to solve the problem using your newly aquired knowledge together with some pretty heavy searching for the missing pieces. It's all on the Internet, rest assured.



That said, I'm still puzzled by your question. You write that you know some basic web technologies, and from there you want to learn C#. What makes you want to take this step? Is it that you want to create web solutions using Microsoft technology? What you actually want to learn then is ASP.NET and not C# specifically, since even though it is possible to use C# for ASP.NET projects there are also other languages such as VB.NET (Visual Basic) and they can be freely interchanged.
Mr. Smartypants
2018-06-06 19:28:23 UTC
Where I went to school, they wouldn't let you learn C as your first programming language. it's a very strange language, a lot of idosyncracies, a lot of strange features that are hard for the beginner to understand. C# is C with even more baffling features added.



The idea was to start with a 'training' language. In the early days this was BASIC (Beginners' All-purpose Symbolic Instruction Code). Then it was Pascal (which I still prefer). Today it's Python. Python is free, plus there's a million tutorials on the Internet, at every level.



When you learn to program, you are learning two things simultaneously--the language itself, and HOW to program, how to explain problems to the computer. This second thing you bring with you to a new language, and that makes it easier to learn the new things in that language--like objects, dynamic allocation, etc. Plus, if you're programming in a GUI (like Windows) that adds a whole 'nother layer of complexity because you have to learn the GUI stuff too. So you get a very steep learning curve.



So my advice to you is to get a copy of Python, get a book on it (or download one) and learn about algorithm design, data structures, etc., get a good grounding in the simple stuff before going on to the C languages.
Atheist Evangelist
2018-06-06 19:23:54 UTC
I highly recommend C# yes.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Continue reading on narkive:
Loading...