Re: 'Uninitialized' creates a lot of cluttering
| From: | Robert Landers | Date: | Mon, 13 Feb 2023 12:12:25 +0000 |
| Subject: | Re: 'Uninitialized' creates a lot of cluttering | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-119543@lists.php.net to get a copy of this message | ||
On Sun, Feb 12, 2023 at 6:47 PM Rowan Tommins <rowan.collins@gmail.com> wrote:
>
> On 12 February 2023 11:11:31 GMT, Lydia de Jongh <flexjoly@gmail.com> wrote:
> >The features of a programming-language should not be about preventing
> >mistakes, imho.
>
>
> What is the point of marking the type of a property, other than to prevent mistakes?
>
>
> >For me it is about the cluttering in an otherwise clean property list.
>
>
> It's only "clutter" if you don't think it conveys useful information, and
> that's obviously a matter of opinion.
>
>
> >And I think that implicit null on nullable properties could fit nicely
> >here. For null is a valid value for a nullable.
>
>
> For a type of ?int, null is indeed a valid value; but so is 0, and -1, and so on. Why should
> the language assume that one default, among all the possibilities, if you don't specify any?
>
>
> Regards,
>
> --
> Rowan Tommins
> [IMSoP]
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php
>
> What is the point of marking the type of a property, other than to prevent mistakes?
In non-strict mode, it coerces quite nicely. For example, a string to
an integer or an integer to a string. These aren't "mistakes" but
making use of the language features.
> For a type of ?int, null is indeed a valid value; but so is 0, and -1, and so on. Why should
> the language assume that one default, among all the possibilities, if you don't specify any?
I hope we can all agree that
null is the absence of a value. Now we
currently have two different meanings of "absence of a value" which is
super annoying sometimes.