Re: Re: [RFC] Numeric Literal Separator

From: Date: Wed, 29 May 2019 15:48:14 +0000
Subject: Re: Re: [RFC] Numeric Literal Separator
References: 1 2 3 4 5 6 7  Groups: php.internals 
Request: Send a blank email to internals+get-105797@lists.php.net to get a copy of this message
On Wed, May 29, 2019 at 6:34 AM G. P. B. <george.banyard@gmail.com> wrote: > I share the same concerns as Rowan Collins From my reading of Rowan's email, he was making a general point that new features can have a cost of added complexity for users. He then clarified "I don't personally think that applies here". > I'm really not a fan of the RFC in general. Also I think those kind > of magic numbers should be constants with meaningful names, and it > that case you could just compute them by adding powers of ten. > E.g. DISCOUNT_IN_CENTS = 1 * 10^5 + 3 * 10^4 + 5 * 10^3; Actually I think this example highlights why numeric literal separators can be very helpful for improving readability and preventing mistakes. First, which of these is faster to read? ```php $discount = 1 * 10**5 + 3 * 10**4 + 5 * 10**3; // or $discount = 135_00; ``` Secondly, your example of adding powers of 10 is off by an order of magnitude! It's equivalent to $1,350.00, not $135.00, but this isn't very obvious when reading the complex expression. Of course, if you prefer the first approach you can continue using it. But personally I find the second approach quicker to read and less prone to mistakes. > Moreover I feel that people may misread numbers like that if people > use different groupings. E.g. 1_0000_0000_0000; by skimming rapidly > I could think it's a billion(10^6) when in reality it's a trillion > (10^9). Even if maybe some countries are moving away from the > grouping digits in groups of 4. Even with the different grouping, it's faster for me to count the digits in that number than if it had no separator at all. > I'll probably vote against it but that's only my opinion. That's up to you. But even if you don't personally have a need for the feature, I think it's worth considering that there are valid use cases for it which can help improve code readability and clarify intent. Best regards, Theodore

« previous php.internals (#105797) next »