Re: Bugs, Features, Contributions
Am 12.09.2013 14:18 schrieb "Johannes Schlüter" <[email protected]>:
>
> 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....
Thread (2 messages)