[gameprogrammer] Re: C# vs C++

  • From: Alan Wolfe <alan.wolfe@xxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Wed, 11 Feb 2009 08:58:54 -0800

Well, I'm sure people thought with the advent of graphic cards that
programmers would be able to relax regarding graphics processing and just
let the GPU do all the work.

Or perhaps, with massive amounts of ram and faster CPU's that optimization
wouldn't be such a big deal since computers went from having about 4MB RAM
max and 500MB HD space max w/ 486's to now where people have like 4GB RAM
and 500GB HD space.

but the truth is, games have grown in scale / complexity / necessary
computing power to where these things are required minimums, not way too
much like people thought.

Basically, game programming has always been about getting the most out of
what you have possible, and finding new, innovative ways to go above and
beyond what other people are doing, to make the latest and greatest thing.

Because of this, i personally don't think C++ is going to be replaced any
time soon, deffinately not by Java or C#/.  perhaps a language like D could
do it, or maybe even lisp (i hear in some cases, because of how lisp works
it can run faster than C++).

But, C++ is by far still the language of choice for database, operating
systems, real time applications and games, both console and pc :P

cell phones are their own beast w/ j2me of course (:

and flash games are as well :P

for everything else, cpp ftw right now


On Wed, Feb 11, 2009 at 12:42 AM, Paulo Pinto <pjmlp@xxxxxxxxxxxxx> wrote:

> Hi,
>
> not that kind of productivity.
>
> With modern languages you can use tools and techniques that you can only
> dream of in C++.
>
> Just look what refactoring possibilities modern editors offer to Java and
> C# in comparisation with
> C++. Or the tools that manipulate code. The C++ syntax is just too complex
> for that sort of thing.
>
> The available tools for C++ are not that capable.
>
> And not to say also something about compilation times. The time of having
> separate text headers,
> and compilation/linker phases is really old.
>
> If you want to use reflection or serialization in C++ you always have to
> resort to some kind of macro
> klundge because the language lacks the proper support.
>
> Since I work mostly on the "usual IT" world maybe my opinion is too biased
> to this field. Here C++ is
> long gone as the language of the day. Everytime I get to know about a C++
> project, it has legacy written
> somewhere. Not that the language is legacy, not at all, but new projects
> tend to favour other languages.
>
> As I said, I am already a bit old in this industry. So I remember when game
> developers only used Assembly
> and everyone else was using C, then they started using C when everyone else
> was learning C++ and so forth.
>
> C++ is still the language to learn if you are in the industry, there is no
> way to avoid it. To many engines are C++
> based and that is the language most studios are looking for. But someday it
> will be replaced.
>
> Maybe Java and C# won't be that new language, but for sure there will be
> one.
>
> --
> Paulo
>
>
>
>
>
>
> On Wed, Feb 11, 2009 at 1:34 AM, Matthew Weigel <unique@xxxxxxxxxxx>wrote:
>
>> Paulo Pinto wrote:
>>
>>  True, the new languages, when they appear are a bit slower than the
>>> current ones, but the increase
>>> in productivity compensates the slower speed. And with time, the
>>> compilers and hardware improve
>>> and they are not slower any longer.
>>>
>>
>> The thing is, I used to work in Java (not for games), I've done some C#,
>> and the increase in productivity... I haven't really seen it.  It's faster
>> to learn Java or C#, you have to worry less about memory (you still need to
>> think about it more than most do coming right out of school), but once
>> you're up to speed (and particularly up on templates), I don't think there's
>> a statistically significant difference.
>>
>> Maybe it makes sense from a different angle, like who you can hire, or
>> existing libraries, or binary portability... but pure programmer
>> productivity?  Java and C# and C++ and Objective-C all seem about on par to
>> me.  Use what you like, the performance and productivity differences are
>> going to depend more on your code than the language.
>>
>> I'm not trying to make an argument about being just as productive in
>> assembly as in Visual Basic, or anything like that; I know other languages
>> where I can work a lot faster than C++ like Perl (and more modern scripting
>> languages like Python and Ruby that I haven't worked with).  Hell, once you
>> get past the learning curve, I'd put forth Lisp as fitting into that
>> category as well.
>>
>> --
>>  Matthew Weigel
>>  hacker
>>  unique & idempot . ent
>>
>> ---------------------
>> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
>>
>>
>>
>

Other related posts: