i cannot make up my mind what language i should use

Started by
9 comments, last by dmatter 10 years, 7 months ago

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

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.

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.

Stay gold, Pony Boy.

I would go with C#

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.

jmillerdev.com

Follow me @jmillerdev

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.

[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

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.

throw table_exception("(? ???)? ? ???");

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.

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.

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.

This topic is closed to new replies.

Advertisement