just kill it
just kill it
Posted Mar 24, 2010 17:08 UTC (Wed) by b7j0c (guest, #27559)Parent article: Resetting PHP 6
as it stands, the php world is already fracturing. facebook, the most prominent user of php, is moving to their own c++ based hiphop toolchain...which effectively means they have forked php and can make language-level changes if they want. i presume the abysmal memory bloat and performance of the stock php runtime have induced this change. i doubt facebook devs even care what rasmus does at this point.
but lets not leave the language syntax out here. php's enthusiastically juvenile syntax is only appropriate for the most novice coders. everyone else with any experience rapidly hits the wall with the language. i don't even want to know how the php team would fix this, their current language syntax decisions indicate they have no business designing languages.
rasmus, its time to admit that php has reached the end of its effective life. put php5 into support mode and encourage the use of better languages with better runtimes.
Posted Mar 24, 2010 17:45 UTC (Wed)
by clump (subscriber, #27801)
[Link] (1 responses)
Posted Mar 24, 2010 18:31 UTC (Wed)
by b7j0c (guest, #27559)
[Link]
Posted Mar 24, 2010 18:48 UTC (Wed)
by ikm (guest, #493)
[Link] (1 responses)
So basically, when you have a lot of html and only need simple structuring (e.g. make them use a single header or footer), you use PHP. If you're doing something much more complex, you'd probably be better with some other language. Therefore I think php have its niche and it isn't going anywhere.
Posted Mar 25, 2010 4:25 UTC (Thu)
by BenHutchings (subscriber, #37955)
[Link]
Posted Mar 24, 2010 19:07 UTC (Wed)
by jwarnica (subscriber, #27492)
[Link] (1 responses)
PHP syntax is far more expressive then, say, Java. And far less annoying then the sigi hell of Perl.
It sucks that the core libraries seem to have random parameter ordering. It sucks that there are a lot of brain-dead php apps out there. It sucks that there are a lot of brain-dead PHP coders out there. But syntax? That is the least of PHPs problems.
Posted Mar 24, 2010 22:07 UTC (Wed)
by elanthis (guest, #6227)
[Link]
PHP 5.3 namespace syntax? The fact that it _just_ finally got real
Granted, you're right, the syntax is not PHP's biggest problem. The entire
If I were to do a PHP 6, it would be just a cleanup of the internals, all
That is basically what PHP 5 ended up being, and look how much life that
Posted Mar 24, 2010 19:19 UTC (Wed)
by robla (subscriber, #424)
[Link] (10 responses)
In your world, who should decide who gets to design programming languages?
Posted Mar 25, 2010 5:11 UTC (Thu)
by b7j0c (guest, #27559)
[Link] (9 responses)
Posted Mar 25, 2010 5:42 UTC (Thu)
by robla (subscriber, #424)
[Link] (8 responses)
Want to see something kinda funny? Check out http://www.haskell.org/ I
Posted Mar 25, 2010 14:22 UTC (Thu)
by Simetrical (guest, #53439)
[Link] (6 responses)
PHP is *not* easier to learn than, say, Python. That's just not true IMO.
Posted Mar 25, 2010 18:21 UTC (Thu)
by robla (subscriber, #424)
[Link] (5 responses)
The thing that PHP has historically had going for it is mod_php, which was
for a very long time way better than mod_perl and mod_python. It had the
added benefit of being turned on by default in many contexts (e.g. cheap
web hosts). That sort of availability made web programming a lot more
accessible to a lot more people. That's not really a triumph of language
design so much as interpreter design, but I do find it peculiar that Perl
and Python couldn't beat PHP in this area, given the long headstarts they
had.
Speaking of interpreter design, I think Python's Global Interpreter Lock is
something that bears every bit as much scrutiny as any of PHP's
deficiencies. While I'm not interested in starting a PHP vs Python
flamewar (I happen to be primarily programming in Python these days), I
think this just goes to show you that there's always tradeoffs in picking
languages.
Posted Mar 25, 2010 19:58 UTC (Thu)
by Simetrical (guest, #53439)
[Link] (4 responses)
If web hosts used something else, web apps would be written in something else. It's that simple. Wordpress and Drupal are web apps that happen to be written in PHP, not consequences of PHP's existence. I'd bet that they're written in PHP because that's how you reach the largest audience, because that's what webhosts use.
The Python GIL is a nonissue if you're running single-threaded code. Does PHP support multithreaded execution at *all*?
Posted Mar 25, 2010 21:18 UTC (Thu)
by foom (subscriber, #14868)
[Link] (1 responses)
Not really...Python doesn't properly support multiple distinct interpreters within a process -- you
So of course that means you can't run python (efficiently) within a threaded apache.
Posted Mar 25, 2010 22:31 UTC (Thu)
by Simetrical (guest, #53439)
[Link]
Posted Mar 25, 2010 23:29 UTC (Thu)
by JoeF (guest, #4486)
[Link] (1 responses)
Yes, it does.
Posted Mar 26, 2010 13:51 UTC (Fri)
by foom (subscriber, #14868)
[Link]
Posted Mar 25, 2010 17:12 UTC (Thu)
by b7j0c (guest, #27559)
[Link]
is it possible to write a great app in php? yes
have some people done it? yes
do most people who have done it want to consign php to the dustbin of history? YES
Posted Mar 25, 2010 14:25 UTC (Thu)
by Simetrical (guest, #53439)
[Link]
(This is just a guess, though, not any official statement -- I have nothing
just kill it
rasmus, its time to admit that php has reached the end of its effective life. put php5 into support mode and encourage the use of better languages with better runtimes.
Seems a little harsh. Can you point to any examples where what you suggest has happened?
just kill it
just kill it
just kill it
just kill it
just kill it
professionally since 2000. Saying that some other languages are worse is
irrelevant; by that kind of reasoning, PHP is perfect in every way because
some other language out there has surely done it all even worse.
closures? Unknown identifiers are treated as strings? Function calls
can't be used in any general expression (e.g., foo()->bar() does not work,
but $tmp = foo(); $tmp->bar() does) ? No pass-by-name function parameters
(for no logical reason, just "it's not the PHP way") ? Type hinting for
objects and arrays only? Inconsistent special operator names?
implementation is its biggest problem. The compiler is crap, buggy,
unpredictable, and can't deal with any kind of failure (no way to catch and
gracefully fail on a parse error when including another file, for example).
The language is slow. The C API is hideous. Many of those syntax warts
are all but forced by the internal implementation, which itself grew out of
a lack of abstraction between the crappy original syntax and the runtime
engine.
deprecated APIs removed, and something very clean and easy to build upon so
that 6.1, 6.2, 6.3, etc. can start delivering at a higher quality.
breathed into PHP.
"...their current language syntax decisions indicate they have no
business designing languages.just kill it
just kill it
I guess I'm just not so cavalier....
people to start programming who might not have ever gotten slurped into
programming. The apps created by those new developers (e.g. Wordpress,
MediaWiki, Drupal, etc) are applications that are running some of the
highest traffic websites in the world. While those applications could have
been written by "real" programmers in "good" programming languages, the
fact of the matter is that the "real" programmers just didn't have the time
or inclination to write those apps. So, now we have a lot of great
applications that may not be so pretty under the hood, but they often still
do the job better than any other application out there, and may not have
otherwise existed had PHP not been around.
doubt you're going to find too many people out there that would lump
Haskell in with the "bad" languages. In fact, it could very well be
something a lot of us are writing production apps in a decade from now.
However, guess what they're using to host haskell.org...:
http://www.haskell.org/haskellwiki/Special:Version
I guess I'm just not so cavalier....
Pretty much all of us MediaWiki developers hate the language passionately
and wish we were using something else. (Although, not all of us agree on
what that something else should be.)
And it's definitely not true that MediaWiki wouldn't have existed if not for
PHP. phase2 was written in Perl, IIRC, and it was a couple of people's
decision to pick PHP for phase3 -- it would have been written either way.
Sorry, I'd forgotten about the UseModWiki days, though I'm going to bet
that the anti-PHP crowd here doesn't really have a higher opinion of Perl.
At any rate, Wordpress and Drupal still qualify, and there's a ton of other
really useful software that falls into that category.
I guess I'm just not so cavalier....
I guess I'm just not so cavalier....
I guess I'm just not so cavalier....
can do it, but they aren't properly isolated from each-other. One important way they aren't isolated:
they all share the same GIL. So, you can't even properly run multiple single-threaded python
interpreters within a multithreaded process. It works, but only one thread can actually run at a time,
across all interpreters.
I guess I'm just not so cavalier....
Apache, and it's generally advised that mod_php users stick to prefork or
FastCGI. So this isn't a big advantage for PHP.
Does PHP support multithreaded execution at *all*?I guess I'm just not so cavalier....
But a large part of the third-party modules are not thread-safe, so unless you limit yourself to what you can run (and test the hell out of things), you are better off not running a multithreaded build of Apache.
I guess I'm just not so cavalier....
- do most modules blow up by default on windows? That seems like a problem that their authors
would want to fix.
I guess I'm just not so cavalier....
just kill it
to move to Hiphop when it matures somewhat. Domas Mitzuas, volunteer
performance engineer for Wikipedia for the last several years, also happens
to be a DBA at Facebook. Since MediaWiki is used so widely, though, we'd
have to still be compatible with stock PHP.
to do with Wikipedia systems administration, only MediaWiki development.)