Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124027 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id C57BC1A009C for <internals@lists.php.net>; Sat, 29 Jun 2024 11:15:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1719659793; bh=M5mbibcQYMWgrLEzXUsD6uXkLoJ+HMNxQ0aXURLUOHE=; h=In-Reply-To:References:Date:From:To:Subject:From; b=CMXVcWk6/og9c4gsJI9jTbfY1uFkRb6zBOJy2myYlMqeI5rGNvDYlL9F9aFZRTyDZ aL+N7OsZbO7+xRdABElg7zH1SN8pW15OXBjUiB2gJ7PQOCYhkRW/KLdgv96q/obl0+ aLmgNzCC+wHaPYzTDvPTV71/bcLjMzPE5UZL4eSjo07ZrO2VVZO4BMpd7mVy9SnwCL a+1SbQObR6lL79NJvlNkQLRM7lI65AMlV0EvSWzGQd3d3ksMA7VwybJfDvG+2MMvKL KtjFh/caMb1p2wk0iL1TNtplCmdwP318ilasnlwxbkNoBh3gdhmJ7eiYKjJAD+lTDj 3S0D446NMehzw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id EBA8A180D4D for <internals@lists.php.net>; Sat, 29 Jun 2024 11:16:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,HTML_MESSAGE, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: <rob@bottled.codes> Received: from fout3-smtp.messagingengine.com (fout3-smtp.messagingengine.com [103.168.172.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for <internals@lists.php.net>; Sat, 29 Jun 2024 11:16:32 +0000 (UTC) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfout.nyi.internal (Postfix) with ESMTP id A61B613804E1 for <internals@lists.php.net>; Sat, 29 Jun 2024 07:15:12 -0400 (EDT) Received: from imap49 ([10.202.2.99]) by compute1.internal (MEProxy); Sat, 29 Jun 2024 07:15:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bottled.codes; h=cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1719659712; x=1719746112; bh=iSLcTb2g6j ca/LSTygU0Onl/pHITtItJ32JTIv7JjWU=; b=SdcEA6XnjrVl7yRUTtXX88X43M ONwWr60yBg6fEabvndju3FkPEFsor5Gm5N0ZnLUaGtjVrRH08YJAX2iJ4YGvdZp7 mvsZwodmtGIaM5UqbIouI0BWXmE7eldi0C0AvdQT5Uq6Ts3M9X6eBS6x5zSiPtZB cfq0JR3aOLQ6FWqoD4K1Z8IBEw3S0hYi5iG9haHzhRXIl/o5anv1Aj5mn5B/7Tua C5YRrPjyROJYl4qatfXdlfnGRuq0jIYs39qaL+pY882f2v47dTo+78npcTcr/s7O Jr7ferDq7dr9JdJokaYCEbVh4Fg7KkmDz01KdNQ3NXMAe/Px3DEHcjPoyzjQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1719659712; x=1719746112; bh=iSLcTb2g6jca/LSTygU0Onl/pHIT tItJ32JTIv7JjWU=; b=cTF8Xai21J2wJMv/1ODgSzmdQJWlph/ssPtwICalZ9KB +yjAteZm6Psqg0leTYP6ASuUCVGYEcMl6S9Wv1kuqSjNIg5LxJ4ieub2fX5i5E2g hCGlKbW1YJwCgO7QEwP7q0DLOgwqAZCq3gEQoVRTq1wNVTtI8rXjb/LhWq3ROmWJ OpAYtetG2xYUl5KXWFs3BBifEfV9pxFr4amcCuT5fb5zaC5aar1LFopAS7foUBxc AtPsWY8yDYOyOminc1/0sA82ymPsdXwZC7MXrZG5sBTupWbEWrULg4xl9fd8lsBI SaKwoySWuxs2MjvW52OsSpPMyyCcAFsCTT/WM76WSg== X-ME-Sender: <xms:wOx_Zp4r3Mt0ZDfVY8bRlUboofmpI0gNLQtLsb8kuHNr2p8YktdInQ> <xme:wOx_Zm6ijB2cCNTGtxt9SH6Kl_cpX4XSwzrzynx-PU-bqWreaKQ1GTh2Ldxs2fN2D wGzTgyoCUaOl55uPvk> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrtdelgdefkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgesrgdtre erreerjeenucfhrhhomhepfdftohgsucfnrghnuggvrhhsfdcuoehrohgssegsohhtthhl vggurdgtohguvghsqeenucggtffrrghtthgvrhhnpeeffeduhfduudeikeekudfghfdugf eljefgkeeghfdvieekledvvdejheetgeetgeenucevlhhushhtvghrufhiiigvpedtnecu rfgrrhgrmhepmhgrihhlfhhrohhmpehrohgssegsohhtthhlvggurdgtohguvghs X-ME-Proxy: <xmx:wOx_ZgdVmAcVD32ovhZpjrQB_lhlfY5VTdcB0MUaiRxaSoTQEULj6g> <xmx:wOx_ZiLql9F1SrTwSwc0aOPedO9rfl_Rzwr9HtT2o669o9yRzCM1uQ> <xmx:wOx_ZtIApUllx3VKaVAj71sTCHhmhbYa6E9iNSNqw4FW2HAghoalWQ> <xmx:wOx_ZryhfPh1O1dpkfnFCbcNwJAbP1TL6MEUU0d6Y9MvODZKeviBkw> <xmx:wOx_ZvxrwmItzdEFFfOzUu1kYATW4A-Eo_a1D4pP9WwBiKag00Ejv-g6> Feedback-ID: ifab94697:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 3BAC415A0093; Sat, 29 Jun 2024 07:15:12 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-538-g1508afaa2-fm-20240616.001-g1508afaa Precedence: bulk list-help: <mailto:internals+help@lists.php.net list-unsubscribe: <mailto:internals+unsubscribe@lists.php.net> list-post: <mailto:internals@lists.php.net> List-Id: internals.lists.php.net MIME-Version: 1.0 Message-ID: <e1744ee3-61df-490e-8f67-c9d18ee50ffa@app.fastmail.com> In-Reply-To: <97EA49E2-43A9-42D2-B493-A6B66CC54914@edison.tech> References: <CAEUnE0fGZ3jFiBG=GyvnhBzH5a0iO4=n75PM=3+6zLAMrumEvA@mail.gmail.com> <0acedb8e-34be-4348-907b-4075cf7641fd@app.fastmail.com> <CAMrTa2Hhk31hgbr_fR7YAb94YPN030oTkvV5UD_ynRBM664QfQ@mail.gmail.com> <9c20b078-f82a-47fe-af23-2f3cdd233079@app.fastmail.com> <CAEUnE0fTwbc8LabwaNUxp9=vWCnes0E+E_zM+a_Ojera=jQSKg@mail.gmail.com> <A8486FCE-2788-47DF-9778-2872A3D32FC4@newclarity.net> <50529C6A-42BB-4D49-B720-FE1847577484@rwec.co.uk> <97EA49E2-43A9-42D2-B493-A6B66CC54914@edison.tech> Date: Sat, 29 Jun 2024 13:14:50 +0200 To: internals@lists.php.net Subject: Re: [PHP-DEV] [Initial Feedback] PHP User Modules - An Adaptation of ES6 from JavaScript Content-Type: multipart/alternative; boundary=d8c5806a432a472cbb664b8767996c24 From: rob@bottled.codes ("Rob Landers") --d8c5806a432a472cbb664b8767996c24 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable On Sat, Jun 29, 2024, at 12:56, Mike Schinkel wrote: >=20 >> Most of it sounds completely impractical to apply in retrospect to a= n existing one with millions of users - apart from the bits we actually = already have, like points 3 and 6. >>=20 >>=20 > You say it is impractical, you claim millions of users, but you don't = address why the specific features are impractical. >=20 > They are no more impractical than any other new language features PHP = has added in recent years (and I am not being critical of what has been = added, to be clear.) So far, nobody has shown how it is practical -- that is on the person pr= oposing the RFC. Ideally, this would be it, you show why it is useful, h= ow to use it, etc. But it is also political. You need to show why people= would use it, why people would rewrite their entire application to use = it (if the RFC calls for it), and so far, nobody has shown that other th= an "there are packages!" >=20 >> Rather than looking at languages which have done things completely di= fferently,=20 >>=20 >>=20 >>=20 >>=20 >>=20 > "Completely" here is a leading word used in that context. >=20 > There is nothing "completely" different about JavaScript, or Go for th= at matter. All three of JS, Go, and PHP are descendants of C. I cringed at this. There is no direct lineage though they borrow come sy= ntax from C, and if you want to push it, you might as well say they're d= escendants of B which borrowed syntax from BCPL which borrowed syntax fr= om CPL which borrowed it's syntax from ALGOL... eh, no, these languages = are not related to each other. Inspired, maybe. >=20 > We are not talking about APL, Whitespace, Befunge, or Intercal, after = all. >=20 >> I think it would be more useful to look for inspiration for ones whic= h are *similar* to PHP's approach, but have extra features.=20 >>=20 >>=20 >>=20 >>=20 >> so there might be good and bad experiences we can learn from there, a= s well. And I'm sure there are others that are much less alien than JS o= r Go. >=20 >=20 > I would argue JS and maybe Go is a lot more similar to PHP than Java o= r C#. But then the alienness is in the eye of the beholder. =20 No, PHP and Go are nothing like each other. With a bit of finangling, yo= u can actually port JavaScript line-for-line to PHP, but not the other w= ay around. If anything, JavaScript is more like PHP than PHP is more lik= e JavaScript. >=20 > You claimed you don't know JS or Go, but I don't know Java or C#, at l= east not enough to be proficient in them. >>=20 >=20 > That said, I really don't think gatekeeping based on the genetics of a= language is the path to improving it. Instead I think objectively evalu= ating the specifics of the proposed features is the better path. And to = me each of those things I mentioned stand on their own and can be justif= ied, as needed. I don't see any gate-keeping here, just people challenging assumptions a= nd pushing for the feature to be better than it is currently being propo= sed. =E2=80=94 Rob --d8c5806a432a472cbb664b8767996c24 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: quoted-printable <!DOCTYPE html><html><head><title></title><style type=3D"text/css">p.Mso= Normal,p.MsoNoSpacing{margin:0}</style></head><body><div>On Sat, Jun 29,= 2024, at 12:56, Mike Schinkel wrote:<br></div><blockquote type=3D"cite"= id=3D"qt" style=3D""><div id=3D"qt-edo-original"><div><div id=3D"qt-edo= -original"><br></div><blockquote type=3D"cite" style=3D"margin-top:1ex;m= argin-right:0px;margin-bottom:0px;margin-left:0px;height:min-content;bor= der-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 20= 4, 204);padding-left:0.5ex;"><div><pre class=3D"qt-edo-pre"> Most of it = sounds completely impractical to apply in retrospect to an existing one = with millions of users - apart from the bits we actually already have, l= ike points 3 and 6.<br></pre><pre class=3D"qt-edo-pre"><br></pre></div><= /blockquote><div><blockquote type=3D"cite" style=3D"margin-top:1ex;margi= n-right:0px;margin-bottom:0px;margin-left:0px;height:min-content;border-= left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 2= 04);padding-left:0.5ex;"><br></blockquote></div><div>You say it is impra= ctical, you claim millions of users, but you don't address why the speci= fic features are impractical.<br></div><div><br></div><div>They are no m= ore impractical than any other new language features PHP has added in re= cent years (and I am not being critical of what has been added, to be cl= ear.)<br></div></div></div></blockquote><div><br></div><div>So far, nobo= dy has shown how it is practical -- that is on the person proposing the = RFC. Ideally, this would be it, you show why it is useful, how to use it= , etc. But it is also political. You need to show why people would use i= t, why people would rewrite their entire application to use it (if the R= FC calls for it), and so far, nobody has shown that other than "there ar= e packages!"<br></div><div><br></div><blockquote type=3D"cite" id=3D"qt"= style=3D""><div id=3D"qt-edo-original"><div><div><br></div><blockquote = type=3D"cite" style=3D"margin-top:1ex;margin-right:0px;margin-bottom:0px= ;margin-left:0px;height:min-content;border-left-width:1px;border-left-st= yle:solid;border-left-color:rgb(204, 204, 204);padding-left:0.5ex;"><div= ><pre class=3D"qt-edo-pre">Rather than looking at languages which have d= one things completely differently, <br></pre><pre class=3D"qt-edo-p= re"><br></pre><pre class=3D"qt-edo-pre"><br></pre><pre class=3D"qt-edo-p= re"><br></pre><pre class=3D"qt-edo-pre"><br></pre></div></blockquote><di= v><blockquote type=3D"cite" style=3D"margin-top:1ex;margin-right:0px;mar= gin-bottom:0px;margin-left:0px;height:min-content;border-left-width:1px;= border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-lef= t:0.5ex;"><br></blockquote></div><div>"Completely" here is a leading wor= d used in that context.<br></div><div><br></div><div>There is nothing "c= ompletely" different about JavaScript, or Go for that matter. <spa= n style=3D"text-align:inherit;background-color:inherit;">All three of JS= , Go, and PHP are descendants of C.</span><br></div></div></div></blockq= uote><div><br></div><div>I cringed at this. There is no direct lineage t= hough they borrow come syntax from C, and if you want to push it, you mi= ght as well say they're descendants of B which borrowed syntax from BCPL= which borrowed syntax from CPL which borrowed it's syntax from ALGOL...= eh, no, these languages are not related to each other. Inspired, maybe.= </div><div><br></div><blockquote type=3D"cite" id=3D"qt" style=3D""><div= id=3D"qt-edo-original"><div><div><br></div><div>We are not talking abou= t APL, Whitespace, Befunge, or Intercal, after all.<br></div><div><= br></div><blockquote type=3D"cite" style=3D"margin-top:1ex;margin-right:= 0px;margin-bottom:0px;margin-left:0px;height:min-content;border-left-wid= th:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padd= ing-left:0.5ex;"><div><pre class=3D"qt-edo-pre">I think it would be more= useful to look for inspiration for ones which are *similar* to PHP's ap= proach, but have extra features. <br></pre><pre class=3D"qt-edo-pre= "><br></pre><pre class=3D"qt-edo-pre"><br></pre><pre class=3D"qt-edo-pre= "><span class=3D"font" style=3D"font-family:Poppins, sans-serif;"><span = class=3D"color" style=3D"color:#212529;"><span style=3D"letter-spacing:-= 1px;text-wrap:wrap;text-size-adjust:100%;"><span class=3D"size" style=3D= "font-size:35px;"> </span></span></span></span><br></pre></div></blockquote><h3 class=3D"qt= -wp-block-heading" style=3D"box-sizing:inherit;margin-top:auto;margin-ri= ght:auto;margin-bottom:auto;margin-left:auto;line-height:52px;clear:both= ;"><blockquote type=3D"cite" style=3D"font-size:21px;font-weight:400;mar= gin-top:1ex;margin-right:0px;margin-bottom:0px;margin-left:0px;height:mi= n-content;border-left-width:1px;border-left-style:solid;border-left-colo= r:rgb(204, 204, 204);padding-left:0.5ex;"><pre class=3D"qt-edo-pre">so t= here might be good and bad experiences we can learn from there, as well.= And I'm sure there are others that are much less alien than JS or Go.<b= r></pre></blockquote></h3><div><div><br></div><div>I would argue JS and = maybe Go is a lot more similar to PHP than Java or C#. But then th= e alienness is in the eye of the beholder. <br></div></div></div><= /div></blockquote><div><br></div><div>No, PHP and Go are nothing like ea= ch other. With a bit of finangling, you can actually port JavaScript lin= e-for-line to PHP, but not the other way around. If anything, JavaScript= is more like PHP than PHP is more like JavaScript.</div><div><br></div>= <blockquote type=3D"cite" id=3D"qt" style=3D""><div id=3D"qt-edo-origina= l"><div><div><div><br></div><div><div>You claimed you don't know JS or G= o, but I don't know Java or C#, at least not enough to be proficient in = them.<br></div><blockquote type=3D"cite" style=3D"margin-top:1ex;margin-= right:0px;margin-bottom:0px;margin-left:0px;height:min-content;border-le= ft-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204= );padding-left:0.5ex;"><br></blockquote></div></div><div><br></div><div>= That said, I really don't think gatekeeping based on the genetics of a l= anguage is the path to improving it. Instead I think objectively evaluat= ing the specifics of the proposed features is the better path. And to me= each of those things I mentioned stand on their own and can be justifie= d, as needed.<br></div></div></div></blockquote><div><br></div><div>I do= n't see any gate-keeping here, just people challenging assumptions and p= ushing for the feature to be better than it is currently being proposed.= </div><div><br></div><div id=3D"sig121229152">=E2=80=94 Rob<br></div></b= ody></html> --d8c5806a432a472cbb664b8767996c24--