Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124032 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 ED6331A009C for ; Sat, 29 Jun 2024 13:07:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1719666542; bh=mXbMuVf7AiYXqn64kHygJbCmPiysevUaP/V0+F+fHN4=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=etzjkpjRZLHxNJOC1gQ/cexMR9GeDmBzgMbybuzzD1cCaqk9x1HT5jSP1Dg2FnIs4 SkQkThY6kOxioaDeV0Uejib9jhe/sCjhxzsL5AR/8otnG/GFiA5s/dgyKilZKW+82Q F3QDSqYECqG8+PLdjBw5rTrJQCKCbQU3GcEHDZhKwgvokCTFUdIH03FTntx8OOkzA0 m0Kh1nK0wqE3ugIvMG0HGGy41jpGiaHX9k7dPYB+ngdtQr6KzMvZZCN6pSNofTUBKD qnXbvrIp9KiopGk4B5YbRiOqNvsYk4oFebOiz8KhT/JcD9m3r7a7neMBSeLOl4AduQ xPo6ubobL9W/w== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 52D241805CF for ; Sat, 29 Jun 2024 13:09:01 +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.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DMARC_MISSING,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_NONE,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: Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) (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 ; Sat, 29 Jun 2024 13:09:00 +0000 (UTC) Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-e02b79c6f21so1582079276.2 for ; Sat, 29 Jun 2024 06:07:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20230601.gappssmtp.com; s=20230601; t=1719666461; x=1720271261; darn=lists.php.net; 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=a+scSutu0mtbdWREZCXNlz5TyIuixaTX0qenLyStGLY=; b=d/R+6I8L/okm7v0SelRfnarkxZg+bQXyzQJQMUF9yVmKTo+Topd/3vapDOwfJ/0Zcq B04X3NB+ajreSesiFmTCtreYEQrLdHPvYBjQShqF33fyjh7+xg2lPxvQCbhbjatKg8ZY XTrQQJb/FdCouUjpgolSmNm1+2ak/YJgHMGi8K8+Rg+WHGYuBGuKqoK8N+Ik9woaRr/L NG6vU1RYKE+KmcbaOd4A+0C+ziPtJjbdovQKjfQEWzgstGqt9EtQaM2SZbGz+HVwUEou jZGfXWTkEXXDH4lPc74PAULaRYZt+b0bQIBC0mr6zi2BUaXzA34qIb4B/Fx/ZTN8ibIx d4eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719666461; x=1720271261; 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=a+scSutu0mtbdWREZCXNlz5TyIuixaTX0qenLyStGLY=; b=rVrRF0dZgTtiYGklWFigexLAx/Lf2f/x8furUpoJfh5w7TCZGfnrupQQFItv2i5Cl2 EkCr6mKRwnZrvlhEEj/UZbN2q22MuoJuUZH/VJ8DIWUF3nyWwH3tSu0u6LnYTmBFdWw8 uvlsEw8bddIN0yrVBc2ZJa/FPoY5tfK+VzuArh9orTzT1taNwnyHtmXGQ8yDYtzziR4d 44G1KzHlVkEwg8tkbQHNSyM51zP1tvKiYP42jwjeG8GS03QDMpsreh5W5R4rOPbk8txM 2TD1xGO9eHU+Bq23ZlOFM04TbVIiQBSArXqY5exKvU70YAjnT4nlyz4zHq7lwZxEv7c9 LZMw== X-Gm-Message-State: AOJu0Yztn58MSDI+5bPklAc+L9oIXnsMYMsGGo12KiDsgtG91F590CnZ hjxWMyrSaNZ+z+ygCb5lOwEIaGrZ31pgrLB1m3cJpqyc/ZQJuQt7h5pYjgMJ3XY= X-Google-Smtp-Source: AGHT+IHGKmeCgxBzyY2YDYvpTX6xu2j+tfyjeM+sgpH0iCKmy2x2kB/zjeVPGxyMqN/LqE/j9jjRqg== X-Received: by 2002:a81:a254:0:b0:627:e963:2bcf with SMTP id 00721157ae682-64c739ee6f2mr8354947b3.51.1719666456137; Sat, 29 Jun 2024 06:07:36 -0700 (PDT) Received: from smtpclient.apple (c-98-252-216-111.hsd1.ga.comcast.net. [98.252.216.111]) by smtp.gmail.com with ESMTPSA id 00721157ae682-64b1fda3b14sm4955227b3.71.2024.06.29.06.07.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 29 Jun 2024 06:07:34 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.8\)) Subject: Re: [PHP-DEV] [Initial Feedback] PHP User Modules - An Adaptation of ES6 from JavaScript In-Reply-To: <1E8F63D8-68AA-4D9F-A9DB-EF989F7E6D17@rwec.co.uk> Date: Sat, 29 Jun 2024 09:07:34 -0400 Cc: internals@lists.php.net Content-Transfer-Encoding: quoted-printable Message-ID: <09411A26-A174-47AF-9853-F10DF3F12940@newclarity.net> References: <0acedb8e-34be-4348-907b-4075cf7641fd@app.fastmail.com> <9c20b078-f82a-47fe-af23-2f3cdd233079@app.fastmail.com> <50529C6A-42BB-4D49-B720-FE1847577484@rwec.co.uk> <97EA49E2-43A9-42D2-B493-A6B66CC54914@edison.tech> <1E8F63D8-68AA-4D9F-A9DB-EF989F7E6D17@rwec.co.uk> To: "Rowan Tommins [IMSoP]" X-Mailer: Apple Mail (2.3696.120.41.1.8) From: mike@newclarity.net (Mike Schinkel) > On Jun 29, 2024, at 8:27 AM, Rowan Tommins [IMSoP] = wrote: > On 29 June 2024 11:56:43 BST, Mike Schinkel = wrote: >=20 >> That list is just package-specific, nothing about syntax, data types, = control structures, package management, etc. etc. >=20 > It includes fundamental design decisions like "what does a class name = look like", and "how are classes identified across boundaries". If names = aren't universal, what does ::class return? How does resolution work in = a DI container? Etc etc etc.=20 >=20 > I'm sure Go has answers to all those questions, but so does PHP, and = I've not seen any convincing argument why we should throw it all away = and start again. That comment sounds like you think that I am saying to do what Go does = for PHP. That is not what I was saying. Instead, I am saying "let us look at these aspects of Go for inspiration = for features that would be beneficial for PHP." Anyway, I have started a repo to put thoughts down, so continuing this = discussion is probably premature before I have something more to = show/discuss. >>> Rather than looking at languages which have done things completely = differently,=20 >>=20 >> There is nothing "completely" different about JavaScript, or Go for = that matter. All three of JS, Go, and PHP are descendants of C. >=20 > You have misread what I wrote. I didn't say *the languages* are = different, I said *the decisions they have made around namespaces and = packages* are different. >=20 > There is no "genetic fallacy" or "gatekeeping" involved, I'm saying it = will be easier to apply a design that shares some characteristics with = what we have, than to rewrite the language to fit a design which shares = none. Fair point. =20 But let us not dismiss ideas that come from a language that you admitted = are not that familiar with =E2=80=94 just because it comes from that = other language =E2=80=94 before fully understanding what is being = proposed. > The descriptions of the *design of packages* in JS and Go make me = think they don't have enough in common with PHP to be easy to apply, so = I'm suggesting we look at other designs. And I am suggesting that maybe those designs will benefit PHP more than = thinking inside the box. That said, I will applaud you bringing specific concepts to the table = from any other languages. -Mike P.S. What I am working on at the moment =E2=80=94 after one tweak of = that list of ten things to get inspired about from Go =E2=80=94 is a lot = more like PHP than you are probably currently envisioning and can = possibly be implemented with much less of a production than anyone is = likely assuming.=