Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118772 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 65604 invoked from network); 6 Oct 2022 21:36:33 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 6 Oct 2022 21:36:33 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 621D01804AB for ; Thu, 6 Oct 2022 14:36:32 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 6 Oct 2022 14:36:32 -0700 (PDT) Received: by mail-ej1-f46.google.com with SMTP id q9so2892800ejd.0 for ; Thu, 06 Oct 2022 14:36:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=K/jdd+3W8Bp3sVrhOHnH5xrO+toVt8iA3i5f2oLd9UY=; b=EcfbyesL6woZStavEeD8R6yH27UNREzcZLQ5GsQYlDSEhUa818JrJfq/RCJN3XfqDD Sh0UflSDdGKITS2ihNzxdotV+u3jydt/lamtwlQbsLtFpMWvInXU9lj0MrwFWwj8gJ6t MLmg2xwtZI6f6jrepjwgzQV2pjhrKH9D5IVi5AfzxA44ZV145fv0wZw6zAFScka731ih y18E+lAmyhD0C7BMKZfP8JP+q17KNae7MEw8uyXXVIIpmlydcwmQX6fVFWDcw7WcKkT3 ESIgsKU2xeyDwwOkR4vuaa+zgCXUNmv8mhT6EdIqG7JaAsN74DaW1b+fQgXvXDFgFaVx fTLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K/jdd+3W8Bp3sVrhOHnH5xrO+toVt8iA3i5f2oLd9UY=; b=vOujytW2gb+XyD3ffQZgdK4Bp+XjnRtN5wqOGNRAYCcX1Cob+Tck1nBjRKOl/7KSFL Ro7l0Xmiu2GZgeKXP+aQ3nd5Z79ManlLgugUy1fTrfV6/9ebl/1y0rt4lAhsSBNPKT7Z 97ygIw+Ho6CyX+gseOMn/3oUZb7M9Bey+sb5tvSRDAXydpx20pqcXbKy+3WQGRd0SeFB 50XN+I1G/m7napn7BdJGTfIGrQS5uV667AhWR3ljw3V1ZyrJvloiWd9ru/1OgDNS0UCX QtXbvWucMIT+DFGrfuE3Yo6csBaVbAoBb+/ZUhme9hYmJxrIGmi8eWUO/KbwgNLdN0uj dCKQ== X-Gm-Message-State: ACrzQf2O3frtLAkJfP435r7ob7R3v8c+a/6PLUkZfZJONTcwOfXX4P8C Vu3E6D86y15CoyQYv0aBgjbx2ZxSgh5xnQ== X-Google-Smtp-Source: AMsMyM7k8rpMQ8w3CL4Mq/4ldjiu533M82KKa4ZKcy+tA5AHUydFbcTCGWlRuGiUDXZAszd6Yuy+7w== X-Received: by 2002:a17:906:974c:b0:784:d96c:b4fa with SMTP id o12-20020a170906974c00b00784d96cb4famr1527603ejy.391.1665092190671; Thu, 06 Oct 2022 14:36:30 -0700 (PDT) Received: from smtpclient.apple ([93.175.202.231]) by smtp.gmail.com with ESMTPSA id p9-20020a05640243c900b004573052bf5esm194541edc.49.2022.10.06.14.36.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Oct 2022 14:36:30 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) In-Reply-To: Date: Fri, 7 Oct 2022 00:36:28 +0300 Cc: PHP Internals Content-Transfer-Encoding: quoted-printable Message-ID: <4CBBFC17-2B9A-4FD8-BCBC-98DD49F55C78@gmail.com> References: <1aa20877-3365-0ace-25d2-1cb1be8f3bcc@gmail.com> <55686BD4-4C67-4A4F-8BE4-BDF0149296FB@gmail.com> To: Rowan Tommins X-Mailer: Apple Mail (2.3696.120.41.1.1) Subject: Re: [PHP-DEV] Experimental features From: autaut03@gmail.com (Alex Wells) > On 6 Oct 2022, at 23:12, Rowan Tommins = wrote: >=20 > On 06/10/2022 17:41, Alex Wells wrote: >> For example, Kotlin has recently introduced a new feature - unsigned = integer types. >=20 >=20 > I'm still struggling to understand what I, as a user, would do about = this. >=20 > If I start coding an application that relies on these new types, is = there a chance that they'll be removed completely, and I have to rewrite = it all? Is there a chance that every minor version I upgrade might = introduce subtle changes in the behaviour of my code? Or is there just a = chance that someone will decide the bikeshed's the wrong colour and I = have to regex replace all my "123u" to say "u123" instead? >=20 >=20 > Regards, >=20 > --=20 > Rowan Tommins > [IMSoP] >=20 > --=20 > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php >=20 Yes to all. There's a chance for anything to happen with an experimental = feature any time.=20 This of course doesn't mean it has to happen; actually, it barely ever = happens. It's not like Kotlin ships features without thinking them = through - it's just that they have that fallback to introduce a breaking = change without any additional hassles (like deprecations or keeping a = backwards-compatibility promise) if they want it. Allowing breaking changes in patch releases in Kotlin does sound = reasonable - at the very least most breaking changes will get caught on = compilation stage.=20 This won't happen with PHP, so we're likely better off still limiting = any breaking changes to minor/major releases. Yet we're still winning in = a sense that there won't be any deprecations needed (which not only = saves a lot of time, but also simplifies the process a lot) and will = have a safe window to change the API altogether when problems arise.=20 You as a user act as an alpha-tester of language's feature, with all the = related pros and cons. You get access to all the newest and shiniest, = but you have to always keep track of PHP's changelog (much more than = "regular" users) and be prepared to act upon breaking changes (again, = possibly a lot more than regular users).=