> -----Original Message-----
> From: Tony Marston [mailto:tonymars...@hotmail.com]
> Sent: Thursday, April 14, 2016 12:01 PM
> To: internals@lists.php.net
> Subject: Re: [PHP-DEV] Re: Improving PHP's type system
> 
> "Zeev Suraski"  wrote in message
> news:5b147e88-cc0a-4cbc-a49d-c7fe3bf55...@zend.com...
> >
> >
> >> On 14 ????? 2016, at 7:14, Larry Garfield <la...@garfieldtech.com> wrote:
> >>
> >>> On 4/13/16 3:24 PM, Stanislav Malyshev wrote:
> >>> Hi!
> >>>
> >>>> May I suggest you the following article (more of a starting point
> >>>> into Ceylon actually) regarding this topic:
> >>> There was a time where PHP was considered a good beginner's language.
> >>> Now it seems we want to pivot and target category theory PhDs instead?
> >>> :)
> >>
> >> A language that is usable primarily by beginners will only be useful
> >> for beginners.  Non-beginners will shun it, or simply grow out of it
> >> and leave.
> >>
> >> A language that is usable only by PhDs will be useful only for PhDs.
> >> Beginners won't be able to comprehend it.
> >>
> >> A language that is usable by both beginners and PhDs, and can scale a
> >> user from beginner to PhD within the same language, will be used by both.
> >>
> >> Doing that is really hard. And really awesome. And the direction PHP
> >> has been trending in recent years is in that direction.  Which is
> >> pretty danged awesome. :-)
> >
> >I would argue that PHP was already doing that almost since inception.
> >I think we have ample evidence that we've been seeing a lot of
> >different types of usage - both beginners' and ultra advanced going on
> >in PHP for decades.
> >I would also argue that in recent years, the trending direction has
> >been focusing on the "PhDs", while neglecting the simplicity seekers
> >(which I wouldn't necessarily call beginners).  Making PHP more and
> >more about being like yet-another-language, as opposed to one that
> >tries to come up with creative, simplified ways of solving problems.
> >Last, I'd argue that a language that tries to be everything for
> >everybody ends up being the "everything's and the kitchen sink", rather
> >than somethings that is truly suitable for everyone.
> >
> >We also seemed to have dumped some of our fundamental working
> >assumptions - that have made PHP extremely successful to begin with:
> >
> >- Emphasis on simplicity
> >- Adding optional features makes the language more complex regardless
> >of whether everyone uses them or not
> >
> >It does seem as if we're trying to replicate other languages,
> >relentlessly trying to "fix" PHP, which has been and still is one of
> >the most successful languages out there - typically a lot more so than
> >the languages we're trying to replicate.
> >
> >Zeev
> 
> I agree with Zeev 100%. There are too many people out there who are trying
> to make the language more complicated than it need be just to prove how
> clever they are. The aim of any language should be to enable programmers to
> do complicated things in a simple way, and not to do simple things in a
> complicated way.
> 
> I have been programming for over 30 years, so in no way can I be classed as a
> newbie. PHP is my favourite language because of its simplicity. I started with
> PHP 4, and although I have upgraded to PHP 5 I refuse to use any of the
> "clever" additions which have been made to PHP 5 simply because I can
> achieve what I need to achieve WITHOUT using any of those additions.
> 
> I will not be making use of any changes that are made to the language in order
> to handle typed variables for the simple reason that PHP was specifically
> designed to be an untyped language, and in the 13+ years that I have been
> programming with PHP I have found that to be more of an advantage than a
> hindrance.


Tony,

I think this is taking the discussion a bit in the wrong direction.

I, for one, certainly don't think that our problem is people who want to prove 
how clever they are, and I do believe that people who are proposing additions 
and improvements to the language are doing it because they think it's a good 
thing.  That does not mean it is though.

I am also saying that generally speaking, most people who are on internals@ are 
biased through self-selection towards change.  People who are just happy the 
way things are, are unlikely to be on internals and are unlikely to want to 
contribute.  Fixing bugs, meticulously optimizing performance while maintaining 
compatibility, these things get a LOT less interest and aren't main attraction 
points for joining internals.  Incidentally, they're also the things that the 
vast majority of users want the most.

As a whole, people don't realize that PHP does not need fixing.  I'm NOT saying 
it's perfect and that it cannot be improved - of course it can - but I am 
saying that it's not broken;  In fact, it's remarkably successful the way it 
is, and in fact, we have no evidence that since the RFC process was embraced 
and language-level features started making their way into it on a much faster 
pace - anything changed for the better in terms of popularity.  People arguing 
to introduce radical changes to it (and making PHP a lot more of a typed 
language, optional or not, absolutely constitutes a radical change) should 
realize that it's not risk-free, and given that they tend to be advanced, top 
5-10% coders - that they're catering not to just coders like them, but also the 
rest of the 90-95% of the world.

Introducing new syntax to PHP, with new semantics, adds a lot of cognitive load 
no matter how we spin it.  Given how easy it is now to propose an RFC, and the 
general bias-for-change of internals, we're now doing this at a remarkable 
pace, with very few checks and balances.  Every feature is evaluated 
context-free, on whether it's useful in some cases yes/no, and without taking 
into account in any way that 'less is more'.  Just see how much discussion 
we're seeing here about open questions in this typing discussion.  Whatever 
decision we take in each and every one of these discussions - means added 
cognitive load, as by definition that decision wasn't an intuitive one, but one 
that required much discussion, debate and sometimes compromise in order to 
reach.

Zeev


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to