Some of you will have heard this before, but please bare with me ...
A number of years ago I needed a new infrastructure to produce 'web based'
versions of the windows client code I've been writing since window 3.1 days. I'd
been using C++ for many years and still have to support that code. C# and other
esoteric 'modern' offerings were being pushed at that time. Some have taken off
and some have proven less popular.
I started playing with PHP just before PHP5 became RC stage and was very pleased
with what I found. An OO 'style' of working that allowed me to escape the
straight jacket that the BCB6 object methods enforced and easy learning curve
from what I was used to.
Since that time e_strict rules have been 'applied' and while I accept some of
the logic of those rules, having to create multiple functions to get 'around'
the static/object restrictions was starting to create the bloat I'd lost
initially. Currently being able to check if an array or a simple variable has
been passed gets around the problems I had with BCB6 needing to create separate
function wrappers for each parameter type, so discussions on 'improving' this
area irritate. Being able to access object variables directly was a big plus so
all of the 'magic' to hide them again is annoying.
Debugging library code I've been using for years is becoming more and more
difficult due to the 'extra' material that is appearing, and I have no doubt
that adding 'annotations' into that code will further reduce productivity :( I
have no control over that, it will happen simply because that seems to be the
way people think PHP should go? 'You don't have to use them' is rolled out all
the time, but as others have said, unless you don't use ANY third party code
that is simply not practical!
If I'd wanted C# 10 years ago I could have used it. I found PHP was perfect but
it's becoming a case nowadays when I seriously have to consider how I go
forward. I have to use Python and Ruby with all of their idiosyncrasies along
with fixing bugs in Java to keep my development tools working, so all this talk
about 'modernising' PHP is like a sword in the side. Surely I'm not alone in
wanting to keep PHP as the simply development platform it had always been and
'improving' things like unicode support and performance? I keep thinking that
'e_simple' is the way to go and disable all of the 'complicated' stuff and - yes
- get back to the good old days ...
--
Lester Caine - G8HFL
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk
Rainbow Digital Media - http://rainbowdigitalmedia.co.uk
Some of you will have heard this before, but please bare with me ...
The folks on this list don't need to see you naked.
--
Thomas Hruska
CubicleSoft President
I've got great, time saving software that you might find useful.
I have to agree with Lester.
It seems that there is a conspiracy to push annotations into PHP :D No,
really, it's like goons decided that PHP needs annotations no matter what
and just flooded the mailing list.
I think: "The line must be drawn here, this far, no further!" © Star Trek
Before adding more major stuff we should cope with what was already added
and get it into shape. Traits are getting a rewrite for the 5.5 release and
APC can't catch up because of the traits. This is the first big problem
that needs to be solved.
Unicode is the second big problem. As far as I know there was some work
done on mb_string like enabling func_overload by default, but there are
functions missing that are in standard string extension. Just continue on
course and get more people involved. Maybe make a roadmap and try to stick
with it.
3rd problem is PDO. It lags behind for years and as far as I know from the
words of Perrie, no one is willing to touch it and it's a mess. I will not
even start on the fact that it lacks tons of functionality and
is extremely limiting when you start to do some serious stuff. The fact
that virtually every framework bases it's DB layer on the PDO makes it even
worse - a fast comparison between PDO and mysqli shows how limiting the PDO
is.
Just an example, mysqli has mysqli_ping. You can't do that in PDO, so I had
to send a query "SELECT NOW()" every 10-15 seconds to the MySQL server to
keep the connection alive. Because when PDO looses connection, it gives you
an error and you can't just reconnect and continue.
Oh, the PHP function API issue, like array vs string. Huge amount of
improvements can be done here.
This is just what gets into mind and I stumble upon regularly. Maybe these
problems should be addressed first before adding more stuff?
Arvids.
Hi Arvids,
This is exactly what I've stated yesterday here, you can read it
at http://news.php.net/php.internals/64820 but I've yet to receive
an answer for it.
The problem is that someone will actually need to implement the
whole thing again, in C, again, and it's going to be painful (again).
I can only say that I'm really sorry that I don't know C in order to
be able to contribute.
This is indeed a sensible subject and I wouldn't want to be hated
by the current developers / contributors but like I've said, at some
point it must be addressed.
Best regards,
Florin
Florin Patan / @dlsniper
On Fri, Jan 11, 2013 at 2:06 PM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:
I have to agree with Lester.
It seems that there is a conspiracy to push annotations into PHP :D No,
really, it's like goons decided that PHP needs annotations no matter what
and just flooded the mailing list.
I think: "The line must be drawn here, this far, no further!" © Star Trek
Before adding more major stuff we should cope with what was already added
and get it into shape. Traits are getting a rewrite for the 5.5 release
and
APC can't catch up because of the traits. This is the first big problem
that needs to be solved.Unicode is the second big problem. As far as I know there was some work
done on mb_string like enabling func_overload by default, but there are
functions missing that are in standard string extension. Just continue on
course and get more people involved. Maybe make a roadmap and try to stick
with it.3rd problem is PDO. It lags behind for years and as far as I know from the
words of Perrie, no one is willing to touch it and it's a mess. I will not
even start on the fact that it lacks tons of functionality and
is extremely limiting when you start to do some serious stuff. The fact
that virtually every framework bases it's DB layer on the PDO makes it
even
worse - a fast comparison between PDO and mysqli shows how limiting the
PDO
is.
Just an example, mysqli has mysqli_ping. You can't do that in PDO, so I
had
to send a query "SELECT NOW()" every 10-15 seconds to the MySQL server to
keep the connection alive. Because when PDO looses connection, it gives
you
an error and you can't just reconnect and continue.Oh, the PHP function API issue, like array vs string. Huge amount of
improvements can be done here.This is just what gets into mind and I stumble upon regularly. Maybe these
problems should be addressed first before adding more stuff?Arvids.
I can't disagree with some of your sentiments, that new things are being
developed while there are some "old things" that are incomplete or in
dis-repair.
Unfortunately, PHP being developed as it is, there are only so many
people able to work on the core.
My own story with php-core was like this. I personally started using
accessors in other languages long ago and I was forced to use __get() in
php in order to have any sort of lazy loading or dynamic calculations.
My own large project has grown to the point where there are a few
__gets() that are just ridiculous in size and that's when I decided to
check out if PHP was ever going to get accessors so that I could
properly compartmentalize my code.
I found that Dennis had written an RFC several years before but never
had the time (or possibly the ability, not sure) to write it. I had
started with C and C++ some 20 years ago, but hadn't written in it in 8
or 9 years.
I had talked with Dennis about the original proposal and he helped me a
bit w/ the internals list/ideas/processes at the beginning, but really
it was up to me to get it done. So I stepped up and made it happen,
it's been a long road, the worst of which has been both the RFC process
(everyone has a voice, nobody has authority) and the lack of help for
the tough problems I encountered.
My point is there are only so many people that work on the core and if
they are not interested in improving it in the ways that you are, then
you need to step up and do it yourself. Learn C if you must, it has
some sharp edges but it's not an alien language.
It's nice to sit and point at all the problems, but if you can't fix
them yourself and you can't convince someone who can to do it, then
maybe it's time to step up and learn how to do it yourself, then
everyone can benefit; that's what I'm doing.
-Clint
Hi Arvids,
This is exactly what I've stated yesterday here, you can read it
at http://news.php.net/php.internals/64820 but I've yet to receive
an answer for it.The problem is that someone will actually need to implement the
whole thing again, in C, again, and it's going to be painful (again).I can only say that I'm really sorry that I don't know C in order to
be able to contribute.This is indeed a sensible subject and I wouldn't want to be hated
by the current developers / contributors but like I've said, at some
point it must be addressed.Best regards,
FlorinFlorin Patan / @dlsniper
On Fri, Jan 11, 2013 at 2:06 PM, Arvids Godjuks arvids.godjuks@gmail.com
wrote:I have to agree with Lester.
It seems that there is a conspiracy to push annotations into PHP :D No,
really, it's like goons decided that PHP needs annotations no matter what
and just flooded the mailing list.
I think: "The line must be drawn here, this far, no further!" © Star Trek
Before adding more major stuff we should cope with what was already added
and get it into shape. Traits are getting a rewrite for the 5.5 release
and
APC can't catch up because of the traits. This is the first big problem
that needs to be solved.Unicode is the second big problem. As far as I know there was some work
done on mb_string like enabling func_overload by default, but there are
functions missing that are in standard string extension. Just continue on
course and get more people involved. Maybe make a roadmap and try to stick
with it.3rd problem is PDO. It lags behind for years and as far as I know from the
words of Perrie, no one is willing to touch it and it's a mess. I will not
even start on the fact that it lacks tons of functionality and
is extremely limiting when you start to do some serious stuff. The fact
that virtually every framework bases it's DB layer on the PDO makes it
even
worse - a fast comparison between PDO and mysqli shows how limiting the
PDO
is.
Just an example, mysqli has mysqli_ping. You can't do that in PDO, so I
had
to send a query "SELECT NOW()" every 10-15 seconds to the MySQL server to
keep the connection alive. Because when PDO looses connection, it gives
you
an error and you can't just reconnect and continue.Oh, the PHP function API issue, like array vs string. Huge amount of
improvements can be done here.This is just what gets into mind and I stumble upon regularly. Maybe these
problems should be addressed first before adding more stuff?Arvids.
--
-Clint