Zend has announced that the latest update of their integrated platform offering, Zend Core 2.0, includes MySQL 5.0 as well as many other improvements to the PHP runtime system, faster performance on Windows, integration with Microsoft's FastCGI implementation, and a bundled Zend framework. In my view, the Zend Framework could well be the most important piece of technology here. Many people think of Zend as being a tools company, but it is the framework that gives developers such a huge productivity gain. And the framework is fully open source and issued under a permissive BSD / Apache / PHP style license.
PHP doesn't always get the respect it should as a programming language. There are lots of programming snobs out there that consider scripting languages (like PHP, Perly, Python, Ruby) to somehow be inferior to cranking out code "the hard way." (This normally means in whatever language they happen to already know, whether it's C++, Java, Delphi, etc.) But I believe the dynamic languages are ideally suited for the agile development that's needed for many situations, especially web-based applications. The trick is to use the right language and tools for the right job. You might not want to write a compiler or operating system in PHP, but it's equally valid that you probably shouldn't write a web site in Assembler. (Not if you want it done quickly.) To me, PHP has emerged as the Visual Basic of the 21st century. It's a powerful and expressive language and often the best way to just get the job done. So it's great to see so much innovation happening in the PHP community, with announcements from Zend, Borland and others. These add-on technologies help make PHP accessible to an even broader market.
Also note, Andi Gutmans from Zend is speaking at the MySQL Conference & Expo April 23 - 26 in Santa Clara. His talk is on the State of PHP, but I hope he'll also discuss the importance and evolution of frameworks.
- Zend: Zend Core, New in 2.0, Zend Framework, Downloads
- InfoWorld: Zend Gets Certified, Zend Ships Windows-Ready PHP
- DevX: Zend Goes Straight to the Core
- MySQL Conference: Speakers, Sessions


Hi!
Also of note is Bill Karwin's talk on Using MySQL with the Zend Framework:
http://www.mysqlconf.com/cs/mysqluc2007/view/e_sess/10599
Cheers!
Posted by: Jay Pipes | March 07, 2007 at 01:51 PM
I will definitely also talk about Zend Framework.
See you at the MySQL conference. I'm looking forward to it!
Posted by: Andi Gutmans | March 07, 2007 at 02:44 PM
While the Zend Framework goes a long way to help remedy PHP's lack of features and obscurity, it's still not an optimal solution. The reason is that PHP itself is b0rked. Not because it is a dynamic language or because it's not OOP enough.
The design of PHP is what irks me so much. Erik Naggum goes a long way to describe my feelings about PHP in his description of Perl: http://www.underlevel.net/jordan/erik-perl.txt
To quote the bottom line: "put simply: you can commit any dirty hack in a few minutes in perl, but you can't write an elegant, maintainabale program that becomes an asset to both you and your employer; you can make something work, but you can't really figure out its complete set of failure modes and conditions of failure."
And I guess much of this stems from the very fact that PHP was built with Perl as a role model. That, in my most humblest of humble opinions, is pretty much like building a new 20-story office building with a moldy, rotten 2-story wooden barn as a role model.
Other than that, PHP is fine. And the Zend Framework too.
Posted by: Asbjørn Ulsberg | March 08, 2007 at 07:56 AM
I think the reality is that you can write good or bad code in any language. It depends on the discipline and skills you bring to the task. Having a good framework can make that task easier though.
PHP has polymorphism, inheritence and encapsulation, so to me that's all the core capabilities of Object-Oriented Programming; the rest is up to the developer. But maybe there is some specific capability you think PHP is missing here.
LISP is an interesting language, but it's kind of a mind-f**k, in the same way that FORTH or APL is. (In fact, you could consider all three of those really as machine languages for very specific types of operations.)
These languages have their uses but they encourage a very particular way of coding. In LISP it's all about recursion and symbolic list manipulation; in FORTH it's all about using the stack efficiently; in APL it's all matrix operations. If you can transfer good habits from LISP or FORTH to another language, you're a better programmer than most.
But languages always come down to personal preference. If someone likes or dislikes one language over another, who am I to argue?
--Zack
PS. Ok, I doubt anyone programs in FORTH or APL anymore.
Posted by: ZUrlocker | March 09, 2007 at 04:27 PM