Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:59971 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 76559 invoked from network); 15 Apr 2012 22:33:07 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Apr 2012 22:33:07 -0000 Authentication-Results: pb1.pair.com smtp.mail=simonsimcity@googlemail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=simonsimcity@googlemail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain googlemail.com designates 209.85.214.170 as permitted sender) X-PHP-List-Original-Sender: simonsimcity@googlemail.com X-Host-Fingerprint: 209.85.214.170 mail-ob0-f170.google.com Received: from [209.85.214.170] ([209.85.214.170:48855] helo=mail-ob0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1C/80-05733-1AC4B8F4 for ; Sun, 15 Apr 2012 18:33:06 -0400 Received: by obbta17 with SMTP id ta17so5882302obb.29 for ; Sun, 15 Apr 2012 15:33:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=KK6F3g/65UEg8iNUGVGEOGrNHm2Mf0pxnYfEZYp/PgY=; b=R6Vt66egZdYD6oT3hET6nl+30eAWd1EFEtI0aGG9gIyuK5ZoMgNJexVrdZ4j3IagW0 jFuJ+UZH5MJR3OACrMUr2KL8nZV1y+00UYTOgZB/xwEwP42BcvCBDn9XEYjR2YOci1Ud lHVCXtD0qKjAf1lA8qhl0tBK+0oe3rJ1nqoUfrKpDwvrdf2QwJObb7RCQe4hwMHyY5A+ 9VH9c1rhJv/El4e3jehX+WAaEYK6SPxnXLVIUhjALDeqrhDoFTCswprGbtohR7SorOqf bmHjzhtEWBoOnZTAK47QpbkbBcHzZYoBL/GCucipd4/ioKez7NIO5TSrlM89xUzueP50 i0oQ== MIME-Version: 1.0 Received: by 10.182.192.39 with SMTP id hd7mr12819802obc.47.1334529182448; Sun, 15 Apr 2012 15:33:02 -0700 (PDT) Received: by 10.60.98.74 with HTTP; Sun, 15 Apr 2012 15:33:02 -0700 (PDT) In-Reply-To: References: Date: Mon, 16 Apr 2012 00:33:02 +0200 Message-ID: To: Michael Morris Cc: PHP Internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] A possible defining characteristic of PHP 6 ( was [off] PHP: a fractal of bad design ) From: simonsimcity@googlemail.com (Simon Schick) Hi, Michael 2012/4/13 Michael Morris > > It would not be easy. =C2=A0I lack the skills required. =C2=A0And those w= ho have > the skills lack the monumental time required. =C2=A0But PHP could do what > Adobe did with Actionscript. =C2=A0But it would not be easy or painless. = It > probably isn't worth it. =C2=A0But the tools are in place and there are R= FC > ideas out there that, taken together might accomplish a fix. =C2=A0But to > what end? I'm currently working on getting into the C (and C++) code for PHP, reading the articles on ircmaxell's blog: http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html If you want to develop and help the php-community, I think this is a good place to start from. > > The idea I thought of a long time ago when AS3 came out was to do much > the same with PHP. =C2=A0PHP 6 would ship with a legacy mode. =C2=A0In th= at mode > all the existing functions would exist on the root namespace. =C2=A0Turn = it > off though and those functions disappear and get moved to \Legacy. > What actually remains is a remapped function library, perhaps taking > advantages of the autoboxing RFC to "fake" primitives as objects and > allow the sort of chaining we see in JavaScript. =C2=A0Not every possible > function would be present in this model - libraries such as mysql, > mysqli or pdo would be imported into scope. On one side I'd like to have a namespaced core ... but I don't think this would be a good idea to say that no script written for PHP5 will work in PHP6 an vice-versa. > > But this wouldn't be easy, and I don't think the willpower exists to > do it. This is after all a volunteer effort, and there are some things > that are simply out of the scope of such efforts. > > PHP's goal has always been KISS, but the decisions over the last few > years run contrary to that. =C2=A0Most onerous is, where Javascript, Java > and C have one scope resolution operator - a period - PHP has three > (->, \, :: ). =C2=A0The only possible backwards compat fix to that is to > set up PHP 6 to not give a rat's ass about which of the three you use. > =C2=A0That would restore simplicity, and two of the operators would die o= ff > (my money is on :: and \ dying) in common use. =C2=A0The engine > implications of that change are likely staggering. =C2=A0This isn't the > only structural issue that needs to be addressed either. =C2=A0Taken > together they are significant. > > As to the original post that started this - it is what it is, a > blogger wanting attention, stating the obvious and trying to look > smart. =C2=A0I'm singularly unimpressed and reading the other responses I= 'm > not alone. > > It would help to have a conversation about what we want the next major > to be like before starting any work on it. =C2=A0Otherwise it will just b= e > another evolution when what PHP really could use is a revolution the > likes of which hasn't been seen since PHP 3 came out. =C2=A0But that > conversation itself will take time and the scope of what must be done > must truly be daunting.