• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
BeyondTheWalls

is learning c++ as first and only language a bad way to go?

20 posts in this topic

Hi guys,

Started in on the tutorial at www.learncpp.com. Got to somewhere in Chapter 3 a couple weeks back and had to put it down and take a break. From reading the first couple of chapters I have realized lots and lots of patience is going to pay off. Anyways, getting back to it:

Without any experience in programming prior to the above mentioned, is it a terrible idea for me to start right in learning C++? I've seen arguments made for instead to learn C#/Python and I understand (or think I do) that it has reason to do with those already running in their own frameworks or environments or something. Before I go further I must say a couple things:

1. I am taking up the hobby of programming in the hopes of 1 day seeing my GDD come to fruition. This hobby is a means to an end, but my math is less than on par and I do hope that an understanding of computer programming will strengthen this area. But who knows, maybe one day I'll enjoy it enough to do it for a living although my real love is my major in the natural sciences. If computer games are a big fail on my part though, maybe I could use some of these skills towards designing/building better climate/weather models that I am studying right now. Who knows, seems like lots of good reasons to learn programming for more than just this now that I really think about it.

2. I have a fear that learning one language will be hard enough and am afraid that learning a more basic one will dishearten me as I'd be afraid of the extra time needed to transfer my knowledge from one to the other.

So, the question is: If as of right now, I'm looking to use programming as a means to an end for my own personal game creation and my ideas may exceed engine limitations (I have no idea), would it be better to keep going learning C++ basics instead of getting into one of the "easier" (hope that doesn't offend anybody) languages that I would think would eat up more of my time?

Also, even though I have started the learncpp tutorial, I have yet to grab an IDE. I know I need a free one for now because even though I want to be dedicated to this project.. well I don't see myself buying an IDE just yet. Are there choices for free C++ IDEs out there? Any input on which ones are good or which ones should be avoided, much thanks.

edit: are there things that free IDEs don't do that can only be achieved through premium ones?

All in all, thanks for reading.
0

Share this post


Link to post
Share on other sites
C++ is not a bad language it itself. You can do anything you want. The advantages of some of the other languages is that you can do things quicker then you could in C++. What might take 20-30 lines of code in C++ you can do in 4-6 with C#, Python or Java. So you will be doing more work to get the same end goal.

The other issue with C++ is that most languages give you enough rope to hang yourself, C++, will tie the knot and put it around your neck. There are a lot more little things that you can mess up in C++ that will cause your app to crash and many of those are fairly hard to find.

So it is up to you. If you really want to know C++, dig in and have fun, but expect that there will be days you want to toss your computer out the window.
2

Share this post


Link to post
Share on other sites
[quote name='TheTroll' timestamp='1329077898' post='4912330']
C++ is not a bad language it itself. You can do anything you want. The advantages of some of the other languages is that you can do things quicker then you could in C++. What might take 20-30 lines of code in C++ you can do in 4-6 with C#, Python or Java. So you will be doing more work to get the same end goal.

The other issue with C++ is that most languages give you enough rope to hang yourself, C++, will tie the knot and put it around your neck. There are a lot more little things that you can mess up in C++ that will cause your app to crash and many of those are fairly hard to find.

So it is up to you. If you really want to know C++, dig in and have fun, but expect that there will be days you want to toss your computer out the window.
[/quote]

Where can I learn game-specific advantages/disadvantages of game languages, does anyone know? I really need to know what the constraints are as they apply to what can be done with games.

Thanks for your reply. Btw, for a troll, that's not too bad. :)
0

Share this post


Link to post
Share on other sites
[quote name='BeyondTheWalls' timestamp='1329076598' post='4912327']
Without any experience in programming prior to the above mentioned, is it a terrible idea for me to start right in learning C++? I've seen arguments made for instead to learn C#/Python and I understand (or think I do) that it has reason to do with those already running in their own frameworks or environments or something.
[/quote]

