Jump to content
  • Advertisement
Sign in to follow this  

i cannot make up my mind what language i should use

This topic is 1726 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 cannot make up my mind on which language to use

 

I have decided to narrow it down to c , c++ and c sharp.

 

I need tip on wich 1 to use, I will need to be able to program all sorts of ios and mobile units such as android , windows phone and iphone.

And all sorts of other platforms.

Best wishes tobben

Share this post


Link to post
Share on other sites
Advertisement

I would strongly advise against C.  Bjarne Stroustrup, the author of the original C++ language, offers a convincing paper about learning C++ vs. C:

 

http://www.stroustrup.com/new_learning.pdf

 

As for C#, I've programmed it a little.  I guess with the CLR you have the advantage of writing to multiple platforms fairly easily, but I'm sure others have far more experience in deploying C# apps.

Share this post


Link to post
Share on other sites

Normally, iOS devices use objective-c.

Normally, android devices use Java.

I believe that C# is the only option for windows phone.

Your best bet is probably C#....from a quick google search it seems to have the most multi-platform libraries/dev environments that support android and iOS.

It is also very easy to transition from C# to java, so if you want to make android apps in java later, you can do so.

Unity is a game dev environment that can output to many platforms, and also uses C#.

 

But honestly....

If you have never programmed before, you are a long time away from making any kind of "hit" game....therefore, multi-platform should be the last thing to worry about.

What device do you personally own and use? For starters, just focus on that device. Programming is fun, but if you shoot too high, it can also be a headache. 

Share this post


Link to post
Share on other sites

Use unity, and go with C#. 

 

Learning C# will help you with other things too, not just game development. There are lots of interesting technologies that use C# for web, mobile, desktop applications, etc. It's also a nice language to look at IMO, and the .NET and MONO frameworks help beginners and pros not have to reinvent the wheel. 

Share this post


Link to post
Share on other sites

I cannot make up my mind on which language to use

 

I have decided to narrow it down to c , c++ and c sharp.

 

I need tip on wich 1 to use, I will need to be able to program all sorts of ios and mobile units such as android , windows phone and iphone.

And all sorts of other platforms.

Best wishes tobben

To be honest, you won't be able to do any real mobile development until you've had enough programming experience and likely learned all three of those.

 

So here's what language you should use:

  1. Get three people
  2. Each person represents one of the three languages you're considering
  3. Play Rock, Paper, Scissors
  4. The champion is the language you should use

 

Because honestly, fussing about which to start with is a waste of time. People might have various arguments (some of them even being valid) about which to start with as a beginner, but none of this matters if you don't just pick a language and roll with it until you have a decent grasp of it. Then move onto another language. Then another. Learn several. Master a few.

Share this post


Link to post
Share on other sites

Normally, iOS devices use objective-c.
Normally, android devices use Java.
I believe that C# is the only option for windows phone.

 

  • iOS API calls (System, UI, etc) are objective-C, so in that way it "defaults" to Obj-C. But it supports C, C++ and C# through monogame. Other languages too.
  • Andried API calls (System, UI, etc) are Java, so in that way it "defaults" to Java. But it supports C, C++ and C# through monogame. Other languages too.
  • Windows Phone 8+ API calls are C/C++ underneath with projections to the CLR and Windows Runtime, so in that way C++, C#, VB, and even HTML5/Javascript are all (more or less) equally first-class languages. C# was the preferred language in Windows Phone 7, and there was no native-code dev support.

 

The best ways to target all of these devices is either to use something like Unity, Monogame, or using C and C++ for the core simulation of your game, with a thin layer in the platform's default language to interact with the platform APIs (though some platform APIs might be made available directly to native code, such as OpenGL). The latter approach is really the only viable one if you want to really push the envelope across platforms and even on lower-end devices. For games that don't push quite so hard, Unity or Monogame will be the options that require the least platform-specific code.

Edited by Ravyne

Share this post


Link to post
Share on other sites

Coming from a C developer(ok, wannabe developer) I am attempting to make my 2nd game with C, the problems I've encountered is the lack of engines and only one or two here and there. C++ has more engines both for 2D and 3D and is generally the industry standard for PC games. It offers OOP, STL and many other features at the cost of complexity.

 

But you need to figure out which platform you are targeting, PC or mobile. Once you've figured that out, find the common ground between the mobile competitors so that your code is as portable as it can be so you can run it on say both Android and iOS with less hassle. 

Edited by farmdve

Share this post


Link to post
Share on other sites
Of those, I'd suggest C# as a first language. As a managed language there's less you need to be aware of than C++, and it's higher level than C.

There's no reason to program in C when you can use C++, IMO. C's main use is where C++ compilers don't exist, i.e. embedded platforms.

Share this post


Link to post
Share on other sites

Dont start with a mobile game.  You are just adding a layer of complexity for very little gain.  When learning, simplify as much as humanly possible.

 

Otherwise, flip a coin.

Edited by Serapth

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.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!