On Mon, 2006-07-10 at 11:51 -0400, Stephane Le Dorze wrote:
> As I told before; I am considering using Felix as a high level
> programming language in Video Game.
> 
> My preferred choice as: “The next video game mainstream programming
> language”.
> 
> Video games are a real time application and cannot suffer the “stop
> the world” side effect of garbage collection – especially in a
> multiplayer (client/server) environment.

This isn't right: it's equivalent to saying you cannot 
afford to waste time in C++ saying 'delete object'.

Consider a singly linked list .. delete the head.
Woooopppppppsssss. That's a recursive descent down the 
list calling the destructors. You *already* have a world
stop garbage collection in ordinary C++, just from deleting
a list. 

Basically, Felix isn't an FPL. It doesn't spew millions
of fresh objects on the heap. There's rarely anything
on the heap at all! You have to be using unoptimised
closures and variants .. and you can't get around the
memory management issues that leads to in C or C++
either: cyclic data structures can't be ref counted,
so what are you going to do?

In a game, I guess I'd be collecting every frame,
60 fps or whatever. Thus .. no jerks or freezes for
the game player. If you end up with too much heap
for that to be practical .. start using 
data structures that don't use so much heap.

Remember in Felix you can delete Felix heap objects manually,
and you can always use malloc/free for objects not containing
Felix pointers. For example, Felix uses C++ string class
for strings. The char * is managed with constructors and
destructors as in C++ .. it can't contain any Felix pointers.

Actually .. gc-ing the strings might be better. Copying
strings around can be quite expensive ;)

-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to