Usually, you will hear people describe C# (and Python, even Java) as more "modern" languages in comparison to C or C++. Basically this means more intuitive syntax and more fleshed out standard libraries (helper functions). Also, C#, Python and Java are examples of "managed" languages, which means that you don't generally have to worry about memory management (which can get complicated and easily introduce bugs).

[quote]
2. I have a fear that learning one language will be hard enough and am afraid that learning a more basic one will dishearten me as I'd be afraid of the extra time needed to transfer my knowledge from one to the other.
[/quote]

The general advice is that there are certain skills that apply to programming in general, and is language agnostic. So learning any programming language is valuable. Learning multiple languages broadens those skills even more. Once you have gained some experience in programming, moving to a new language is simply a matter of learning the syntax and standard libraries - this gets even easier the more languages you have under your belt.

So, pick a language/environment you are comfortable with. If it is giving you too much frastration, switch. You will not loose anything at this point by not sticking to one and only one language. The more "basic" languages you've mentioned here are fully functional languages, and professional software has and is being made with them, yes even games. The technical details of language choice are quite specific (and argued over even by experts, arguments that threads like these often create), and will not concern you for some time.

[quote]
Also, even though I have started the learncpp tutorial, I have yet to grab an IDE. I know I need a free one for now because even though I want to be dedicated to this project.. well I don't see myself buying an IDE just yet. Are there choices for free C++ IDEs out there? Any input on which ones are good or which ones should be avoided, much thanks.
[/quote]

I would advise against buying an IDE. If using Windows, the Visual Express IDEs (free) are plenty good. There are certain features that you can pay for, but they are not going to matter to you at this point (if ever). Not sure what choices there are on other OS's.
1

Share this post


Link to post
Share on other sites
[quote name='BeyondTheWalls' timestamp='1329076598' post='4912327']
Hi guys,

