Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85425 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 32975 invoked from network); 23 Mar 2015 19:47:22 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Mar 2015 19:47:22 -0000 Authentication-Results: pb1.pair.com smtp.mail=nathan.o.wesley@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=nathan.o.wesley@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.42 as permitted sender) X-PHP-List-Original-Sender: nathan.o.wesley@gmail.com X-Host-Fingerprint: 209.85.218.42 mail-oi0-f42.google.com Received: from [209.85.218.42] ([209.85.218.42:35113] helo=mail-oi0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BD/8C-44294-9CD60155 for ; Mon, 23 Mar 2015 14:47:21 -0500 Received: by oiag65 with SMTP id g65so149998788oia.2 for ; Mon, 23 Mar 2015 12:47:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=YFMO41Zjxp4+GMnS5ng5u+9duavNMNdM1SjX+1VebWs=; b=OILDO1JwoJsu3ICbCMLdJRhPqwfDhlQGcmEyTnlkSxhHajkpbvfUCKtg4ZjI4yBLnY Jmt8laPsJ3WVZv6xjzbCuxLwno6Kl2Phgg4mZ7OM6E+GenWubZ9aeyNY1vKrijfqd84K ayiWDXKVysRxHphqSQLToCPGcdwI9zILtaqal6ZskfU8uv8sskjZ3nOrjr/gSYZ7n7bS E3Tf9NlUb55us2PS/pdyHEtz9BV6NoeHttZwhnsFD3dTN2Dbdfl8bRY+hTL58f3qzpH/ HLX6Krz+YX15ph/DDFH+n7QtkjQha2yT+OAWQvbGLgY+xU34dy+hoJ902rYvuHB1ZHDk jomg== MIME-Version: 1.0 X-Received: by 10.202.62.70 with SMTP id l67mr512376oia.59.1427140038000; Mon, 23 Mar 2015 12:47:18 -0700 (PDT) Received: by 10.182.216.10 with HTTP; Mon, 23 Mar 2015 12:47:17 -0700 (PDT) In-Reply-To: <550F1B2C.9070607@gmail.com> References: <550F1B2C.9070607@gmail.com> Date: Mon, 23 Mar 2015 22:47:17 +0300 Message-ID: To: Stanislav Malyshev Cc: internals Content-Type: multipart/alternative; boundary=001a113ce09a0284300511f9ef2d Subject: =?UTF-8?Q?Re=3A_=5BPHP=2DDEV=5D_Ten_years_estimated_Plan_to_replace_PH?= =?UTF-8?Q?P=E2=80=99s_inconsistent_API?= From: nathan.o.wesley@gmail.com (Nathan wesley) --001a113ce09a0284300511f9ef2d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable > > Hi! > > > This makes an opportunity to replace the old API with object oriented o= ne > > preventing any kind of BC break. > > > > But instead of using this as an extension because of some limitations > like > > =E2=80=9Cstring=E2=80=9D->startsWith(=E2=80=98s=E2=80=99); the API shou= ld be bundled with the engine (not > > written in PHP). > > This is the problem with all these proposals. Instead of taking the > gradual road of making a beautiful API in extension, having it accepted > (I'm taking the optimistic scenario), popular and then merged into the > engine, it's always "let's redo the whole engine from scratch". That's > why these things haven't gone beyond talk for years. > I didn't say that you should redo the whole engine from scratch this is not possible of course taking the FIRST step would be great when i talked about 'extension' i mentioned the limitations. but i meant the API shouldn't be written in user land code that's all it can start as an extension and gradually support these limitations when more people start to use it. > > > This will make the opportunity to also remove any inconsistencies in th= e > > API behavior as well. > > You write "remove inconsistencies", I read "break all existing code". > you didn't get my point. i mean't the new API shouldn't behave the same as the old one there are some behavioural inconsistencies shouldn't be introduced in the new one. the old API won't be touched at all. no breaking for existing code. that's the point of this proposal > > I=E2=80=99ve seen many articles encouraging new comers to learn languag= es like > > Python or Ruby, and highly discourage them from using PHP. Also many ne= w > > projects are using languages different than PHP. (don=E2=80=99t tell me= you > haven=E2=80=99t > > seen this) > > I've seen a lot of silly stuff on the Internet, so what? It's a free > medium, anyone can write anything. That doesn't mean it carries any > weight by the fact of writing. > When the vast majority agree that's a problem (it carries weight). it's just too common. famous articles written about it like "PHP fractal of bad design" and "php sadness" a lot more i highly doubt that you didn't read one of these. i like PHP i care about it. it's future is important you "the internals" will decide what will happen many years from now. and you have a good opportunity to get this right. even if someone managed to do all of these things and submit an RFC you will vote on it. only you can decide i hope you chose the right thing. > > > The old API should be deprecated in PHP 8.0 and removed completely in P= HP > > 9.0 (finally) > > Which means no code written in PHP would work in PHP 9.0. Why then call > it PHP? Call it something else. > You just agreed on disagreeing :) this is 20 years until PHP 9 comes out. PHP 7 is not yet released. you can argue about it when we get to this point in time. maybe the need for removal can be predicted by the adoption of the new API. the old mysql extension was also used everywhere. > BTW, if you look at Java, some methods deprecated in Java 2 are still > around in Java 8. Java didn't die from it. Why people are so zealous to > break things that work? > i didn't mention any break or things. also many languages are different from they were 20 years from now. languages keep evolving. you may not see this as a breaking change 20 years from now imo Thanks for taking the time replying to this Regards --001a113ce09a0284300511f9ef2d--