[GRASS-dev] Min. req. of programming language standard support, GRASS GIS 8

Huidae Cho grass4u at gmail.com
Thu Jan 28 09:30:08 PST 2021


Markus,

I think we have to think about what benefits it would bring to us by
modernizing C code. Probably, not much at all. Personally, I would keep it
as is because the minimum set of anything (e.g., ANSI C with no new
features) would probably be more portable, I believe. In other words, what
are we missing from C99?

Regards,
Huidae

On Thu, Jan 28, 2021 at 12:19 PM Markus Metz <markus.metz.giswork at gmail.com>
wrote:

> Hi all,
>
> regarding C, there is no need to modernize the code base because the
> current C code written for C89 compiles just fine with newer standards
> which are backwards compatible it seems. The question is if we allow
> features from a newer C standard, say C99, to be included in the code base.
> In fact, a few C99 features (supported by gnu89) have already sneaked into
> the GRASS C code base. I am opting to allow C99 features.
>
> Regarding C++, it's a bit more difficult because apparently C++ standards
> are not fully backwards compatible. We had corresponding problems with C++
> code in GRASS previously and fixed these problems when they arose.
>
> Markus M
>
>
> On Thu, Jan 28, 2021 at 3:33 PM Huidae Cho <grass4u at gmail.com> wrote:
>
>> Nicklas,
>>
>> Thanks for your suggestions. As far as I know, C code "is written in
>> portable ANSI-C and is fully POSIX compliant" [1] (C89 or C90?, rather old
>> standards, I know, but GRASS itself is old and predates both standards) and
>> the minimum "recommended" version of Python going forward is 3.5 [2]. I
>> don't know about C++, but there are not many modules written in it.
>> Modernizing the current code base to a newer C standard would be great
>> though.
>>
>> Best,
>> Huidae
>>
>> [1] https://old.grass.osgeo.org/screenshots/platforms/
>> [2] https://github.com/OSGeo/grass/blob/master/REQUIREMENTS.html
>>
>>
>> On Thu, Jan 28, 2021 at 4:28 AM Nicklas Larsson via grass-dev <
>> grass-dev at lists.osgeo.org> wrote:
>>
>>> Dear Devs!
>>>
>>> As a relatively new member of the GRASS GIS dev community, I have had to
>>> search for information on mailing lists, old trac comments etc. regarding
>>> coding practice and in particular minimum programming language standard
>>> support. Ending up in not entirely conclusive understanding. Up until now,
>>> I have been mostly involved in Python development and I’m still not
>>> absolutely certain, although I assume 3.5 is minimum version. And I’m not
>>> alone, see e.g. [1].
>>>
>>> Now, I’ve encountered a similar dilemma with C standard support,
>>> attempting to address compiler warnings [2], in particular with the PR
>>> #1256 [3].
>>>
>>> I would be great if there were a (one) place where the min support of
>>> Python version, C (C89, C99, C11, C17…) and C++ (C++03, C++11, C++14 …)
>>> standard is stated -- loud and clear. Obviously, there has to be a
>>> consensus in the community on these matters for that to happen. Such a
>>> statement will also have to be revised now and then. (A related question is
>>> also whether or not to support 32 bit, which I know have been raised
>>> recently).
>>>
>>> I’d appreciate your opinion is on this issue!
>>> Let me put up a a suggestion for min. req. for coming GRASS GIS 8 as a
>>> starting point of discussion:
>>> - Python 3.7
>>> - C11
>>> - C++11
>>>
>>>
>>> Best regards,
>>> Nicklas
>>>
>>>
>>>
>>> [1] https://github.com/OSGeo/grass/issues/1241
>>> [2] https://github.com/OSGeo/grass/issues/1247
>>> [3] https://github.com/OSGeo/grass/pull/1256
>>> _______________________________________________
>>> grass-dev mailing list
>>> grass-dev at lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/grass-dev
>>>
>>
>>
>> --
>> Huidae Cho, Ph.D., GISP, /hidɛ t͡ɕo/, 조희대, 曺喜大
>> GRASS GIS Developer
>> https://idea.isnew.info
>> _______________________________________________
>> grass-dev mailing list
>> grass-dev at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/grass-dev
>>
>

-- 
Huidae Cho, Ph.D., GISP, /hidɛ t͡ɕo/, 조희대, 曺喜大
GRASS GIS Developer
https://idea.isnew.info
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20210128/2129a8e2/attachment-0001.html>


More information about the grass-dev mailing list