Monday, July 31, 2006

PHP-Faster,Efficient,Secure,cross platform , Free & Open Source

If you've never heard of PHP, you're certainly not alone. However, you've probably visited one of the many sites driven by PHP, such as the widely popular Linux application portal

Introduction :

PHP is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly.
What distinguishes PHP from something like client-side JavaScript is that the code is executed on the server. If you were to have a script similar to the above on your server, the client would receive the results of running that script, with no way of determining what the underlying code may be. You can even configure your web server to process all your HTML files with PHP, and then there's really no way that users can tell what you have up your sleeve.
PHP, which stands for ``Personal Home Page'', was originally developed by Rasmus Lerdorf as a macro tool for tracking visitors to his home page. It grew from its simple roots into a complete tool for building web applications by version 3. Released in June 1998, PHP version 3 (often referred to as ``PHP3''), was primarily developed by Andi Gutmans and Zeev Suraski.

Evolution :

The first version of “PHP/FI,” called Personal Homepage Tools/ Form Interpreter, was a collection of Perl scripts in 1995.1 One of the basic features was a Perl-like language for handling form submissions, but it lacked many common useful language features, such as for loops.
A rewrite came with PHP/FI 22 in 1997, but at that time the development was almost solely handled by Rasmus.
Zeev and Andi decided to completely rewrite the scripting language. They then teamed up with Rasmus to release PHP 3, and along also came a new name: PHP: Hypertext Preprocessor, to emphasize that PHP was a different product and not only suitable for personal use.

PHP 4 came with a new paradigm of “compile first, execute later.” The compilation step does not compile PHP scripts into machine code; it instead compiles them into byte code, which is then executed by the Zend Engine(Zend stands for Zeev & Andi), the new heart of PHP 4.

With the new superglobals in place, on April 22, 2002, PHP 4.2.0 was released with the register_globals turned off by default. PHP 4.3.0, the last significant PHP 4 version, was released on December 27, 2002. This version introduced the Command Line Interface (CLI), a revamped file and net-work I/O layer (called streams), and a bundled GD library.

With PHP 5 comes the introduction of exception handling, the Standard PHP Library (SPL), enhanced support for XML, reflection, and quite a few enhancements to the object oriented features of the language. PHP 5 also offers a sizable list of new functions.

Comparision :
Both PHP and ASP are interpreted scripting tools that allow HTML and code to be mixed in the same file. Both have effective APIs for building database-driven applications. However, unlike ASP, PHP is open source and cross-platform. PHP can run on Windows NT under Microsoft's IIS web server or on any UNIX variant as an Apache module or CGI.

according to sean hull in an article in oracle: ASP.NET is expensive with respect to memory usage and execution time, which is due in large part to a longer code path. For Web-based applications, these limitations can be a serious problem, because on the Web, your application is likely to scale to thousands and thousands of users per second. Memory usage can also become an issue on your Web server.
I'll conclude that its strengths far outweigh its weaknesses. (See the summary in Table 1.) It boils down to price, speed and efficiency, security, cross-platform applicability, and open-source opportunity. Its only weakness is its lack of a pure and perfect OOP implementation; however, this is a minor drawback. Though language constructs do help, ultimately, good coding is a matter of practice, execution, good habits, and discipline.

Speed and efficiency. As I mentioned earlier, ASP.NET is a framework allowing you to use various programming languages. In addition, it is touted as having a great object-oriented model. All this is true, but it becomes a detriment as far as speed is concerned. For all that advantage, there is a lot more code to run through to execute the same ASP page than you have to execute in the PHP engine for an equivalent PHP page. PHP is the quick-and-dirty type of solution, the one to get the job done. And though a lot of robustness has been added to it since its 2.0 and 3.0 days, it still retains that core optimized high-speed approach. Speed is not the only consideration. Memory usage is also important.

Security. ASP.NET runs on IIS, which has been compromised innumerable times, as evidenced by IT news reports every other week. It has become such a liability, in fact, that in spite of all the marketing dollars spent on it, many IT professionals refuse to have their networks exposed with an IIS Web server. PHP, however, works with Apache, which has a proven track record of speed, reliability, and hardened security. Check for more information.

Cross-platform applicability. ASP.NET runs on IIS and is starting to run on Apache, which can run on a whole host of platforms. PHP has been designed to work with Apache from the beginning, so you have many proven and reliable server platforms to choose from.

Open source opportunity. Open source is not just some philosophical torch idealistic programmers, or companies wanting to save a few bucks on licensing costs, are carrying. When you're dealing with bugs in the software itself, open source can be a serious godsend.

According to Marty Anstey Most of ASP's functionality now pales in stark contrast to PHP's gleaming capabilities, but still one must consider the multitude of developers throughout the late 90's who studied and learned ASP, went to school and even got jobs developing ASP websites.

PHP, while loosely based on C and Perl, has never faced the overwhelming complications ASP has.
ASP natively supports only Access and MSSQL, whereas PHP natively supports a huge number of databases.
ASP is significantly slower than PHP, for obvious reasons. Primarily, PHP runs on notoriously fast Unix and Linux servers which have for years outpaced Windows running on comparable hardware. ASP does not run on any operating system other than Windows, and even then, only in IIS and PWS. I could discuss countless reasons why IIS makes a terrible web server, but that would be a discussion all on it's own. PHP runs on almost any web server, on almost any platform.

And finally, cost. PHP is free. ASP isn't free. If you want to use ASP, you have to use IIS, and if you want to use IIS, you have to buy Windows. Traditionally, the cost of Windows has been high.

According to Charles Brown PHP has it's own language and syntax, the language is simplified due to the programs incorporation of a parsing engine that is especially designed to make short work of translating PHP code into machine language that executes commands.
ASP makes use of a language that was dying before Microsoft managed to breathe new life into it. Visual Basic Script is the language used in ASP and was formerly used (and still is used by some developers) as a client side scripting language that was in direct competitions with Java Script. This was back when Internet Explorer was still the #2 browser behind Netscape Navigator. During this era, Java Script was whooping the pants of Visual Basic Script with its wide acceptance amongst Web developers.

The bottom line is with the release of PHP 5, PHP is a more appealing technology than ever, offering you object-oriented features for building large, sophisticated Web-based applications, with the efficiency of a tool that will get the job done. What's more, you have as your Web servers solid, reliable Linux-based servers running Apache to bring you performance and unmatched uptime.
Employment opportunities:
There are lot of employment opportunities for PHP.
According to
73.24 of the market share of web servers is Apache while 21 % is of IIS( Microsoft ).
According to Netcraft statistics for June 2004, PHP is currently in use on at least 18.5 million domains.
So you can get a lot of Web designer Jobs if you are into PHP.
Some of the reputed companies that work on PHP are
1. Yahoo ( Rasmus lerdorf the creator of PHP works in Yahoo! The Search, Mail ,Groups etc works on
2. Google
3. AOL
The other companies are SAP,Altavista,Hewlett­Packard ,Boeing ,Lufthansa, Dresdner Bank, Disney
Online, Lycos, Sprint, T­Mobile, Orange, Nortel Networks, Lucent, WallStreetOnline and Siemens.


Anonymous said...

You have patience!

ithinkearthisheaven said...

whats differnce between ASP and PHP . which is better . i know both are scrips . ok i have great carrier and dont need job but i like to design websites so what would be best to learn php or asp.

ganu said...

you rocked. when I got job first time , I was worried that what abt the market but now fully sufficient. I worked with yahoo also recently. PHP rocks.

swati said...

Thanx for the information!!!!
Nice exploration!

swati said...

U explore things to the ultimate!!
Techical world desires more such technocrats!