Started in on the tutorial at www.learncpp.com. Got to somewhere in Chapter 3 a couple weeks back and had to put it down and take a break. From reading the first couple of chapters I have realized lots and lots of patience is going to pay off. Anyways, getting back to it:
[/quote]
No matter what language you decide to start with, patience will be required. Programming and software development requires patience, and no language will magically remove that requirement.
[quote]
Without any experience in programming prior to the above mentioned, is it a terrible idea for me to start right in learning C++? I've seen arguments made for instead to learn C#/Python and I understand (or think I do) that it has reason to do with those already running in their own frameworks or environments or something. Before I go further I must say a couple things:
[/quote]
Generally speaking, C/C++ isn't a very nice language to start with. It has a lot of corner cases that will frustrate beginner programmers. Does that mean you can't start with it? No, you can start with it, but you'll be in for a long hard climb learning both C++ AND programming. We typically (and by we I mean the moderators and a large number of experienced developers on this site) typically recommend starting with something other than C++. Most of the skills you learn WHILE PROGRAMMING are transferable between languages, so learning Python or learning C# will teach you much that you can use in C++. C# and Python are two recommended starting languages because it is easy to get up off the ground with them, and to see results quickly. Seeing results quickly will inspire you to further heights, thus encouraging the learning process. Once you've picked up one language its not that hard to start picking up another. Once you've got two or three languages under your belt, that third or fourth language is pretty easy. The more languages you know the better you get at solving problems because the wider your repertoire of solutions.
[quote]2. I have a fear that learning one language will be hard enough and am afraid that learning a more basic one will dishearten me as I'd be afraid of the extra time needed to transfer my knowledge from one to the other.[/quote]
Most knowledge transfers easily between languages. The thought process on how to solve problems is the primary thing you need to build as a novice and that works between all languages as the underlying principles are the same. There's no such thing as "a more basic language." There are languages that are simpler to work with, more focused in their application, but that doesn't mean they are "basic" and hence "useless", which is the connotation I got from your above sentence. Python, Java, C# have all been used to write games. Just a few that might interest you: Python => Eve Online, a large portion of its client AND server architecture is in python. Java => Minecraft, you may have heard of it. C# => Many games on the xbox 360 arcade are XNA games, written in C#, as well as [url="http://www.arcengames.com/w/index.php/aiwar-features"]AI War[/url]. Heck, even QBasic can be used to [url="http://www.youtube.com/watch?v=UDc3ZEKl-Wc"]write games[/url].
[quote]So, the question is: If as of right now, I'm looking to use programming as a means to an end for my own personal game creation and my ideas may exceed engine limitations (I have no idea), would it be better to keep going learning C++ basics instead of getting into one of the "easier" (hope that doesn't offend anybody) languages that I would think would eat up more of my time?[/quote]
I would suggest NOT starting with C++. I would suggest getting started with either C#/XNA or Python with PyGL/PyGame. Learn the art of programming. Once you have a language (or two) under your belt, migrating to C++ shouldn't be too hard, although you will still run into all of those corner cases I mentioned above.
[quote]Also, even though I have started the learncpp tutorial, I have yet to grab an IDE. I know I need a free one for now because even though I want to be dedicated to this project.. well I don't see myself buying an IDE just yet. Are there choices for free C++ IDEs out there? Any input on which ones are good or which ones should be avoided, much thanks.[/quote]
For windws the Visual Studio Express IDEs are the way to go. Linux.. [url="http://img268.imageshack.us/img268/667/screenshot20120201at114o.png"]vim with nerdtree[/url] [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[quote]edit: are there things that free IDEs don't do that can only be achieved through premium ones?[/quote]
Depends on what you mean. Typically speaking the "premium" i.e. paid for IDEs simply have more features such as optimizing compilers and plugin interfaces for IDE extensions,

This brings me to the final part of my post, which is a big list of links of previous discussions much the same as this very one:[quote]
This one enjoys fairly significant popularity. (Note that only threads containing significant discussion are included.)

1) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=359678"]Professional Games Made In C#?[/url]
2) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=390877"]Java for game development?[/url]
3) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=391050"]Java----C/C++[/url]
4) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=390553"]c++ or c#[/url]
5) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=386188"]Question about Java Vs. C# Vs. C++[/url]
6) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=391044"]Java Games?[/url]
7) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=387695"]Java is fast?[/url]
8) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=389568"]Secondary Language:VB or Java?[/url]
9) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392059"]What makes C++ so powerful?[/url]
10) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392081"]C# games and cheating...[/url]
11) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392099"]Is C# good enough for system utility programming[/url]
12) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=391257"]MC++ vs. C#[/url]
13) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392474"]Which language is best for a 3d Games Engine?[/url]
14) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392585"]C# vs C++ as a choice for development[/url]
15) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=393366"]Is Java the Future?[/url]
16) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=412462"]why C# and not Java? [/url]
17) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=409926"]What do you think of the D language? [/url]
18) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=418236"]my c++ d c# benchmark![/url]
19) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=420595"]The Definitive Guide to Language Selection[/url]
20) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=420039"]Sharp Java[/url]
21) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=420192"]C++ or C#?[/url]
22) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=445201"]C++ or C#?[/url]
23) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=445319"]Java disadvantages[/url]
24) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=445547"]C++ or C#?[/url]
25) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=447967"]Visual C++.net vs Visual C#.net[/url]
26) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=448299"]C# - huh?[/url]
27) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=461361"]which language should i learn?[/url]
28) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=461980"]C or C++ or C#[/url]
29) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=464179"]learn C or C++ ??[/url]
30) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=469797"]Is C still useful in gamedev?[/url]
31) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=526738"]Why C# XNA When Everyone Wants C/C++[/url]
32) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=527814"]JIT compiled code vs native machine code[/url]
33) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=533823"]C++ or C?[/url]

This particular list is my top ten, because of the sheer frequency with which they occur. 12 days, 10 threads.
1) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=390553"]c++ or c#[/url] (5/1/06)
2) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=390877"]Java for game development?[/url] (5/2/06)
3) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=391044"]Java Games?[/url] (5/3/06)
4) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=391050"]Java----C/C++[/url] (5/3/06)
5) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=391257"]MC++ vs. C#[/url] (5/4/06)
6) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392059"]What makes C++ so powerful?[/url] (5/9/06)
7) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392081"]C# games and cheating...[/url] (5/9/06)
8) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392099"]Is C# good enough for system utility programming[/url] (5/9/06)
9) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392474"]Which language is best for a 3d Games Engine?[/url] (5/11/06)
10) [url="http://www.gamedev.net/community/forums/topic.asp?topic_id=392585"]C# vs C++ as a choice for development[/url] (5/12/06)[/quote]
2

