[GRASS5] OOP and 3rd party libs

Robert Lagacé lagace at echo.grr.ulaval.ca
Wed Jun 7 22:37:27 EDT 2000


My very shorts comments (not better than others)

David D Gray wrote:
> 
> Hi developers
> 
> I have been giving some thought recently to the question of third
> party libraries in the GRASS environment, and how far we
> might want to go in incorporating them into the main
> distribution. To give a few of the matters arising:
> 
> 1. Most large scale projects in the number-crunching zone,
> whether they are free software, open source, public domain,
> or whatever, incorporate some form of the BLAS/LAPACK libraries
> for efficient linear algebra computations. Am I right in thinking
> GRASS does not have this? Its presence would take a lot of
> the burden away from developing separate routines in each module
> and allow developers to concentrate on GIS specific code.
>

Only if they are part of the OS or GPL.  Otherwise, it will be trouble 
for large diffusion.  Non OS or GPL, only for special projets not 
part of main distribution.
 
> 2. As an extension to the above there is the whole question of
> linking to Fortran code. We already have some Fortran routines.
> Do we have any Fortran developers? If I am right, this was
> settled in the GRASS camp about 10 years ago - long before my time -
> when it was decided as policy that future development would
> concentrate on C and Fortran routines would be deprecated.
> This is fine as far as it goed but I don't think we should
> reject external Fortran routines if they do a specific job
> more efficiently,  and in any case will be maintained by others
> who have skills more appropriate to the task, eg. mathematicians.
> I am thinking of things where heavy repetitive number-crunching is
> involved - co-ordiantes transformations, as in projection support,
> possibly, finite element analysis, stats or (as above) linear algebra
> routines.
>

I know Fortran and any Fotran subroutine can be converted to C.  
It depends on how many Fortran subroutine are present.
 
> 3. Extending further, what about useful libs in other languages.
> There is a lot of code in C++, and some in Ada95, that might be
> useful. Again even if we are not using these languages ourselves
> they are widely cross-platform and easy to link to C code. It is
> much easier to find implementations of B-trees, RSTrees and the like
> in C++ than in C, and they are often well-maintained.

I like C++ and C++ isfar easier to teach to graduated students without 
great computer expertise.  It support OOP.  One thing is to start 
developping some high level C++ libraries which use the base C libraries. 
Peoples can use the level they prefers (C or C++).  I will not recommand 
of developping C++ libraries independently of C libraries.

> 
> 4. Then - how much do we want ot rely on third party libraries?
> They will generally be maintained by others, though they will
> be GPL/BSD licensed, so we should be able to modify/improve them
> as we see fit, and return the results to the broader community.

If they are high quality, I agree.  I do it often.
> 
> 5. Finally, what about OOP. DO we want to start developing OOP
> rouitnes within GRASS itself. I know some people regard OOP as
> unnecessary, but others might feel the edge it gives development
> to be indispensable. Others don't like C++. But there are
> other options: Ada95 I have mentioned, and we have already
> had numerous postings where people have praised Python as a
> worhty development language for GRASS (with which I concur). There
> is also Objective-C, which is more like a `natural' extension to
> C itself, but is perhaps not so portable right now.

OOP is interesting but needs some thinking and discussions.  I used it 
more and more.  I plan to do it in extending some GRASS functions for 
our needs.  I thing GRASS has some potential and interest but it needs 
to be shown before preceeding.  Experiments are require.  

> 
> I would be interested to know if anyone else has had any
> thoughts on these matters, and if so what they see as the
> way forward.
> 
> Best wishes
> 
> David
> 
> ----------------------------------------
> If you want to unsubscribe from GRASS Development Team mailing list write to:
> minordomo at geog.uni-hannover.de with
> subject 'unsubscribe grass5'

-- 
Robert Lagacé, professeur
Pavillon Comtois
Université Laval
Ste-Foy, Québec, G1K 7P4
tel : (418)-656-2131#2276
Fax : (418)-656-3723
E-mail : lagace at grr.ulaval.ca

---------------------------------------- 
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'



More information about the grass-dev mailing list