On Tue, Dec 28, 2021 at 5:00 PM Marc Chantreux <m...@unistra.fr> wrote:
>
> long time ago, there was this 'use v6' line ... Does it still make sense?

I think it depends.

----

Let's first ignore Perl.

Also, let's first assume your code is not visible online.

----

Imo *not* including a language version statement is an explicit
way to say "I explicitly don't care if this program works the next
time it gets compiled". (Where, by "works", I mean it compiles
and/or runs correctly, or at least as correctly as it did last time.)

In some cases that is a perfectly reasonable attitude to have.

If you're going to be there when the program is next compiled
and/or run, or can easily react if anything doesn't work, and
*especially* if you're in control of *updates* to your compiler
(presumably Rakudo, at the very least in the next few years),
then specifying the language version is mostly redundant.

If instead you want your program to run as best it can, then
imo an explicit language version `use` statement is needed,
even if it's `use v6.d+;` or whatever nails down (or explicitly
does *not* nail down) what language version(s) you want to
signal are appropriate.

----

Now let's continue to ignore Perl, but assume your program
or library may be visible online. (Even if just on github but not
intended to be part of the public ecosystem.)

Consider those who develop Raku and/or compilers or tools
for Raku. Let's say they're considering a change to Raku or
a change to a compiler/tool, and the change's impact on any
given source code depends on the Raku language version
that that source code is presuming. So they decide to do an
investigation of code in the ecosystem and in the wild, to get
an idea of the practical scope and scale of the impact of the
change.

If your code does *not* explicitly declare what version it
presumes, it may not be possible, or at least viable, to
analyze it.

Does this matter?

Well, it's a bit like climate change. Each little thing we do
makes close to no difference at all. But the sum total of
what we do just about entirely determines what our future,
and our childrens' futures, will be like.

In this case it's "just" Raku. Does it matter?

----

Finally, what about Perl?

I see consideration of Perl as being pretty much the same as
consideration of Raku. So I do, or don't, write a Raku language
version statement, without thinking about Perl, feeling that if I
do what's right for Raku, it'll be roughly right relative to Perl too.

--
love, raiph

Reply via email to