Share this post


Link to post
Share on other sites
Thank you all very much. The detail of each post kept getting better and better. You guys have put my fears of choosing python or C# to rest and special thanks to Washu for the lists!

This makes me want to finish studying my silly major (haha), go home and eat dinner, and then read up on which of python or C# I want to start in on. Definitely changed my mind regarding C++ if I can get the same things accomplished in less time with other languages.

Take care and see you around the forums. It's nice to know there are awesome resources like this website available. CHEERS
0

Share this post


Link to post
Share on other sites
After reading most of the linked articles (and flip-flopping like crazy in doing so), I'm going to venture forth with C#. Now to find decent tutorials..
0

Share this post


Link to post
Share on other sites
[quote name='BeyondTheWalls' timestamp='1329076598' post='4912327']
Hi guys,

Started in on the tutorial at www.learncpp.com. Got to somewhere in Chapter 3 a couple weeks back and had to put it down and take a break. From reading the first couple of chapters I have realized lots and lots of patience is going to pay off. Anyways, getting back to it:

Without any experience in programming prior to the above mentioned, is it a terrible idea for me to start right in learning C++? I've seen arguments made for instead to learn C#/Python and I understand (or think I do) that it has reason to do with those already running in their own frameworks or environments or something. Before I go further I must say a couple things:

1. I am taking up the hobby of programming in the hopes of 1 day seeing my GDD come to fruition. This hobby is a means to an end, but my math is less than on par and I do hope that an understanding of computer programming will strengthen this area. But who knows, maybe one day I'll enjoy it enough to do it for a living although my real love is my major in the natural sciences. If computer games are a big fail on my part though, maybe I could use some of these skills towards designing/building better climate/weather models that I am studying right now. Who knows, seems like lots of good reasons to learn programming for more than just this now that I really think about it.

2. I have a fear that learning one language will be hard enough and am afraid that learning a more basic one will dishearten me as I'd be afraid of the extra time needed to transfer my knowledge from one to the other.

So, the question is: If as of right now, I'm looking to use programming as a means to an end for my own personal game creation and my ideas may exceed engine limitations (I have no idea), would it be better to keep going learning C++ basics instead of getting into one of the "easier" (hope that doesn't offend anybody) languages that I would think would eat up more of my time?

Also, even though I have started the learncpp tutorial, I have yet to grab an IDE. I know I need a free one for now because even though I want to be dedicated to this project.. well I don't see myself buying an IDE just yet. Are there choices for free C++ IDEs out there? Any input on which ones are good or which ones should be avoided, much thanks.

edit: are there things that free IDEs don't do that can only be achieved through premium ones?

All in all, thanks for reading.
[/quote]
The answer to question 2 is actually that a programming language is nothing more then learning a second spoken language. The skill involved in programming is actually designing algorithms and being able to understand the requirements that are given to you or that you come up with. All these are skills that are nessecary to be able to program in any language.
Now switiching between Java, C# and C/C++ is easier than you expect as their rudimentary syntax is more or less the same. I had a harder time switching to C# coming from Pascal/Delphi than I had switching from C# to C/C++. But after you have switched a few times it generally becomes easy to do, unless switching to lisp or prolog where you paradigm switches as well (functional and logical programming respectivly).

As an IDE pick MSVC express Visual Studio is a very nice IDE and has a good debugger integrated in it, Netbeans is not a bad IDE either to be honest. I don't like eclipse personnally as an IDE for C/C++ development, I just don't like the concept of not having an explicit build button, but thats a personal preference and overall it is a briliant IDE as well.
1

Share this post


