Dirk Reiners skrev: > Hi Marcus, > > On Fri, 2006-08-18 at 16:50 +0200, Marcus Lindblom wrote: >> Wouldn't you have to go pretty low-level in order to make osgInit() call >> the OS's dynamic linker to resolve things? I've never heard of anything >> like it being done ever before. (If that is what is being suggested.) > > Ah, I see. No, that's not what we're talking about. > > The run-time linker can be configured to resolve undefined symbols > either when the program is loaded, or when it is used for the first time > (by using an indirect jump into a resolver stub). Using the second > method you can start a program with unresolved symbols, load the > necessary .sos before they are used and be fine with it.
I see. >> I think that giving up type-safe linking is quite a bad thing in >> general. Either you have load-linking, or you don't (and in that case, >> work around it via reflection or common plugin interfaces.) > > I tend to agree. It would be throwing away one of the advantages of C++ > over other languages. > >> It seems like we have to define what kind of code we want to write and >> how that code is supposed to link to OpenSG. I don't really see >> reflection/dynamic stuff replacing all my hard-linked OpenSG code >> without performance going down the drain, so what problem are you really >> trying to solve here? :) > > Good point. > >> On reflection & class loading in general: >> > ... >> Making OpenSG bindable to any script language and then making dynamic >> stuff from such a language (python/java/xml/etc) is probably a better >> way to get what we want. >> >> Making good script bindings to java is not easy either, as it is still a >> statically compiled language (which is nice, since you get some support >> by the compiler or the IDE (Eclipse)). >> >> Totally dynamic stuff (python) has it's place, but is not something that >> I would imagine scales to big software.) Also, the more dynamic you make >> things, the more performance you lose. >> >> My plan for our system is to have C++ in the bottom for performance >> critical stuff, a java (or maybe python) binding for GUI stuff, >> BeanShell/Groovy or more python for fully dynamic scripting, coupled >> with some xml to set up scenes with all of our objects. Given a >> java/python binding, everything else falls out quite nicely. > > Sounds like a good plan to me. I can't judge the importance of Java in > this are very well, so I'm not sure how much pain I'd be willing to go > through to get Java bindings (sounds like it would be a lot). > > Python on the other hand has great extensibility, and Allen has made big > steps towards Python bindings. I don't know about Ruby and Lua, which > seem to be used in hte game community quite a bit. I mainly chose Java because I have worked a lot with connecting it to C++ and I know how to get stuff done. :) Also, our company has based it's techonology on C++ and Java, Python, I do not know good enough. I've looked at the C-api for Python and it looks abit messy, perhaps it's much easier when using boost::python or similar tools. Also, is there something like a Eclipse/Visual Studio-equivalent for Python on Windows? How about my earlier comment on trying to make OpenSG swig friendly (perhaps with the aid of some fcdEdit-processing). That would make many ppl (at least me) happy and allow bindings to almost any language, possibly boosting support even more? SWIG is pretty easy to use, especially if the core c++-code has been simplified or modified so that binding is easy. (As swig parses c++-files to make it's own functions, we could make simpler c++-classes to serve as the script-versions of opensg-classes just for the purpose of generating the proxy classes. The c++-backend would still compile to the 'real' swig classes.) I suspect all script-bindings regardless of language need the same 'core' (string conversion, pointer/reference/smartptr handling, etc.). /Marcus ------------------------------------------------------------------------- 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 _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users