   C# and C++
  Ok, I was learning C++ for about past three months nad I want to create some games with windows API,cause I'm already created a few (Tic- Tac - Toe and etc.) in console, and I think creating games with C# and XNA is way better easier, isn't it? So wouldn't be a great Idea to learn C#, XNA and practise creating games there and when go back to C++, because It is too hard for me know.. Wouldn't it be a good practise before real C++, directX and etc.? Wouldn't it be a time wasting?   
  You're going to end up wasting a lot of time trying to learn to program anyway, regardless of the language you use. It simply takes a long time, pretty much regardless of the path you choose.C# is much easier on your soul, though. No seg faults. No pointers or C libraries. No C++ insanity. Languages are languages. If you're a good programmer, you'll be able to use any language you're familiar with to do what you need to get done. Go ahead and try C#. Switching back to C++ later won't be too hard.   ;1) All things being equal, you should choose C# over C++ for any given project.For me, as an independent game developer creating my own projects, I never use C++. And this is after learning and using C++ for many years and becoming an expert at it.2) Ideally you should learn both.There are still some reasons to use C++: Platform, old code and libraries, and employment.However, keep in mind: C# is more cross-platform than you might think (for example, you can get it onto the iPhone); and getting native code linked into .NET is fairly easy.Employment: If you can't pick your own projects - say you're working for somebody - then there's a fair chance that they've got some old C++ code that they want you to work on. And if you work in games then C++ is almost a certainty.Finally: C++ will force you to learn a lot about "memory" (pointers, all that jazz). This comes in handy, especially in game development - even in C#.3) If you're good at C++, learning C# is pretty easy. But I imagine the reverse works as well.I went from C++ to C#. The only thing that tripped me up was the difference between "class" and "struct" in C#.Obviously I never experienced the reverse, from C# to C++. But I would like to think it is easier to learn how to program (in C#) and then learn all the "gotchas" in C++, instead of trying to wrap your head around both at once.Also I think learning C# will teach you good C++ style. A lot of C++ material (even in 2010) has some very bad habits taken from C.4) Regarding XNA and DirectX.XNA is a great library and you should use it. However it really helps if you know your DirectX (I hear it is improved in XNA 4.0, but that's not officially released yet). I've only used XNA, not DirectX, but I have found that it really helps to install the DirectX SDK for the documentation and tools (like PIX).Like C++ and C#, many of the concepts between XNA and DirectX are the same anyway (certainly for graphics). Once you learn one, learning the other should be fairly easy.   ;  Ok, so I'll learn C# and XNA now, and then I'll come back to C++ and learn windows API and DirectX.   ;  EDIT:Uh oh...I type too slow.Hope you see this reply.I think you are better to use C++.Here is some reason:1.C++ is a popular language.Most of noob programmer start with C++ because it is easy and it can do most of things.2.XNA is windows only.It don't support other OS.3.You can make program with C++ with using external library.It can do same thing as windows API.Wxwidget(GUI library) is a good choice.It is free.4."If you learn muiti programming language,you will be confused because all programming language doing same thing with similar code."My teacher said.In my opinion,it is not a good idea to learn C# and go back to C++.I was a C++ noob too.I don't know much about C++ but I don't know "what I don't know".Just don't understand what is the meaning of code and hard to explain my question and think C++ is hard.After I learn SDL(library,good to make game),I learned how to make C++ game and know more about C++.Here is a good site to learn SDL:http://lazyfoo.net/SDL_tutorials/Remember.If you don't understand anything during you learn SDL,try to solve it yourself!You can know more about C++ with learning SDL.You also can learn to make graphic game too!   ;Quote:Original post by game overMost of noob programmer start with C++ because it is easyIn what universe is C++ easy?   ;Quote:Original post by game overI think you are better to use C++.Here is some reason:1.C++ is a popular language.Most of noob programmer start with C++ because it is easy and it can do most of things.2.XNA is windows only.It don't support other OS.3.You can make program with C++ with using external library.It can do same thing as windows API.Wxwidget(GUI library) is a good choice.It is free.4."If you learn muiti programming language,you will be confused because all programming language doing same thing with similar code."My teacher said.make graphic game too!1. C# is much much easier than C++ and can still do most things.2. XNA is windows, xbox, zune, windows phone and you can probably get it on Mono so mac and linux as well.3. C# abstracts the win32 api as well with winforms and WPF (which I think is more powerful then Wxwidget)4. My teachers recomend learning as many languages as you can! They can all teach you something new.;  This is too good to pass up...Quote:Original post by game over1.C++ is a popular language.Most of noob programmer start with C++ because it is easy and it can do most of things.What DevFred said.Quote:2.XNA is windows only.It don't support other OS.The game I am working on uses XNA (sprites only, no 3D) and will be on Windows, Xbox 360, iPhone (via XnaTouch) and Silverlight (via SilverSprite - so Mac and Linux).If I wanted 3D support for iPhone, Mac and Linux - I'd still use C# - and just use OpenGL (for graphics, via OpenTK) instead of XNA.Plus there's the native XNA support for Windows Phone (XNA 4) and Zune.Quote:3.You can make program with C++ with using external library.It can do same thing as windows API.Wxwidget(GUI library) is a good choice.It is free.If you must use C++, then wxWidgets is terrific for making GUIs (it's what I use in C++ land). But WinForms in C# is much easier/quicker to use.   ;Quote:Original post by kaktusas2598Ok, I was learning C++ for about past three months nad I want to create some games with windows API,cause I'm already created a few (Tic- Tac - Toe and etc.) in console, and I think creating games with C# and XNA is way better easier, isn't it? So wouldn't be a great Idea to learn C#, XNA and practise creating games there and when go back to C++, because It is too hard for me know.. Wouldn't it be a good practise before real C++, directX and etc.? Wouldn't it be a time wasting?If you're "blank" on game programming, I'd recommend C#. It's a lot simpler to deal with than C++ when you're developing for Windows and Xbox.   ;Quote:Original post by game over4."If you learn muiti programming language,you will be confused because all programming language doing same thing with similar code."My teacher said.He meant that as a beginner, you shouldn't learn several languages at the same time. The suggestion in this thread was to learn C#, then learn C++.   