<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">I did not include many details in the idea so here they are.<br><br>On Wed, Feb 1, 2017 at 11:59 AM, Moritz Lennert <span dir="ltr"><<a href="mailto:mlennert@club.worldonline.be" target="_blank">mlennert@club.worldonline.be</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:oe" class="gmail-a3s gmail-aXjCH gmail-m159fa9d9bda09f05">I just the GSoC proposal for a "Higher level API for C and C++".</div></blockquote><div><br></div><div>It it should not remove the existing API but build on to of it.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:oe" class="gmail-a3s gmail-aXjCH gmail-m159fa9d9bda09f05">I _think_ I understand where this comes from,</div></blockquote><div><br></div><div>Good example is the random access to raster cells which runs in all-in-memory and tiling-on-disk modes. Several modules need it, several modules implement it in different ways. Segement library helps but solves just part of the issue.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:oe" class="gmail-a3s gmail-aXjCH gmail-m159fa9d9bda09f05">but it does raise some very fundamental issues about how GRASS is written and should be written,</div></blockquote><div><br></div><div>The implementation should stay the the intact, especially when talking about GSoC. The point is to create a better API. Something link PyGRASS but in C and C++. PyGRASS also uses existing C functions but wraps them in the way they are easy to use (this would be case for C API) or more appropriate to the language (C++).<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:oe" class="gmail-a3s gmail-aXjCH gmail-m159fa9d9bda09f05"> notably, but not only, the inclusion of a C++ API.<br></div></blockquote><div><br></div><div>Add C++ API can be adding just few header files. Limiting the C++ API to what "fits" into a header file has two advantages: same functionality needs to be accessible in C API and it avoids (some/all?) issues of C++ linking.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id="gmail-:oe" class="gmail-a3s gmail-aXjCH gmail-m159fa9d9bda09f05">
<br>
I just want to ensure that there is sufficient discussion on the list about such a project which could have far-reaching consequences. And if we ever decide to for such a project, then I think it has to be made absolutely clear that the student working on this needs to be extremely proficient in C/C++.<br></div></blockquote><div><br></div><div>Agreed. <br></div></div><br><br></div></div>