PHP5 Coming Soon 135
Grip3n writes "PHP5 is well under development and a beta is expected out by March 2003 and released summer 2003. One of the more notable improvements which many PHP developers desired is a substantial improvement in PHP's performance. This is due to a new object model PHP5 will be introducing which handles objects by reference rather than by value. Co-creator Zeev Suraski states the new object model is inspired by the book, "Design Patterns"."
Moore. (Score:1)
Re:Moore. (Score:3, Informative)
The observation that the logic density of silicon integrated circuits has closely followed the curve (bits per square inch) = 2^(t - 1962) where t is time in years; that is, the amount of information storable on a given amount of silicon has roughly doubled every year since the technology was invented. This relation, first uttered in 1964 by semiconductor engineer Gordon Moore (who co-founded Intel four years later) held until the late 1970s, at which point the doubling period slowed to 18 months
Re:Moore. (Score:2)
March 2002? (Score:1)
Re:March 2002? (Score:2, Informative)
Re:March 2002? (Score:1)
I'm afraid... (Score:2, Funny)
Good (Score:1)
Where is it? (Score:2, Insightful)
PHP & XUL (Score:2, Interesting)
I Just found small things like single forms.
Those apps would have the advantage that you can combine a usable & nice looking GUI with a web application (which can be used from everywhere.)
GUIs designed with HTML are usually quite limited.
--
Stefan
DevCounter [berlios.de] - An open, free & independent developer pool
created to help developers find other developers, help, testers and new project members.
Re:PHP & XUL (Score:2)
Re:PHP & XUL (Score:1)
You are right. I am tired of trying to force HTML+DOM+JavaScript to *act* like the GUI that the manager/customer has in mind.
I have been hoping from something like XWT or SCGUI (my pet protocol), but if XUL comes fairly close and catches on, I will be happy (assuming somebody will pay me to do XUL apps).
Real GUI's again. Feels sooo good, Baby!
Re:PHP & XUL (Score:1)
I suppose "GUI-ness" is a continuous factor. It is just that HTML+JS+DOM is not really geared toward business-form type of GUI's. Forms themselves are kind of an afterthought of HTML. HTML is best for documents and e-brocures, not forms. For example, it is a bear to have an HTTP transaction update an existing form rather than redraw the whole thing from scratch each time. That feature should be the *base* of a real GUI protocol.
Porting (Score:4, Interesting)
This sounds like a very good thing, and will address many of the things I find cumbersome about the language (namespaces!). But while it sounds full of objecty-goodness, does anyone know how backward compatible this will be with PHP4? It sounds like major changes are in the works, and rewriting my code in six months sounds about as much fun as putting pencils in my eyes.
PHP5, now with time travel! (Score:2, Funny)
maybe I'll ditch ASP for PHP after all.
Re:PHP5, now with time travel! (Score:2)
That minor eccentric wobble you all just felt in the Earth's axis of rotation is Douglas Adams spinning in his grave.
March 2002? (Score:1, Redundant)
Funny, I didn't see it. :-P
*AMP (Score:3, Interesting)
IMO this is what makes *AMP. Consistency between platforms. I use Apache, MySQL, and PHP religiously, and no matter what kind of machine I'm running everything on it is seamless.
I'm not saying this isn't true with other scripting languages, but being able to code on anything with a few tools no matter where I am is EXCEPTIONALLY nice.
PHP's use on large web application projects has been uncertain. Yahoo [slashdot.org] doesn't feel this way. Neither does Earthlink (WebMail) [earthlink.net]
But I suppose perception needs to change--you don't have to have a billion dollars [Article, still reading it. .
Re:*AMP (Score:3, Insightful)
Problem is, if your php module you wish to compile in isn't written for your system, your are screwed. Besides, using your language to develop your language forces the language to be bulletproof after age.
I've run into some oddities with php when you push its limits.
Re:*AMP (Score:2)
What's your logic?
Having PHP compile to bytecode wouldn't increase the portability of the extension that interface with libraries and apps written in C. If you want an XML parser to work on all platforms you could write it in PHP. A lot of languages that already perform well enough to write libraries in do that rather than doing it in C. Even with PHP compiled to bytecode, it would still have to interface with those C extension dynlib/.so/dll files.
It might be a bit easier to maintain ports of PHP extensions if PHP had a FFI (foreign function interface) that was workable at runtime rather than requiring a specific C extension to be written for it. Languages with such an FFI (Smalltalk, Lisp and others) often can call into shared libraries on the platform with a lot less trouble and extra code.
The only real way around this portability problem is to write everything in PHP or a language with similar portability. There's no reason you can't write an XML parser or image manipulator in pure PHP. Bytecode has nothing to do with this though, other than perhaps increasing PHP's speed to something more workable.
It's easy to push PHP's limits- it was meant to do relatively simple web templating. And sure, it's great at that for some people's use of it.
Re:*AMP (Score:2)
Oh wait! We're talking about Ximian's Mono or Portable dotNEt/dotGNU...
Re:*AMP (Score:2)
You could use CORBA as is on GNOME, but in the truest tradition which you mention, people don't use it for aynthing but GNOME, where it would make a good way of hookup libraries for entirely non-GNOME uses as well. COM is a lot thinner than CORBA, but hell, better than writing C extensions for the rest of OSS's days.
Re:*AMP (Score:1, Funny)
But then if I use Postgres instead of Mysql, I'd have a WIPP system. So is that Pussy WIPP'd or is it that it can WIPP everyone elses ass?
Yahoo? (Score:2)
Referring to:
http://public.yahoo.com/~radwin/talks/yahoo-
YSP = mod_perl.
From the slides, YSP beats PHP on performance. Just as manageable (PHP still requires discipline). Lots of existing Perl code doing other stuff. YSP uses more memory - but what's 900MB(YSP) vs 850MB (PHP)at 500 concurrent requests?
BTW: the page uses javascript where href would do (top 10 web design mistake). Doesn't give me a good impression of cluefulness.
References:
http://public.yahoo.com/~radwin/ta
http://public.yahoo.com
http://public.yahoo.com
http://public.yahoo.com
http://public.yahoo.com
So why did they really choose PHP over Perl?
The given 3 Perl cons, and the "Why PHP slide" are a bit weak IMO.
They need it *now*.... (Score:2, Funny)
I blame PHP... (Score:3, Interesting)
I've been blaming PHP for the fact that I haven't gotten around to learning much of Perl or Java - I've been able to do everything I've needed to so far (Nothing TOO complex, obviously) with PHP. I've been "going to start playing with Java to learn it Real Soon Now" for well over a year at this point...
On the other hand - from the article:
"PHP5's object model has syntax very similar to the Java programming language, so it will be easy for J2EE programmers to learn it"
Using PHP as a metaphorical stepping stone to learn Java then?...works for me...
Just too exciting (Score:1)
However, if time isn't circular, then we won't be getting any beta
Port? (Score:1)
Re:Port? (Score:1)
If you scroll down a bit further, you'll also notice Windows binaries back to 3.0.17
So, yes. They have ported PHP to Windows.
Re:Port? (Score:1)
Re:Port? (Score:1)
custom php programming and web development scripts (Score:1)
"PHP is not a blindingly fast language, especially when handling large code bases," notes George Schlossnagle, a PHP performance expert and principal consultant at Omniti, an Internet consulting company. "The lack of built-in script caching and language optimization make its out-of-the-box performance disappointing. Fortunately, when configured and tuned correctly, PHP can provide performance on par with Perl and ASP. "
Issues with PHP (Score:3, Insightful)
However there are some things which I think need to be cleaned up.
The language is a great big mud puddle of libraries and helper functions. It would be nice if libraries could be imported at script run time (They could be sitting in memory waiting to be imported to negate speed issues) instead being available all the time. Ie If you want to use a function you must explicitly import the module containing the function. Why do I need MSSQL, Postges and MySQL connectivity all at the same time?
And I really hate prefixing all variables with '$'. Maybe they can do something about that...?
Re:Issues with PHP (Score:2)
And maybe C should get rid of the *'s for pointers, they look ugly.
Seriously, one of PHP's great strengths is the very nice and simple "do what i mean" syntax, which would be much harder without an easy way to distinguish variables.
Perl is even more flexible with how you write things, but it has @'s and %'s everywhere. I think PHP has a good compromise.
Re:Issues with PHP (Score:3, Informative)
Um, if you did that then you wouldn't be able to embed your variables in a string, Perl-style.
If you think about it, the PHP way is easier.
Re:Issues with PHP (Score:1)
Combines variables that are easier to write with embeddable variables. Or is this too inconsistent?
However, I do see another reason against it. At the moment you can do this:
With "$func" being written as "func" the parser would no longer be able to recognize func as a variable rather than the name of the function "func()".Of course you can always use eval(), but I like the $func() or even $$var [sic] thing very much...
Re:Issues with PHP (Score:1)
That's an interesting alternative (your solution at the top). I hadn't thought of it. Though I suspect that you're right, it's kind of confusing. To be honest, I never found much problem with prepending a $ to variable names, having started programming in PHP and then moving to Perl. In fact when I started to learn Python and later Java, I had a hard time distinguishing the variable names from the operators and method names because I was so used to looking for dollar signs.
Re:Issues with PHP (Score:1)
The $ makes it more obvious that it is a variable you are dealing with (like you said), and it even makes sense as a sign for "value" (yes, just a thought).
Really bad is -> for objects. I hate that. I love using object.element instead of object->element and I'm very glad that Perl 6 will do so, too. Though _ is not the best string concatenation character, because, well, it's Shift+- on German keyboards, while . is just
If you want to design a language that has as few special characters as possible (like Python), you should have a look at $, too, but since we're talking about PHP here, it does not really make sense. $variable is cool. variable is not.
Now scan through the text and try to find all variable names
Re:Issues with PHP (Score:1)
Yes, dot notation is ten times better than -> for separating instance names and method calls.
If you want to design a language that has as few special characters as possible (like Python), you should have a look at $, too, but since we're talking about PHP here, it does not really make sense. $variable is cool. variable is not.
I don't know all of the Perl "special variables", but I'm pretty sure that "$," is one of them. :) If the German keyboard is not conducive to special characters, then you must really hate coding in Perl!
Re:Issues with PHP (Score:1)
The most bad characters, [], {}, \ are very often used in other languages, too. Array indices, block delimiters, escape sequences, you have that in PHP as often as in Perl. $ is Shift+4, that's okay. It's not like I use the special variables in Perl more often than those characters, far from it. And most of them are even okay (especially "$,", since I do not even need shift for the
Perhaps I'll find a nice way to use the American layout for coding and the German layout for the rest of my tasks... though this is not ideal, too, since the printed characters on the keyboard are German layout forever.
Re:Issues with PHP (Score:1)
Re:Issues with PHP (Score:1)
I will probably play around with XP's keyboard layout switcher. You can assign hotkeys to switch between layouts. It is even enabled by default AFAIK, but sometimes the layout is switched though you did not intend to do so... I'm not sure why, I just disabled the feature. I'll see...
Re:Issues with PHP (Score:1)
Re:Issues with PHP (Score:1)
It must be more convenient for typing in German.
Re:Issues with PHP (Score:1)
I'm sorry - what do you want to say with that?
Re:Issues with PHP (Score:1)
[The German keyboard layout] must be more convenient for typing in German [otherwise I would think it easier to simply use a US keyboard layout].
Re:Issues with PHP (Score:1)
I did not do a strict comparison of both, but the main reasons for using the German layout are, of course, german characters: äöüÄÖÜß. The only difference regarding normal characters are z and y being switched (QWERTZ instead of QWERTY), which makes sense, because z is used more often than y in German. But I bet that the layout is still far from optimized...
The numpad has , instead of
Re:Issues with PHP (Score:1)
But I bet that the layout is still far from optimized...
I think this is true wherever non-Dvorak keyboard layouts are being used, isn't it? I told myself that at some point I'd have to learn the Dvorak keyboard too, but ... well I type pretty fast already, and I don't know if Dvorak is optimized for coding.
Re:Issues with PHP (Score:1)
Re:Issues with PHP (Score:1)
Possibly there is a Dvorak-style keyboard layout for German? (With the most frequently-used letters in German in all the right places.)
Re:Issues with PHP (Score:1)
"My name is #{name}\n"
where 'name' can be any expression, not just a variable name.
Re:Issues with PHP (Score:1)
I haven't learned Ruby. I wonder what other features it has that distinguishes it from Python or Perl.
Re:Issues with PHP (Score:1)
Re:Issues with PHP (Score:1)
Maybe at some point. I have a lot on my plate. But I'll bookmark the URL. Thanks.
Re:Issues with PHP (Score:2)
With Perl you can do something similar:
print "Result is: ${\( myfunc($somevar)*2 ) } bars";
It's a tad uglier, but still practical. That's perl for you
It also works with the <<"HERE"; stuff.
Stupid that selecting "plain old text" in slash still requires me to use < to represent '<'s
Re:Issues with PHP (Score:1)
You make a reference to a value and then dereference it. Neat, I didn't think of that. But not something I'd ever use in a release script (too ugly!) ;). Thanks for sharing.
Re:Issues with PHP (Score:2)
I've actually used it in production stuff.
Though it is indeed ugly, it's convenient enough when you want to use the output of a few functions right in a multiline string. And you don't feel like creating a few throwaway variables a few lines up, just to stick them in the string.
Explaining it to some people is a bit less convenient
TMTOWTDI
Re:Issues with PHP (Score:1)
Using design patterns (Score:4, Interesting)
While this isn't false, it did get me on the wrong foot. It appeared to me as if the PHP developers were just realizing that stuff like design patterns exist, and started writing their code accordingly. THe article however states:
It would've been helpful if that quote had been in the post, but it makes clear that PHP5 will have much better OO features than PHP4 currently has.
Re:Using design patterns (Score:1)
Patters are a great tool but they can be misused. I think this Paul Graham guy took too hard of a look at the misuse of them. Sure, you don't go looking for where you can insert a pattern but if you're designing an interface and you want a nice structure to your design you'll want to have a proxy between the interface and the backend to filter things through nicely so that the interface worries about itself and knows that if it wants to update some data, it just makes a call to retrieve updated data and doesn't need to remember to pass in a database object or some other sort of state object that the interface shouldn't have to worry about.
Anyways, longer post than I wanted it to be so I'm done now.
Re:Using design patterns (Score:1)
You should be able to write an abstraction Singleton declaring something similar to the above code (this would be the macro Paul Graham was recommending). After this you could write:
(or something similar). Now this way the Singleton code would not be duplicated. Note that I personally do find design patterns a very powerful technique, and am not trying to dis them like Paul Graham was. However I would find it very neat if one could define Singletons as I described above.
One person's experience with PHP ... (Score:4, Interesting)
PHP 4.2.3. Windows 2000.
90% of the way into a decent-sized project, I started experiencing somewhat random crashes. Somewhat random in that there seemed to be no consistent way to provoke them, but once they started happening they happened in precisely the same way, consistently.
Simple changes, such as adding a single character to a script, would "fix" it on a particular machine
Downgrading to earlier versions of PHP 4.x didn't fix the problem. Downgrading to 3.x was not feasible
Of course, I attempted getting the source code and finding the problem myself. Unfortunately, none of the 4.x versions would compile. The 3.x versions would - but 4.x wouldn't. Obviously, some black magic was required. Sacrifices failed.
Time was running short. Faced with a very short deadline, I made the only decision I could
As an indication of what dire straits I was in, the technology I eventually recommended to replace PHP and Apache was
I hate that this application has been written in VBScript. The shenanigans I had to go through to get a particular COM control to load and be controlled by IIS - it's system of impersonation doesn't work very well if the COM object isn't specifically designed to be used with it. Under Apache it was able to run as LocalSystem
Obviously I was doing something outside the norm, since there are thousands of web sites which use PHP as the underlying technology. I suspect most of them are running 3.x. But the sheer number of issues that I found with PHP during the relatively short development cycle convinced me that it was in no way mature enough for us to trust our work to it.
Re:One person's experience with PHP ... (Score:2)
Your ASP/COM problems sound weird to me. if you haven't already, look into using MTS/COM+ with that object.
Re:One person's experience with PHP ... (Score:2)
The COM stuff isn't surprising, as we're doing fairly unusual stuff with something that wasn't really designed for it.
Re:One person's experience with PHP ... (Score:1)
Re:One person's experience with PHP ... (Score:2)
One of the reasons for moving to ASP/VBScript was familiarity - much to my dismay, I have written extensive amounts of it
I've also used PerlScript before
Re:One person's experience with PHP ... (Score:1)
Javascript and VBScript are just parsed into M$'s interperter, neither are 'native'.
Javascript also has better error handeling and object support.
Re:One person's experience with PHP ... (Score:1)
Re:One person's experience with PHP ... (Score:2)
Aren't Python's object oriented aspects much nicer than PHP's too?
I can understand using Python over Perl when you want OO, but why PHP over Perl?
Really curious.
Re:One person's experience with PHP ... (Score:2)
In any case, I would have much preferred a Python solution, but most of the decisions were made before I came onto the project. In particular, Zope had been thrown out for being too "heavyweight".
Unfortunately, the timeframe of fixing it did not give me enough time to set up a mod_python solution.
Re:One person's experience with PHP ... (Score:2)
utime doesn't work. That means
touch doesn't work.
gzip doesn't work.
error messages don't get reported.
I begged my boss to roll php 4.2.3 off the servers and he did as soon as he saw what I was talking about...
Other versions of php are just fine, check 'em out!
Re:One person's experience with PHP ... (Score:2)
It appears to be a long-standing bug.
Re:One person's experience with PHP ... (Score:1)
It sucks for static through-put of files, however, so if you plan to serve large files stick with Apache. But if you want dynamic content -- go Zope.
Re:One person's experience with PHP ... (Score:2)
However, the decision was made by someone (I'm not sure who - it was before I came onto the project) that Zope was too heavy-weight for what we wanted.
By the time PHP failed, it was too late to go to Zope
Basically, ASP was the one technology where I could (almost) guarantee having the site in an equivalent state to the PHP version in the time frame. A purely risk-management decision (including the risk of bugs in IIS, etc).
Re:One person's experience with PHP ... (Score:1)
Re:One person's experience with PHP ... (Score:2)
The point is though, that *random* crashes are a Windows trademark - not crashes which appear to be random in how you provoke them, but consistent once they start happening.
Re:One person's experience with PHP ... (Score:2)
t'iz a poor man that blames his tools...
Re:One person's experience with PHP ... (Score:2)
Does that sound like a promo to you?
I've posted a lot on this topic - more than I've ever posted on a topic before. Why? Two reasons.
1. To clarify some misunderstandings about the situation (what technology was used, and when).
2. Many people seem unwilling to accept that *sometimes* an open-source tool is less suitable for a particular purpose than a proprietory tool.
I'm not saying that IIS and ASP were *good* tools. But they were more usable for our needs.
If it had not been for that one single showstopping bug the web site would be using PHP right now, despite the other flaws we found.
Re:One person's experience with PHP ... (Score:3, Insightful)
There are not MILLIONS of people running PHP under IIS4 and 5, and it's your responsibility to prove that there are that many. It just doesn't work reliably under IIS in ISAPI mode period, which is what most people would want. Running as CGI is godawful slow, and millions of people are not going to pay $ for Windows specifically to use an extremely slow option for dynamic web stuff.
Re:One person's experience with PHP ... (Score:2)
So where did you get the impression that I was running PHP under IIS?
Ignoring the "millions of people" bit, don't you consider 5% (a figure that is probably way higher than reality) having issues that pop up out of nowhere being way too high?
The simple fact is, the site was developed in PHP over the course of about 2 months, during which time a number of issues came up, but nothing that couldn't be worked around.
Until finally a major failure in PHP occurred, at a time when we could not dedicate the time to hunting down and fixing it.
The rewrite in ASP took 5 days. It would have taken considerably longer if it was being done from scratch, but of course we had worked out the problems with the other technologies involved whilst working with PHP - similarly all the design and structural work was done. The rewrite was essentially a translation (taking into account VBScript's flaws).
I'm sure PHP is fine for many things - but it proved to be unsuitable for what we were doing, and I am unable to recommend it for another project when there are so many better things out there (and no, I don't in general consider IIS and ASP better).
Re:One person's experience with PHP ... (Score:2)
However, the symptoms I was getting were extremely indicative
As I said, not mature enough for use to rely on. We might have had it work on all our dev and test machines, but then fail on the production machine. We couldn't know.
Whilst we have the same problems with IIS (can't know for sure that it works) we at least haven't had it *fail* anywhere. Cracked yes (Nimda) but not a basic technology failure.
Re:One person's experience with PHP ... (Score:2)
being cracked by NIMDA isn't considered a basic technology failure??? WTF
Thats the funniest thing I've heard ever.
Re:One person's experience with PHP ... (Score:2)
Security is the #1 argument I have against IIS.
In any case, if *I* had set up those machines, they would have been less vulnerable, since I don't let indexing server be installed
Re:One person's experience with PHP ... (Score:2)
Re:One person's experience with PHP ... (Score:2)
5 machines - 3 development machines, 2 servers (rack mounts, very high quality control). All exhibited the problem in different ways, but the problem was consistent when it happened.
If it had been a hardware problem, the results would have been inconsistent (happening not just in PHP, and not in exactly the same way each time on the same machine, across reboots). Whilst I would normally expect more inconsistency with a memory problem, due to differences in the order of things happening, it is actually not surprising that this is consistent. PHP performs exactly the same steps each time it loads up and runs the offending page. As CGI, it has its own memory space, so it *should* hit the problem in the same way each time.
No problems (other than general windows and specific application ones
The most likely explanation is a bug in the PHP 4.x codebase, which has been exposed because I'm doing something unusual. Most people simply do the usual things with PHP
Re:One person's experience with PHP ... (Score:2)
What was the first thing I did? Scrap IIS and VBScript in favor of Apache2 and PHP. PHP runs WONDERFULLY as an Apache2 module, and I have had literally ZERO problems with this install on Windows 2000.
Running Apache has been a dream compared to managing IIS. We use Oracle for our back-end database, and PHP's OCI8 module has performed flawlessly. So far this solution has been installed on 3 different web servers, and I have yet to see an "unexplained crash". I get errors in the logs because of bad code in some of the pages or a missing file here or there, but Apache2 just keeps on working and PHP just keeps on serving pages.
I would guess that you're running into a scalability problem with IIS and spawned processes. Last time I used IIS, it seemed like it wouldn't release process or object handles until the service was restarted. After a while, the system would literally run out of new process handles to give out, and new processes wouldn't start up. Restarting IIS always seemed to cure the problem, but what a PITA. That's when I switched to Apache2+PHP and haven't looked back. I can't suggest the ISAPI plugin since it's listed as "buggy", but it makes me wonder if the plugin is really buggy, or if IIS has issues with external scripting engines...
Re:One person's experience with PHP ... (Score:2)
If it had been loaded as a long-running process (Apache module or IIS ISAPI module), I doubt I would have seen the consistent error - instead I would have seen much more random errors as different things would happen in different ways. By running as a CGI module, I was ensuring that the exact same sequence of events was occurring each time
What you are doing sounds exactly as I described - you are doing the *normal* things with PHP - primarily serving pages generated using data from a database.
I *expect* that my case is unusual - otherwise all these PHP sites would be failing left, right and centre.
However, the fact that I did indeed encounter these problems, plus the general immaturity of much of PHP (for example, the session-handling) means that I cannot recommend the technology.
Not to mention that it was almost as much of a horror to program in as VBScript
Re:One person's experience with PHP ... (Score:2)
Re:One person's experience with PHP ... (Score:2)
Initially the control was meant to live across page requests, but there proved to be no way to hold onto the the control reference. In the end, doing everything on a single page proved to be a better design anyway.
As for the control in question
I think I'll... (Score:1)
It's by far the best dynamic content management system out there. And the underlying language, Python, is easily the best too.
Good comparitive examples... (Score:2, Informative)
Take namespaces for special-purpose library stuff. Or inline eval (include) of logic code (bad, bad, bad). Good analysis (mine) here, including comparitive code to demonstrate my point. [zope.org]
Like Java, Python already does assignment by reference, copy is optional. PHP is just figuring this out. PHP's language leaves much to be desired in team programming and code readability. Using 'Design Patterns' is only half the equation. You can do component oriented programming, but some languages are going to be better than others at facilitaing it in a manner that works in reality. PHP5, unfortunately, won't hold a candle to Zope 3 [zope.org], which is really going to compete at the level of J2EE and
PHP lacks object persistence, multiple inheritance, full-featured transaction machinery, a built-in security model, an interactive command-line interpreter, and it is too tied to web-scripting only. And becuase it doesn't have a security model that binds operations to roles/permissions, it can't easily put gateway methods with bound roles (like Zope's proxy roles) between web code and SQL code, leading to increased chance of SQL injection vulnerabilities.
On the other hand, Zope has object perisistence, transactional RDBMS integration and connection abstraction, templated, componentized SQL methods, a security framework, and Python, which is a much better language (explicit is better than implicit). And if you need to do any sort of content-management, Zope has a mature component-oriented framwork in the CMF [zope.org], with a killer-app implementation in Plone [plone.org]. It also has XML-RPC, WebDAV, Caching managers, and all sorts of other goodies you won't find out of the box in PHP.
PHP is fast, and it is easy, but it is by no means scalable. PHP offers a gentle slope learning-curve, and quick easy hacks, but is somewhat like a crack addiction. What PHP as a framework needs to do is not reinvent the wheel in the language department, and use a pre-existing, scalable, enterprise-class OO scripting language, and utilize a templating technology that doesn't promote mixing logic and presentation - but what's the point, since it would look remarkably like Zope?
Re:Good comparitive examples... (Score:1)
Re:Good comparitive examples... (Score:2)
Pretty much all of what you offered there is available in free or commercial frameworks, and the rest is opinion, not fact (python is 'better' - good argument).
Rewrite? (Score:1)
backwards compatability (Score:1)
Re:PHP vs Perl (Score:3, Insightful)
1. PHP is a little easier to learn than Perl (at least it was for me).
2. PHP was designed specifically to generate dynamic HTML, whereas Perl seems to be more of a general purpose language.
Then again, sometimes it depends upon the application. There are some things that may be easier to implement in one language than the other, you may need the features of one that the other lacks, etc...
Others may, and probably will, disagree
Re:PHP vs Perl (Score:3, Insightful)
At some point in history, PHP provided a few features which were relatively novel at the time, at least in the Free software arena, which has a tendancy to be a bit behind the rest of the world. [1] At this point though, you can get templating ala ASP in plenty of free and open languages, including perl.
I could be full of it though- other than having the benefit of entrenchment, does PHP have any features that truly set it apart from perl, python or any of the more mature languages?
[1] Not in all areas of OSS, of course, but this statement is relatively true for the mainstream of OSS. There are interesting projects and acedemic research things going on that are doing new and interesting things. Like the regular mainstream, most people in the OSS mainstream aren't interested in doing things better so much as doing them as they already know how.
Re:PHP vs Perl (Score:2)
(cranky early work day)
Re:PHP vs Perl (Score:1)
Note that I'm talking about the as-is distributions here. You can get speed and sessions out of perl (mod_perl, Apache::Registry, Apache::DBI, and the various session modules off CPAN), and you can get a coherent (I've heard) DB access layer using the PEAR DB.php class. (I don't think you can do much about php being ugly code-wise. [by ugly i mean things like variable denotation and the gawd-awful looking preg_* function calls to get decent regexp behavior. what kind of web language puts regexps in the function-call ghetto anyway?]) But many people just don't take the time to get the full oomph out of their development environment, for better or worse. That's why people who do get paid well...
Re:PHP vs Perl (Score:3, Insightful)
Why are PHP and Perl paired together so often? (I like both languages; don't get me wrong.)
After spending some time toying around with both, their syntactic similarities seem superficial, like the fact PHP has that "$" prefix on its variables and that they use the ugly "->" operator for OOP.
They seem like distant (free, open-source) cousins at best.
Joe
http://josephgrossberg.blogspot.com/ [blogspot.com]