Jump to content
  • Advertisement
Sign in to follow this  
scrap

new guy, so many languages

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

What language would be best to learn as a totally newbie programmer, what language would be most effective in learning the arts of programming, but also as a effective language in making games, or that is closley related to the main language used in game progamming.

Share this post


Link to post
Share on other sites
Advertisement
I would say something like java or c# with some really easy to use library. They have similiar syntax with each other and c++ and stuff.

Share this post


Link to post
Share on other sites

Python. It'll still take time to learn, so don't give up or switch languages, but stick with Python for a good long while (at least a year, probably several).

well, would python or C# help me better in the long run?

Share this post


Link to post
Share on other sites
It really depends on your aim. If you're looking for a language that will help you better understand how computers work, I'd go with C++. If you're looking for a language that has fast development times and large, easy to use libraries that handle all the messy business of memory management for you, then Java or C#.

I've heard a number of arguments for and against Python as a starter language. Having recently graduated from a 4 year Comp Sci program, I got to see the transition of the CS department at GMU from Java to Python when introducing programming concepts. Anecdotally, I think the students who started on Java had an easier time transitioning to more advanced subjects than those who started out on Python. I wouldn't cast Python aside though, it's a very useful scripting language, but perhaps not the best for learning fundamental programming concepts.

Share this post


Link to post
Share on other sites
Personally, I tend to prefer C++ for game programming (performance-wise, it's just faster, but does take a bit more time to code in). Java has its places in game programming as well, particularly if you plan on developing Android-based games.

Share this post


Link to post
Share on other sites
thanks all for all of your input, i'v decided ill take C# from the information iv gatherd.

Share this post


Link to post
Share on other sites
Yeah, you may just wanna go straight for C#, but personally I picked Java, because it's platform independent and they say it's a better thing to start with if you aim to learn both (or all). I'm eventually learning all the C languages as well (which will be much easier once you understand programming better).

In time, you should learn them all, unless you're just looking to make some minor apps or whatever.

Also, regardless of the programming language you choose, you should definitely look into Computer Science in general, such as programming methodology, abstractions and much more. That's not coding per se, but it's incredibly powerful stuff that'll make you understand why things are coded the way they are. Learning simple things like proper programming etiquette (clean code, proper commenting, etc) can actually dictate whether you get a job or not.

Check out Stanford University's youtube videos on programming methodology here.

Share this post


Link to post
Share on other sites

If you're looking for a language that will help you better understand how computers work, I'd go with C++.

That's not entirely true -- even low level C++ code (i.e. not taking advantage of library functions) has very little relation to how the hardware of a modern computer works -- modern operating systems provide numerous layers of abstraction and safety, meaning that you'll learn very little about how the computer actually works by writing C++. C++ can however potentially give you an excellent idea of how computers used to work 15-20 years ago, or how some embedded devices operate. Wanting to understand how the underlying system operates isn't really a good argument in favour of choosing C++. All of this isn't to say that some of the things you can learn when programming C++ isn't valuable.


I tend to prefer C++ for game programming (performance-wise, it's just faster, but does take a bit more time to code in).

Sure, that can sometimes be true if the programmer in question is experienced enough to be able to write performant code in C++ -- and there certainly is a performance overhead associated with languages such as C# and Java, and even more-so Python -- no beginner has that experience however, and it's unlikely that they'll gain it for quite a long time. The average beginner will make enough mistakes that their C++ code will end up executing slower than an equivalent program written in a language such as C#, where there are generally less mistakes to be made. Even worse, there's often a tendency in beginners learning to use C++ to try to micro-optimise (having originally chosen the language "for performance"), often resulting in slower final execution when they would have got better results by simply trusting the compiler.


thanks all for all of your input, i'v decided ill take C# from the information iv gatherd

Excellent decision! Be sure to stick through it with the difficulties you'll inevitably face, start out with the basics, and make sure you do lots of practice along the way; just reading about programming won't get you anywhere unless you're actually writing code to try out what you're being told.

Share this post


Link to post
Share on other sites
The problem with a lot of new programmers is that they jump around too often with languages and tools. If you're going to pick C#, grab hold of XNA and just start making games from start to finish once you know the basics of C#, and never give up! I know this isn't an issue yet in your case, but you see a lot of programers that could develop a lot more skill in general game programming if they spent more time with one language and made some games.

If you stick it out, within a few years you will be very happy with what you can accomplish!

Best of luck!

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!