Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124930 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 D44D81A00B7 for ; Wed, 14 Aug 2024 12:07:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1723637375; bh=+YdMWJFlSI5oD2OQPEOkmf0g7ZPiz+uR38W0Fi+6lrI=; h=Date:From:To:Subject:In-Reply-To:References:From; b=dsLMb7uQu88wLtKoCnbcZ5lRM0SP6qFe+OOPWb8pSoA/QAR1WL0qXln/5tw5im2eZ NEHb+cez0naU5YORO/z42LM6pwUIzJ1xHwCRW2HiGXMcG2xMv6t/b5PAgjjLYncknh X8swtlf31IHP+6nLZ1qTwhV95wYYMP3KmfltlEzr1V8OCE+JuozmXNBuZDYlh33ama OY1Ng6+MMJUw1c0aEIsPtxCfPjhqRUWDAAn8IGgIRousxb/Q0qOgRzSlnV+LBHPZVz z69377+Urd2J6m3sq5jOMYs2T8H6QqmE4qJDrp8qs+B9afB0I0m7lL2HmXlc2HVaNE WV5p9rRbrCc8Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 664CF18006F for ; Wed, 14 Aug 2024 12:09:34 +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,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh6-smtp.messagingengine.com (fhigh6-smtp.messagingengine.com [103.168.172.157]) (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 ; Wed, 14 Aug 2024 12:09:33 +0000 (UTC) Received: from phl-compute-01.internal (phl-compute-01.nyi.internal [10.202.2.41]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 736F41151A8D for ; Wed, 14 Aug 2024 08:07:47 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Wed, 14 Aug 2024 08:07:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rwec.co.uk; h=cc :content-transfer-encoding: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=1723637267; x=1723723667; bh=+YdMWJFlSI5oD2OQPEOkmf0g7ZPiz+uR38W0Fi+6lrI=; b= hWzII+MK0nvCR6h62Tap7KIcpM43eChmYR89pspc6+rEP/RLowCIWRn8kLkeBgRu uAo03ImbSBEsPCdAukmLqOSqykB6CWYEZgdayYM9hzTVz1qcCs54LUZ5cVZSjPW8 C1FIF2MpJDp+bwojcZQx16M5mYijyAZzS7Z2ltkk3Fa80DNsYpeyXD2qR+MZWmNP ego02tVH1Ij1GMm0bv4q23ytQeDAvz8ZPugzeszhU1fE2DOWiDFQf272Prm6I8I2 TS2AxwdMqBXXLpESrlN9SZbuQeupi+70cveVYYRrN6nbQG0VkH9nOP3yMdtLZ1XL MQY6vzqKtnxn5kloRiCAow== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding: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=fm3; t=1723637267; x= 1723723667; bh=+YdMWJFlSI5oD2OQPEOkmf0g7ZPiz+uR38W0Fi+6lrI=; b=M 4EBKYF01HFqC4+wo7y0j5VP2witq3SOaVNeaV7WepmE6611NjiRG92eQkxDIkt3N 4D9VXisNtx47cya7BXWYOG3LrZ49EOMEkE4Vvy97KXwm4rx3a0ijwvhzzdu2KWWr 3Fu5gsjg4kcxckGetJ2SarRw7mbscUEED74QWBTB3g9EvgJX/gCcx6VoIjl77vQ3 EmYW+NSvXwGH5t+TOuqy1ES6aCGhAriglxzLG6K1v0XzMyXy92u4xGicdjTVQUKW W88ldB0nHaTMhOUrhonyHnASW4/cgrkuu++oNoaOG0/TaxFDA2fgfzoGnqNT70hT mnl2ScIwvYPGhfmT9Ra5g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddruddtgedggeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepfffhvffufggjfhfkgggtgfesthhqmhdttderjeen ucfhrhhomhepfdftohifrghnucfvohhmmhhinhhsucglkffoufhorfgnfdcuoehimhhsoh hprdhphhhpsehrfigvtgdrtghordhukheqnecuggftrfgrthhtvghrnhephfffgfefiedu leeiudetteefffeffeeufefhvddthfdvfefhveeileffhfejvddvnecuffhomhgrihhnpe guohgtshdrrhhspdhgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecu rfgrrhgrmhepmhgrihhlfhhrohhmpehimhhsohhprdhphhhpsehrfigvtgdrtghordhukh dpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhn thgvrhhnrghlsheslhhishhtshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: id5114917:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 14 Aug 2024 08:07:46 -0400 (EDT) Date: Wed, 14 Aug 2024 13:07:45 +0100 To: PHP internals Subject: Re: [PHP-DEV] [DISCUSSION] C++ Enhancements in Zend API User-Agent: K-9 Mail for Android In-Reply-To: References: Message-ID: <43A0ADEB-73B3-406A-A36D-B54FB85B3E8B@rwec.co.uk> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: imsop.php@rwec.co.uk ("Rowan Tommins [IMSoP]") On 11 August 2024 23:52:00 BST, Lanre wrote: >I=E2=80=99m considering adding some C++ enhancements to the Zend API=2E T= hese changes >would be encapsulated within `#ifdef __cplusplus` guards, so they wouldn= =E2=80=99t >interfere with the existing C implementation=2E The primary goal is to >provide a nicer interface for extensions while maintaining compatibility >with C=2E Hi Lanre, This thread seems to have become quite heated, perhaps because people tend= to have strong opinions about different programming languages=2E=20 It might help reset the discussion to draft a quick RFC outlining what is = being proposed, and why=2E I think some key things that would need to be considered are: 1=2E Why does this belong in the core repository, vs a separate library su= ch as PHP-CPP? Would it be easier to have it maintained by people familiar = with the core engine, but not with C++, rather than people outside the proj= ect, but familiar with C++? Are there technical reasons why some features r= equire / benefit from being part of the same files / directories as the C A= PI? Are there potential uses for things which are already in the core, such= as bundled extensions? 2=2E Does this imply the PHP project "blessing" C++ in some way, over othe= r languages? Or does it imply we could/should have similar wrappers for oth= er languages, such as Rust and Go? (Ignoring any personal views, both are i= n active use in similar contexts, and a quick search turned up https://docs= =2Ers/ext-php-rs/latest/ext_php_rs/ and https://github=2Ecom/deuill/go-php) 3=2E What guarantees can/should we provide about the stability and mainten= ance of these additional API elements? Note that this crosses over with poi= nt 1 - a separate library can make breaking changes on a different cycle to= the core project, and even add C++ (or Rust, Go, etc) APIs for already rel= eased versions of the engine=2E Regards, Rowan Tommins [IMSoP]