Jump to content
  • Advertisement
Sign in to follow this  
SONIC_The_Hedgehog

Language choice?

This topic is 2472 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

So I've really only worked with C++ and directX for a few months now, and I was beginning to wonder, is there a particular language that is more preferred, say C++ vs Basic or Direct3D vs OpenGL?

Share this post


Link to post
Share on other sites
Advertisement
is there a particular language that is more preferred
No, that's a personal question. Everyone has their own preferences.

Share this post


Link to post
Share on other sites
I think it highly depends on the project you're making. If you want to develop a simple web based game for example then neither will be the best choice in my opinion.

Share this post


Link to post
Share on other sites
Guest m41q
Mostly a personal question.

There are some boundaries, for example if you want to make your game for Linux as well, you won´t come far with Direct3D;
Some languages are slightly faster than others or simply easier to understand, but those differences usually are not very big...

Share this post


Link to post
Share on other sites
I encourage "The right tool for the right job". Languages and graphics APIs are tools. You cannot use tools without a goal. You cannot get a pickaxe and just dig without knowing why are you digging. So establish yourself a goal (like a game or application), break it down in simpler and simpler goals (tasks), evaluate what tools you need for completing each task and then learn what you don't know and get them done.

Share this post


Link to post
Share on other sites

I encourage "The right tool for the right job". Languages and graphics APIs are tools. You cannot use tools without a goal. You cannot get a pickaxe and just dig without knowing why are you digging. So establish yourself a goal (like a game or application), break it down in simpler and simpler goals (tasks), evaluate what tools you need for completing each task and then learn what you don't know and get them done.


I agree.

An example I had: You want to make a 2D sidescrolling game. You can do that with pretty much every language and graphics API, however, I didn't want to write a 2D engine/template of some sorts, so instead of trying out different things, I researched a bit: I am a C++ programmer and I heard about XNA was nice and easy to work with, so I check it out. Figured out it was in C#, which was for me personally easy to pick up (doesn't have to be that way for everybody obviously) and the XNA API was widely used, so most of my questions were already answered (not to mention the great amount of tutorials). So I decided to use that and it got the job done. Was it the best choice? Maybe, I don't know. But I got the thing I wanted to do, working in a short amount of time.

So just like Meeshoo said, pick the right tools for the right job. No one will be impressed with (or even cares about) your C++ skills and your nice OpenGL/DirectX implementation in your game. They want to click the exe/shortcut and play, they will not see the difference in many cases.

Share this post


Link to post
Share on other sites

[quote name='SONIC_The_Hedgehog' timestamp='1330836760' post='4919089']is there a particular language that is more preferred
No, that's a personal question. Everyone has their own preferences.
[/quote]


Oh, I thought the answer was Erlang?

Share this post


Link to post
Share on other sites

I encourage "The right tool for the right job".



This is a common maxim, and one I agree with... sorta.

Of course, you can argue what "right" means to fit just about any justification, but often times you are actually better of choosing the wrong tool for the right job, because it was actually more right than you think.

I worked once in an environment that was all about "the right tool for the job" and initially I absolutely loved it. Then as time went by, people came and went and I found myself maintaining C++, C#, VB, VB.net, Python, Perl, etc... code all over the place. Bringing in new hires in such an environment is a gigantic pain in the butt. I have even found it a couple times in the past with prior projects I worked on, where I would switch languages because one was the "right tool", only to discover I created a maintenance nightmare. Even after close to 15 years professionally programming, and using a number of different languages, I actually find "switching gear" and using a different language... tricky. C#, C++ and Java all have some very similar aspects, and I can program at at least an intermediate level in all of them, but idiomatic C++ is vastly different than idiomatic C/C#/Java, etc... Switching between languages, even within the same project, at least to me, results in me writing a pseudo C#/C++/Java mash of goo, which is a no-no.



Not disagreeing with you, just putting out there that sometimes the wrong tool for the job is often still the right tool. Granted, this conversation probably doesn't belong in "The Beginners" forum.

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!