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

2021-01-28 Thread Huidae Cho
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 
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  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@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@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@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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev


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

2021-01-28 Thread Markus Metz
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  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@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@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@lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-dev
>
___
grass-dev mailing list
grass-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev


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

2021-01-28 Thread Huidae Cho
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@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@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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev


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

2021-01-28 Thread Nicklas Larsson via grass-dev
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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev