Quote:Original post by transformation
ooh, though since you mention it, is it possible to bind C++ interfaces to Java? because maybe I can do all the networking stuff in Java and the actual interactive stuff in C++ and bind them together somehow? If that's possible, how effective can it be? Is it worth the hassle considering I hate Java and have forced myself to foget everything I learnt in uni about it? Or would it be simpler to stick to what I know?
Yes it's possible but ugly (less ugly with CNI but thats GCJ only) and you don't want to touch java just as much as i do so you would be wasting your time with that. On the other hand you could bind with other languages like Python (
Boost.Python helps out alot in the C++ area), Lua etc, etc. You could even use C++/CLI this lets you reuse code from/to any .NET language (J#, C#, F#, VB.NET, etc, etc) with virtually no effort at all the only minor problem with that is C++/CLI standard (currently moderated by MS but not owned by them) is not yet finalized & published although VC++ 8.0 beta 2 has an imp of C++/CLI, i think it will be done somewhere this Sept-Nov.
Quote:Original post by transformation
I wouldn't mind C# though, but then is portability an issue with that? Becuase the application running on a Mac shouldnt even know that the end it's communicating with is uses Windows, everything has to be completely transparent.
C# & .NET itself is portable, its not own by a sole company, its standardized just a spec that a compiler/library vendors can choose to implement (like the
Mono project).
Quote:Original post by transformation
About RTTI, I always thought that it was like dropping a bombshell on your performance.
It's a common misconception which is observed/profiled on older popular C++ compilers with not so good C++ standard compliance (the main culprut being VC++ 6.0). The best thing for you to do is use a modern, high standard compliant C++ compiler (which most modern ones are) and profile, don't make assumptions.
Quote:Original post by transformation
I'm going to be using RTTI *very* heavily, so from all the things I've heard about the builtin RTTI I thought I'd just build it in myself.
Using "alot of" RTTI is considered a sign of bad design, try to limit its use. Look into design patterns that help to prevent a need for RTTI, type switching code etc.
Quote:Original post by transformation
I've never actually looked at the boost::signals library, I'll check that out now as well. If it's anything like Java RMI then it'll be a big help.
Its not exactly like RMI although i don't really know much about RMI other than what is says on the tin. Boost.Signals is a signals & slots library, a generic callback framework. It can also be viewed as an implementation of the observer pattern with multiple targets.
Notice how
boost gets mentioned alot here, i recommend you do some investigation there, it has close ties with the C++ community & standards committee [grin].