Re: Voting irregularities
| From: | Kristian Köhntopp | Date: | Mon, 16 Mar 2015 14:23:28 +0000 |
| Subject: | Re: Voting irregularities | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-85058@lists.php.net to get a copy of this message | ||
> On 16.03.2015, at 15:03, Kristian Köhntopp <kris@koehntopp.de> wrote:
>
> That is me. And I voted no on a broken poposal.
And because some people asked, the kk account is not new.
I have been using PHP since about 1997/98, joining the community around the times of the first PHP
3.0 beta-releases. Boris Erdmann and I wrote something called PHPLIB
(http://marc.info/?l=php-general&m=90222503034131&w=2, http://marc.info/?l=php-general&m=90281652210710&w=2)
which implemented some kind of session management that has been rewritten into the session module of
PHP 4.
I also wrote the Posix and Recode extensions back then, worked on the LDAP extension, and dissed
Zeev because of the C++ way of implementing constructors instead of using __init or __construct
(http://www.mail-archive.com/php-dev@lists.php.net/msg36275.html, and many other messages before
that). I also annoyed people into implementing __get, __set and __call, which over time became http://php.net/manual/en/language.oop5.magic.php
I blogged https://plus.google.com/u/0/+KristianK%C3%B6hntopp/posts/ijoDNH2M8mB,
and apparently that motivated a number of people to look into this and form an opinion, which is
good. PHP already has too many things that can be enabled and disabled at the language level, and
too many ways to enable and disable functionality in the language. It should have one typing system,
not many and certainly not any way to switch these on and off, no matter how.
At the current state and climate of discussion I personally think it would be best for the language
and the community for each and every proposal to change the type system to fail or be withdrawn.
From my current experience, it may have been best for the language to have chosen the Python way of
things back 20 years ago
>>> 3 + "2"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>> 3 + int("2")
5
>>> 3 + int("2a")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '2a'
but it is too late now. Neither of the current proposals actually improves a lot for anybody, but
making that improvement optional, how little it may ever be, is just insane.
If you MUST have one proposal succeeding, I am of the opinion that one should support the one by
Zeev with the modification that it actually warns about things instead of erroring right now
(E_DEPRECATED or something), and make that errors in the release after the current. I do think that
because it is ONE type system, not optional and because it actually finds things that are broken and
complains about these. Just make the transition more gradual than it is now, in order to ease
adoption.
K
--
Kristian Köhntopp http://google.com/+KristianKohntopp
Attachment: [application/pgp-signature] Message signed with OpenPGP using GPGMail signature.asc
Attachment: [application/pgp-signature] Message signed with OpenPGP using GPGMail signature.asc