Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:69112 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 97705 invoked from network); 13 Sep 2013 00:29:41 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Sep 2013 00:29:41 -0000 Authentication-Results: pb1.pair.com smtp.mail=martin.keckeis1@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=martin.keckeis1@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.175 as permitted sender) X-PHP-List-Original-Sender: martin.keckeis1@gmail.com X-Host-Fingerprint: 209.85.214.175 mail-ob0-f175.google.com Received: from [209.85.214.175] ([209.85.214.175:32949] helo=mail-ob0-f175.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 87/14-09838-37C52325 for ; Thu, 12 Sep 2013 20:29:40 -0400 Received: by mail-ob0-f175.google.com with SMTP id uz6so529654obc.34 for ; Thu, 12 Sep 2013 17:29:36 -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=226MrjxH8grPlALCloaB7YTKdLiXWW9dcy+VAqrwbKM=; b=KfnRKPxO5G9kpWBPb27on+9RJDsFEGQtTvDED7UUNaAmBvxabBs1RjNv5SU8b+UuJN 6MQnEF4AbLxfMjUihi78U3jPw6V5saN+dcQMzZmb6pQXAmR8RBw/KzmdEBGCrNCrJrOL efxnSI7UMWiLdx4oGWE1qlYx1nmeLcvx+QK9gRDa9aD1CzseeyWVDLd9K+zzPkIya9A1 yKarjF50U4Om39bSLV0P5hB1o8erDeNu4tUiPTdOqQu2cAm236ZJ5+V+524GaVRpzXbt ti1rvwKE6y/LLJiR6GUNI5ghY4svkKSqizs8cVat327eU0TnxGNmASwB47WFqITrvLe6 3WQw== MIME-Version: 1.0 X-Received: by 10.182.246.39 with SMTP id xt7mr9496907obc.16.1379032176438; Thu, 12 Sep 2013 17:29:36 -0700 (PDT) Received: by 10.182.26.112 with HTTP; Thu, 12 Sep 2013 17:29:36 -0700 (PDT) Received: by 10.182.26.112 with HTTP; Thu, 12 Sep 2013 17:29:36 -0700 (PDT) In-Reply-To: <1378988302.12435.1156.camel@guybrush> References: <1378988302.12435.1156.camel@guybrush> Date: Fri, 13 Sep 2013 02:29:36 +0200 Message-ID: To: =?UTF-8?Q?Johannes_Schl=C3=BCter?= Cc: PHP internals Content-Type: multipart/alternative; boundary=001a11c2e22402b26a04e638f377 Subject: Re: [PHP-DEV] Bugs, Features, Contributions From: martin.keckeis1@gmail.com (Martin Keckeis) --001a11c2e22402b26a04e638f377 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Am 12.09.2013 14:18 schrieb "Johannes Schl=C3=BCter" : > > Hi, > > there is some talk about contributing new features and roadmaps for > PHP. What is missing is talk about maintenance. > > PHP is developing really fast, if you consider the distribution we > reach. > > Let's take a look at the last few years and the amount of language > changes. PHP 5.2 was releasesd in 2006. 7 years ago. After that we > struggled a bit with our PHP 6 project which resulted in 5.3 in in 2009. > In those three years we've added > * lambdas > * A new operator ( ?: ) > * Namespaces > * Late static Binding > * __callStatic > * dynamic access of static members > * __DIR__ > > Again three years later in 2012 we released 5.4.0 with > * short array syntax > * binary numbers > * traits > * closure $this > * array dereferencing > * different indirect fcall improvements > > Just a single year later in 2013 we release 5.5.0 with > * generators and coroutines > * finally > * constant array/string dereferencing. > * ::class > * empty() on the result of function calls and other expressions > * non-scalar Iterator keys in foreach > * list in foreach > > That is a lot of language change (ignoring all "library" changes, > things we removed optimizations being made, ...) in seven years. > > Let's compare this to a few other widespread languages: > * With C there is a commonly used standard C89/C90, a newer > version C99 and a bug fix version C11. C99 to a large part is a > catchup with C++ features already provided by many compilers > (inline functions, intermingled declarations and code, //-style > comments) and a few new features (newdata types, variable-length > arrays, designated initializers, compound literals and support > for variadic macros) that is a lot but took them ten years and > still is not incommon use. C11 another ten years later brought > some multithreading, some unicode, Bounds-checking interfaces > and static assertions. > * With C++ there is C++89. C++03 was a minor bug fix. In 2007 TR1 > was released which included library features. In 2011 C++11 came > out. 12 years after the last "real" version. This included a > looong list of languages features. next planned is C++14 which > will bring one language feature (concepts) > * With Java 6 was released in 2006. 2011 Java 7 came and "added > many small language changes including strings in switch, > try-with- resources and type inference for generic instance > creation". Java 8 will, probably, be released in 2014 and adds > lambdas and a few annotations > > For other languages I don't know enough about them to summarize > language changes. But I'm quite sure PHP is among the fastest evolving > languages. > > This is nice but bears two problems: > 1. Adoption. Take any statistic and trust it as much as you like > and we're now somewhere around the time where 5.3 overtakes 5.2 > in total usage. Far ahead of 5.4 and 5.5. > 2. Bugs. https://bugs.php.net/stats.php currently lists 3974 open > issues. > > I think for both of the issues it is good if we slow down a bit and > try to fix more bugs instead of adding new ones. > > Now contributing bug fixes is also not 100% painless as we have to > review patches and we are limited in resources. Especially as we have > code areas with very few interested active developers while we need > experienced developers who know PHPisms for reviewing. > > I'd love if the people who are enthusiastic about contributing to PHP > would go and help working on these bugs. This can be done simply by > reviewing reports or by writing patches. If you are stuck in a place > while trying to write a patch or analyzing a bug ask here, ask on the > quieter pecl-dev list or #php.pecl on efnet irc. If you provide a patch > and think it is being ignored for too long ask for a review. Usually > after the second time there will be somebody. Asking also shows you're > eager to improve PHP, which will give you an account and karma quite > quickly. > > A good start might be this bug: https://bugs.php.net/random > > > Thanks for going through this long mail and helping to make PHP better, > johannes > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php Maybe something else.... Complaining is easier than contribution.... --001a11c2e22402b26a04e638f377--