In my oppinion, pike would have to be a lot more modular to become popular in games. Basically, you would need to chop pike into pieces that can be linked individually. In my mind, those pieces would be:
1) The interpreter Capable or running pike-code, but provides only the most basic functions needed to manipulate data types. The interpreter does not provide a way to load code into memory.
2) The Compiler Capable of compiling pike-code to in-memory code
3) Object loader (could be more than one) Capable of loading pre-compiled pike code into memory.
4) Function library. (or libraries) Provides all the functions needed to make up a complete Pike.
5) Pike executable Uses all of the above libraries to run Pike programs.
Apart from this, all identifiers that don't start with 'Pike' should be fixed to make Pike more embedding-friendly.
/ Fredrik (Naranek) Hubinette (Real Build Master)
Previous text:
2004-02-23 16:54: Subject: Embedding Pike into C/C++ game
I forgot some things in my original email. This is mostly geared towards the developers of Pike, but I'm copying it to the normal mailing list as well.
I wanted to point out that what Kenneth is saying probably is very true. Pike is a very nice and powerful language. Python and Lua are indeed the most commonly used languages in games today. However they aren't without issues - Lua especially (for example very easy to make mistakes that you don't notice until much later). Does Pike have a place here? I think it's possible.
It might have a future in games if it was easily embeddable (and behaved nicely in those cases). Of course the other big hurdle is documentation and lack of bugs. That is as we all know a problem that's harder than embedding to solve.
So the question is, how does this get solved? Is there a document or notes about issues with embedding? For now, limited to embedding a single interpreter in a process (not worrying about multiplicity as Perl puts it, which is a whole other layer of complexity). Has anyone sat down and looked at this more in detail?
/ David Hedbor