[geos-devel] boost

Mateusz Łoskot mateusz at loskot.net
Wed Mar 1 06:53:26 EST 2006


strk at refractions.net wrote:
> On Wed, Mar 01, 2006 at 12:38:06PM +0100, Stefan Zschocke wrote:
> 
>>Well I am a newcomer, thus my opinion should not count much, anyway here it
>>comes:
>>I think the source-folder should only contain the core files needed to build
>>the geos-library.
>>Then another folder should take the testing stuff and also the examples,
>>which currently are inside the source-folder tree.


Please, don't get me wrong, but I'd just like to share my comments:

> This has changed in the HEAD branch.
> If you want to help here is a summary of what's going on:
> 
> 	- GEOS is known to be slow

Yes, it is. That's why Java source code should not be projected to C++ 
directly. Java to C++ transition must involve *redesign* because, C++ 
provides quite various paradigms of programming (shortly, combination of 
OOP and functional), so not everything has to be object, second dynamic 
polymorphism, common bread in Java, should be avoided in C++. I mean, 
dynamic polymorphism may cause all C++ robustness will be lost.

> 	- GEOS is known to be complex (probably unnecessarily)

Yup, I'd say there is a need of some UML.

> 	- GEOS ABI was too weak, thus we provided 
> 	  a C-API interface to keep binary compatibility
> 	  in the long term

Unfortunately, I can not get the idea of keeping
double APIs: C and C++ :-)))

If something is written in C++, why to bother with C?

>>If the testing code has depencies on boot - fine - as long as the core files
>>for the library (or dll on Windows) don't have them.
> 
> 
> This will likely be the first step. The configure script will
> check for boost availability and skip unit tests build.

Yes, that's a good idea.

> Anyway, given the premises above, having boost as a requirement
> for the core library might help in reducing complexity (of
> tracking allocations, mostly) and possibly improving performance.

Just as I said. If GEOS Team will find something nice in Boost and will 
want to use it, then Boost should be involved as a core dependency, just 
as STL or CRT.

Cheers
-- 
Mateusz Łoskot
http://mateusz.loskot.net



More information about the geos-devel mailing list