• Advertisement

Are C++ and C# a double edged sword for every game developer?

Recommended Posts

Dear all game developer out there,

Should I learn C++ or C# first before getting my hands dirty with any game engines because I saw a lot of posts talking about how these two computer languages (object-oriented language) is quite useful for making games. And where can I learn it step by step as a complete beginner

Thank you

Share this post


Link to post
Share on other sites
Advertisement

Hello,

Although I work as C++ programmer, for making games I personally prefer C#, since the development in C# is much faster and easier and for smaller games you dont need the fastest language arround - in C# you can still make 3D games with nice realistic graphics running hundreds of fps.

Share this post


Link to post
Share on other sites

(A "double edged sword" is a term normally used to talk about something which has some positive aspects but also some negative aspects associated, possibly not as obvious. As such, C++ and C# are not a double edged sword.)

Share this post


Link to post
Share on other sites

I've enjoyed using C# and monogame/xna to develop independently, and if you are looking for a good starting point without having to spend a ton of money on books, then check this out http://www.introprogramming.info/english-intro-csharp-book/

I've gone through it and it teaches quite a bit about the fundamentals of programming, but if you are planning on using Unity then it may be overkill to learn so much about the fundamentals.

Share this post


Link to post
Share on other sites
14 minutes ago, kostile said:

I've gone through it and it teaches quite a bit about the fundamentals of programming, but if you are planning on using Unity then it may be overkill to learn so much about the fundamentals.

Learning the fundamentals is essential if you have plans to be a programmer.  Without them tracking down bugs is a task in frustration and often leads to people giving up.

Share this post


Link to post
Share on other sites
On 11/3/2017 at 12:39 AM, TobyTheRandom said:

Should I learn C++ or C# first before getting my hands dirty with any game engines

Yes

or No

possibly Maybe

Seriously, you've given us absolutely nothing to base an answer on.   So you can pick whichever of the above two you prefer.

Share this post


Link to post
Share on other sites

Both languages, and many more, are used in the industry.  

  • C++ - used for systems-level work, many game engines, and other code.  The primary language for Unreal development.
  • C# - used for many tools and some game scripting libraries. The primary language for Unity development.
  • Java - Used for much server side code, many tools. The system language for Android development.
  • Objective C, Objective C++, and Swift - Used in Apple development.
  • JavaScript - Language of web browsers and browser-based games. Also found in an ever-increasing amount of tools and other code.
  • SQL - Data back-ends for all the server work.
  • Python - Many build systems, tools, and a few games.
  • Many others, but I feel these are currently the most mainstream.  C, more specifically the C-style bindings, are used by many languages and tools. The C language (which is neither a subset nor superset of C++ as some people maintain, they diverged in the 1980s) is used on some code. Assembly code is used sparingly as a source, but reading disassembled code is a critical skill for senior developers. Scripting languages like Lua, markup and encoding languages like HTML, XML, JSON, and YAML, you'll likely encounter these.  

C# and Python both have relatively gentle learning curves. C++ is usually not recommend for a first programming language because of the knowledge the programmer is expected to have.

These days I expect that mid-level programmers should be able to read and understand all of them when encountered. They should also be comfortable writing code in at least two of those languages. I expect senior level engineers to be comfortable in four or more.

 

Languages can be used together, and with the right compiler glue can work together seamlessly. Each language has its own pros and cons, there are problems and solutions that are better suited to each.  If you choose to be a game programmer, you'll probably end up learning five or ten or more programming languages over your career.

Share this post


Link to post
Share on other sites

If you're new to coding go with C#.  C++ learning modules are very convoluted with lots of code they tell you to put in and will explain later.

Share this post


Link to post
Share on other sites
On 11/3/2017 at 3:39 AM, TobyTheRandom said:

Dear all game developer out there,

Should I learn C++ or C# first before getting my hands dirty with any game engines because I saw a lot of posts talking about how these two computer languages (object-oriented language) is quite useful for making games. And where can I learn it step by step as a complete beginner

Thank you

I would suggest to start with C++. It might take longer to get results, but it might also teach you a bit more about the 'behind the scenes'.

Once you know one language, jumping to another gets easier (and incrementally easier with each successive change as you start thinking in terms of how this language is a bit like language A using some concepts of language B with a syntax that feels like language C).

That being said, I abide by the rule that it's better to 'start somewhere', so either works.

OOP in and of itself is a mindset. You could start making C++ and C# and break pretty much every precept of OOP, so make sure you teach yourself about that as well, not jut syntax and script.

Share this post


Link to post
Share on other sites
On 11/3/2017 at 3:46 AM, Kylotan said:

(A "double edged sword" is a term normally used to talk about something which has some positive aspects but also some negative aspects associated, possibly not as obvious. As such, C++ and C# are not a double edged sword.)

C++ and C# don't have obscure, negative aspects?  Where's your winking smiley?! ;)

Edited by Nypyren

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By mangine
      Hello. I am developing a civ 6 clone set in space and I have a few issues. I am using Lua for the logic and UI of the game and c++ directx 12 for the graphics. I need a way to send information between Lua and c++ occasionally and was wondering what is the best and most flexible (and hopefully fast) way to do this. Don't forget that I also need to send things from c++ back to Lua. I know of a lua extension called "LuaBridge" on github but it is a little old and I am worried that it will not work with directx 12. Has anybody done something similar and knows a good method of sending data back and forth? I am aware that Lua is used more and more in the industry and surely plenty of AAA game programmers know the answer to this. I want a good solution that will hopefully still be viable code in a couple of years...
    • By owenjr
      Hi there.
      I'm pretty new to this and I don't know if it has been asked before, but here I go.
      I'm developing a game using SFML and C++.
      I would like to use the "Tiled" tool to load maps into my game but I don't actually find any tutorial or guide on how to exaclty use it (I know that I have to read an XML file and stuff). I just step into diverse projects that make all a mess. 
      Anyone knows where can I find good information to make my map loader by myself?
      Thanks in advantage!!
    • By MHG OstryTM
      Hello guys,
      I've released my game for the first time. I'm very excited about it and I hope you'll enjoy the game - Beer Ranger. It's a retro-like puzzle-platfromer which makes you think a lot or die trying. You have a squad of skilled dwarfs with special powers and your goal is tasty beer. There is a lot of traps as well as many solutions how to endure them - it is up to your choice how to complete the level! 
      Link to the project: Project site
      Link to the Steam site with video: Beer Ranger
      Have fun and please write feedback if you feel up to.
      Some screens: 




    • By Timothy Sharp
      just to test out my animations, let's say i had a trip animation. How would I code a script to where my character would fall it mud and their clothes would become all muddy? I saw this in a game on Unreal 3 but is this possible with Unity?
    • By cesarpachon
      hello, I am trying to implement a realistic simulation of a roulette wheel. it is not clear for me what is the proper way to simulate the initial status of the ball, when it spins against the edge of the wheel until it loss energy and start falling towards the centre.
      I modelled the conic table as a height map, as I assume that would provide the smoother surface. but I see anyway there is rough squared corners everywhere, so really I don't have a smooth inner wall to slide against.
      I wonder if I should ignore the wall and simulate the sliding by code. i.e: apply force (or impulse?) each frame to keep the ball at a fixed radius and somehow force it to follow a desired angular speed..  later, when I want to execute the falling behaviour, just stop applying that forces and let the simulator and the gravity do their work.. makes sense?
      any advice is highly appreciated!
       
  • Advertisement