[CCing bug-gnulib]
Mohammad Akhlaghi wrote:
> Dear Bruno,
> 
> Thanks for sharing the good news about the speed improvement. Gnuastro 
> uses Gnulib and it has been very valuable :-).
> 
> I had two questions:
> 
> 1. Will the shell version of Gnulib-tool continue to be the main version 
> for Gnulib?
> 
> 2. Why did you chose to do this in a high-level and ever-changing 
> language like Python? If the shell version of gnulib-tool is deprecated, 
> this will add Python as a bootstrapping dependency of all the projects 
> that use Gnulib (which is not good, because Python packages usually have 
> MANY dependencies and can complicate the build environment by 
> conflicting in their versions with other packages, virtual-env or Conda 
> also add other complications).
> 
> Cheers,
> Mohammad

Re 1: This has been discussed just yesterday [1][2].

Re 2: I disagree with the negative connotation in the "ever-changing language"
qualification. When the rewrite was started in 2012, we were targeting
Python 3.0 to 3.2. Now we are targeting Python 3.7 to 3.12, and we did not
have to touch _a single line of code_ due to obsolete or incompatible
syntax or features.

ISO C, btw, is also "ever-changing", and in practice, it causes more problems
than that. (For example, when clang 17 dropped the support for C 89 syntax
in favour of C 23.)

Why we chose Python? That was a longer thought process. First we had an
initial discussion [3][4][5][6], which convinced me that Python is the best
choice. Then in 2012 I did a final verification of trends ([7]) that showed
that Python's popularity was not likely to go away soon.

Regarding bootstrapping dependency: See [8].

Regarding Python packages: gnulib-tool does not use Python packages. It
works with a Python compiled from source from the original tarball, with
no add-on packages.

Bruno

[1] https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00331.html
[2] https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00334.html
[3] https://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00034.html
[4] https://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00036.html
[5] https://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00037.html
[6] https://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00059.html
[7] http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
[8] https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00351.html




Reply via email to