Link to post
Share on other sites
My advice is that if you don't give up easily on difficult issues, go with C++ all the way. What I mean by difficult issues are memory management related ones. It can be a bit harsh and not fun to a beginner to learn that, while also trying to grasp what programming is all about, but on the other side it can educate you in some good practices of how machine resources are used, things that are not so obvious in high level languages that use managed memory, but can also be applied there. It is also good to know what happens under the hood, especially if you want to get into programming real time systems, like games.
1

Share this post


Link to post
Share on other sites
I would agree that C++ is a more treacherous language than modern languages like C#, but don't let that discourage you from trying. You can do a lot of things in C++ that C# would try to limit, which is why it's dangerous.

Also, once you have an understanding of C++, you can easily switch to Java or C#. You'll have to learn some new concepts maybe, but you'll have a pretty good idea how everything works on the low level. I started with C, then went on to C++, and then Java. My first game was in C++, and I can say that going from C++ to C# (which I've never touched before this semester) was a breeze.
2

Share this post


Link to post
Share on other sites
If you really want to see faster returns on building a game, I recommend learning a scripting language instead of a lower level engine language. Learning C++ as a beginner to make a game is sort of similar to saying you want to learn how to build a browser to learn how to make web pages. If you learn an engine and a scripting language you'll get really far. As you become a better programmer, you can jump into engine code when/if you have problems with the underlying engine.

As a disclaimer, I do work for a company that sells game engines...but there are many free versions as well. Lua is a very popular scripting language for games and supported by many game engines.
1

Share this post


Link to post
Share on other sites
Thanks again for all the answers from everybody...

The scope of my project has changed somewhat (I feel for the better). My cousin and I have come to the conclusion that using a game engine will better suit our needs and the new scope of building a demo instead of an all-out game. Why? We were about to sell ourselves short and begin on a single-player RPG instead of an MMO. By going the single-player route there is a much greater likelihood of the project reaching completion. Now we have decided on an MMO demo using the Unity engine. Unity appears to support a wide array of scripting languages which has made me start in on C#. Ultimately, I'm choosing this approach to conserve time and see this thing through. Unity also looks good because one of its partners will provide free MMO service for up to 50 players..

I usually frown upon taking "shortcuts" but I must keep in mind that time is important and both my cousin and I need tools already in place to get development under way.

If anyone has any feedback on advantages and especially major disadvantages of Unity, do tell. Please.
0

Share this post


Link to post
Share on other sites
[quote name='meeshoo' timestamp='1329226676' post='4912957']
My advice is that if you don't give up easily on difficult issues, go with C++ all the way. What I mean by difficult issues are memory management related ones.[/quote]

Please don't take this as an insult, it really isn't meant as one, but whenever I see this comment ( and I see it a lot! ) it marks the commenter as someone who either has rather limited working knowledge of C++, or very little exposure to other languages. This is pretty much a tech meme at this point, that C++ is hard because of memory management, this is flat out wrong.


C++ is fragile because of manual memory management.

C++ is hard for a host of other reasons; a byzantine set of rules, a convoluted build process, the fact it's basically 4 languages smashed together, the complete sh--- er, crap standard libraries and various other reasons. Memory management is actually one of the few aspects of C++ that is actually pretty straight forward, which isn't something you can often say of C++.

[quote name='Naked Shooter' timestamp='1329250181' post='4913096']
I would agree that C++ is a more treacherous language than modern languages like C#, but don't let that discourage you from trying. You can do a lot of things in C++ that C# would try to limit, which is why it's dangerous.
[/quote]

Like what? One a daily basis what exactly is C++ providing you that C# cannot? I can think of a few things, but almost all of them are extreme edge cases. There are a few things that are accomplished in a different manner in different languages ( memory management, templated meta programming, etc ), but those are all just ways to accomplish an end goal. I cannot however think of many "end goals" you can't reach in C# because of it "limiting you".
2

Share this post


Link to post
Share on other sites
A syntax of C++ is quite easy, but ways to do something are more complicated. If you have an idea about C++, then learning other programming languages like C#, JAVA, PHP etc. is more easier.
1

Share this post


