Re: Complexity of new hardware

"Nicholas \"Indy\" Ray" <[email protected]>
Newsgroups gmane.games.devel.algorithms
Message-ID <[email protected]>
On Sat, Apr 25, 2009 at 5:01 PM, Rachel Blum <[email protected]> wrote:
> Actually, I'm referring to type annotations in Haskell. While they are not
> necessary (the inference works quite well), they allow to generate better
>  (i.e. faster/shorter) code. I'm looking to extend that into a more generic
> system where you slowly annotate your code as you learn more about the
> problem at hand.

I ment type annotations to be included in advantages of type
inference, as I haven't seen a type inferred system without optional
type annotations. Anyways, as far as my understand goes, type
annotations provide no runtime performance benefits, but help to
increase safety of computation, a compile time 'assert' of sorts.

> "Calcify" because your code becomes harder and harder to change - the price
> of specializing it for the task at hand.
>
> Since I'm at the hand-waving stage with my thoughts on this, that's about as
> much explanation I can give - it sounded better in my mind ;)

It's nice to be able to start with more malleable code, and then add
types later to ensure safety, I understand.

> I'm curious - what do you feel C++ gives you (on a systems level) that's not
> achievable with C and a decent set of libraries?
>
> Some are, some are not. None of them seem to call for C++. Systems level
> work is done in C. If I need to step onto an OO level while doing systems
> work, ObjC seems a better choice to me, and pretty much *all* prototyping is
> done in Python or other HLLs.
>
> If I'm trying out performance intensive stuff, I'm more than happy to throw
> rather large amounts of computational power at it if it gains me fast
> development. EC2 is your friend ;)

I mostly mean C++ as a superset of C, alas I think C++ has quite a few
valuable additions, destructors, and typed containers which I often
find to be valuable in a lot of code (depending on what value of
'system' I wouldn't choose C++ over C for driver development for
instance.

Other then that, C++ has some valuable performance characteristics,
while I agree that there is great reason to prototype in higher level
languages the performance is often not acceptable in production game
code. For instance the dynamic nature of ObjC classes can provide some
problems, and the insistence for all newer programming languages to be
garbage collected proves to be largely problematic.

> That's entirely due to inertia and unwillingness to explore alternatives. If
> we spent less time on reinventing existing wheels, I'm confident we could do
> a lot of useful work in terms of generating alternatives.

Creating alternatives ends up being much more difficult then switching
to existing alternatives if none of the existing alternatives are a
great match.

> (Side note: I'd *really* love to focus the "game development universities"
> on that. I'd think students would benefit from doing actual research, as
> opposed to vocational training...)

I'm not sure that "game development universities" are yet mature
enough for this.

> I'm surprised that you as an Indy guy (or so I guess from the signature ;)
> feel there are no alternatives. XNA/C# seems a viable one? (Note - this is
> said as a bystander. I haven't used it yet. There's only so many hours in a
> day :( )

Sorry for the confusion, the "Indy" in my signature is a nick name of
mine I've had since long before I got into game development.

However I do have quite a bit of experience with XNA/C# and as it
turns out they have a lot of problems, the performance can be
problematic, GC isn't always desirable when developing games, The
large amount of bounds checking can also be problematic. Additionally,
the nature of being a proprietary language/library vastly limits the
platforms that can be developed for (Mono does a nice job at running
C# but XNA is still a Microsoft only sort of thing). Lastly while it
is possible to call into C/C++ libraries though managed C++, it's
never very pleasant, and on some platforms it may not be possible at
all. Depending on the game, these may actually be non-problems. But I
doubt we will be seeing any AAA titles in XNA/C# very shortly, and I
doubt that is due to the inertia of the entire industry and C++.

Nicholas "Indy" Ray

------------------------------------------------------------------------------
Crystal Reports &#45; New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty&#45;free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
GDAlgorithms-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.