Sunday, November 19, 2006

The factors that should be considered when choosing a scripting language for your online Business

There are a lot of options these days when it comes to web development scripting language, .NET, PHP, JSP and CGI etc.

However the factors that should be considered when choosing a scripting language are:
1.
Cost and any licensing issues
2.Platform independent
3.Libraries of codes and community support
4. Security


I personally will go for PHP because to the following:

Cost and licensing issues
Cost here means the cost of the technology itself and the cost of hiring developers to develop the application that required.
Open source languages tend to be very cheap compares to other scripting languages which are owned and supported by large company such as (.NET by Microsoft, ColdFusion by Macromedia); example of open source languages is PHP which is freely available and supported by large community. Whereas .NET platform price (windows) is expensive compares to free PHP platform such as (Linux, UNIX, FreeBSD etc.)
In the Programming Community Index http://www.tiobe.com/tpci.htm which shows the popularity of programming languages, based on the availability of skilled engineers, courses and third party vendors, PHP in their index is in the fourth position before Perl and C#.
As about hiring developers it’s widely known that employing open source language developer such as PHP is much cheaper than hiring .NET web developer as stated in IT jobs watch website (1)
http://www.itjobswatch.co.uk for example, the average salary of PHP web developer is £27,818 whereas the average salary of .NET web developer is £34,974.
http://www.itjobswatch.co.uk/jobs/uk/php%20web%20developer.do
http://www.itjobswatch.co.uk/jobs/uk/.net%20web%20developer.do
Furthermore PHP is an open source language so we don't have to worry about any licensing issues.


Platform independent (cross-platform)
Technologies such PHP and Perl run on different platforms (Windows, Linux, Unix, FreeBSD etc.) whereas .NET requires Microsoft platform and it runs only on windows operating system which is one of the disadvantages of using .NET technology.

Database support
PHP supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.)

Security
.NET requires the use of Internet Information Services (IIS) which has a history of vulnerabilities whereas PHP runs on Apache the most used web server
http://news.netcraft.com/archives/web_server_survey.html and has a good security track record, furthermore it runs on almost all available platforms. Please refer to security focus website for more details about the vulnerabilities of IIS.
http://search.securityfocus.com/swsearch?sbm=%2F&metaname=alldoc&query=iis

Libraries of codes and community support
When it comes to PHP the availability of libraries of codes is a non-issue due to the growth of PHP usages, furthermore the nature of its open source community. However the same is said about .NET and J2EE which are supported by large companies’ investment, nevertheless these companies might stop supporting any of their languages at any time due to introducing another new language as we can see with Microsoft which might stop or reduce supporting its ASP due to introducing .NET.
Therefore it is mostly business issue which determines the support or introducing any private owned development language.

Performance
In my point of view almost all the available web development scripting language do perform the same.
Finally we need to think about the unique needs of our situation and organisation when choosing a web development scripting language furthermore the availability and affordability of the related technologies, for instance (database management system, web server and operating system).
For example if we want to use .NET I will have to ask myself do I have windows operating system, IIS and DBMS which supported by .NET, if not than how do I obtain them? Are they free or do I have to pay for them? If I have to pay for them can I offered them at this moment? Is it worth the investment or not? Moreover I need to think about my understanding and comfort of using any language that I decide to use.


References:
Usage Stats of PHP for March 2006: 21,439,178 Domains, 1,277,736 IP Addresses http://www.php.net/usage.php
http://www.tiobe.com/tpci.htm
http://www.itjobswatch.co.uk
http://www.itjobswatch.co.uk/jobs/uk/php%20web%20developer.do
http://www.itjobswatch.co.uk/jobs/uk/.net%20web%20developer.do
http://news.netcraft.com/archives/web_server_survey.html
http://search.securityfocus.com/swsearch?sbm=%2F&metaname=alldoc&query=iis

All the links were accessed in 19/3/06