Link to post
Share on other sites
Just my 2 cents: If I were an employer for C# or even Java position, I would pick the guy who know his C++ and then transitioned to Java/C# in favor of just a Java/C# programmer.
0

Share this post


Link to post
Share on other sites
[quote name='bboysil' timestamp='1329685961' post='4914614']
Just my 2 cents: If I were an employer for C# or even Java position, I would pick the guy who know his C++ and then transitioned to Java/C# in favor of just a Java/C# programmer.
[/quote]
Really? So you would pick the guy who "might" know the language he professes to have spent his time learning, including all the bad habits associated with it, over the guy who spent his time learning the language that your position is actually focused on?

Good thing you're not in charge of hiring people.
0

Share this post


Link to post
Share on other sites
After five years of making games, you will probably know a little of everything. There's no perfect answer because there is no single path. For example, based on your goals, I would give completely different advice:

If you want to focus on making tools, I'd suggest c#
If you want to focus on gameplay, I'd suggest c#, lua, Python, or a proprietary scripting language (not that c# isn't proprietary)
If you want to be an engine programmer, I'd suggest c++
If you want to be a graphics programmer, I'd suggest c++
If you want to integrate a lot of middleware, I'd suggest c++
If you want to work on Jax and Daxter, learn lisp ;)

It's highly personal...and it's a marathon...not a sprint...so find something that you enjoy doing and you will be able to transition to other tech in the future.
0

Share this post


Link to post
Share on other sites
[quote name='Washu' timestamp='1329686326' post='4914618']
[quote name='bboysil' timestamp='1329685961' post='4914614']
Just my 2 cents: If I were an employer for C# or even Java position, I would pick the guy who know his C++ and then transitioned to Java/C# in favor of just a Java/C# programmer.
[/quote]
Really? So you would pick the guy who "might" know the language he professes to have spent his time learning, including all the bad habits associated with it, over the guy who spent his time learning the language that your position is actually focused on?

Good thing you're not in charge of hiring people.
[/quote]

Thing is that the programmer who knows C++ and low level stuff (maybe assembly?) is [u]more likely[/u] to adapt quicker and solve unforseen problems faster.. He could understand better what happens behind the scenes, etc... "2 years of C++ + 2 of C#" > "4 years of C#" in most cases. I have this belief because I know more BAD programmers who focused only on Java but more GOOD programmers which also know C and/or C++ and have a grasp of everything that happens behind the scenes.

You can clearly see from epreisz's post above that if you want complex stuff that need to run fast.. C++ is the way to go.. if deployment time is the issue and is just a GUI application... then C# would be better... Now I ask you again, who would have the better set of skills? a "C++ + C# guy" or just a C# guy?
1

Share this post


Link to post
Share on other sites
[quote name='BeyondTheWalls' timestamp='1329079005' post='4912331']
[quote name='TheTroll' timestamp='1329077898' post='4912330']
C++ is not a bad language it itself. You can do anything you want. The advantages of some of the other languages is that you can do things quicker then you could in C++. What might take 20-30 lines of code in C++ you can do in 4-6 with C#, Python or Java. So you will be doing more work to get the same end goal.

The other issue with C++ is that most languages give you enough rope to hang yourself, C++, will tie the knot and put it around your neck. There are a lot more little things that you can mess up in C++ that will cause your app to crash and many of those are fairly hard to find.

So it is up to you. If you really want to know C++, dig in and have fun, but expect that there will be days you want to toss your computer out the window.
[/quote]

Where can I learn game-specific advantages/disadvantages of game languages, does anyone know? I really need to know what the constraints are as they apply to what can be done with games.

Thanks for your reply. Btw, for a troll, that's not too bad. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
[/quote]

For game languages (UnrealScript for example is a fairly game oriented language) the limitations really are in the engine the language is tied to (and might change if the engine is still being updated or if the engine can be extended), For general purpose languages(C++,Java,C#,Python,etc) there are no limitations in what you can do(only in how you can do it), There can be platform/runtime/compiler specific issues though that make a language less suitable (or even unsuitable) for a particular project.
0

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
Sign in to follow this  
Followers 0