Tips to Adapt to Multiple Technologies by looking an Example of Microsoft.NET and PHP

Anant KuslekarConsultant Strategy Adviser - IT and Business Technologies
CERTIFIED EXPERT
Published:

Objective of This Article


In 1990’s, when I was a budding software professional, I had a lot of confusion about which stream or technology, I had to choose to build my career. In those days, I had lot of confusion like whether to choose System software or Application Development, Microsoft or Oracle, Visual Basic or D2K, MS-SQL or Oracle, etc. So for survival, I have learnt both Microsoft and Oracle Technologies. Similarly, now also, I feel budding professionals may have the tendency to get highly impressed by one and may get inclined to that. 
Over the last three decades, many technologies played magnificent roles in IT industry during their own period, in their own specific areas. In fact, the technologies do not determine this, the situations do, and hence the business requirements are the decision factors which influence the trends of development, growth and demand of various technologies.
In 2010’s, as part of Seniour Management Team, I expect my team professionals with versatile skillsets, having exposure to most of the current powerful technologies. According to me, the major effective aspect is how fast a professional adapts himself to current demands and emerging technologies. So here, I have taken example of two web popular technologies, and if a professional is competent in one, can easily learn other and adapt to use it. Due to shortage of time, and other limitations I am not able to compare Java Technologies here. I request if any Java Professionals in Expert-Exchange can post their valuable positive comments to help me out here to compare with Java/J2EE etc.
 

Diversified Web Business Technologies


Operating Systems:  Windows 2003/2008, Linux, UNIX, Solaris, Windows CE
Web Languages: Java, VB. Net, C#, C, C++, Perl, PHP, Python, and ColdFusion etc.
Web Servers: Weblogic, MS IIS, IBM Websphere, Apache/Tomcat etc.
RDBMS:   Oracle, Microsoft SQL Server, MySQL, DB2, Ingress etc.
Application Domains: SCM, CRM, EAI, e-Commerce, Automation, Financial
Specialized Techniques: SEO, Wireless, Mobile Applications, Business Intelligence etc.
Environments: ASP.Net, Java/JSP/J2EE, PHP, Java Script, XML, XSLT, HTML5 etc.
 

Background of both Technologies under consideration


ASP.NET: has got evolutionary background with convenience of RAD tool with strength of OOP style.ASP.NET is subset of Microsoft’s Dot NET framework version 1.0 released around 2002. Microsoft.NET is Object Oriented Programming with clear cut code separation into various categories like aspx for GUI, server side for code behind etc.

PHP: has got strong historical back ground, coders familiar with C, C++ may like PHP. PHP in 1995 released as Personal Home Page and later became popular as Hypertext Preprocessor.  PHP is originated as server-side scripting language for creating dynamic Web pages.
 

Common with Both Technologies - ASP.NET and PHP

 
Both Frameworks well suited for web applications development.
Both script will run on the server and render only HTML output to the browser’s window.
Both need to pay to get hosting space from a hosting provider.
Both parties release fixes for bugs and security issues.
Both technologies have got a lot of fans, forums, news groups, etc.
Both support most of the databases.
Both ASP.NET, PHP servers are secured; But Developers need to make their apps more secure with their coding and additional security measure.

 

Try to Similarise with Comparison


(Note: Here almost recent stable versions like Microsoft.NET and PHP are considered for reference).
Both cannot be comparable one to one. ​ PHP is a language. ASP.NET is not a programming language.
PHP is server-side, cross platform, HTML scripting language. The syntax of PHP is almost similar to C and Java. The goal of PHP was to allow web developers to write dynamically generated pages quickly
ASP.NET is short name for Active Server Pages for DotNet. ASP.NET is a Subset of Microsoft.NET Framework which uses generally C# or VB.NET etc. ASP.NET generally runs on Internet Information Services IIS which is a component of Windows.
Most of the times, PHP and C# may comparable, where as ASP.NET and PHP are comparable. Some features of ASP.NET can be compared with PHP-Nuke, PHP/PDO, and symfony 2, PHP Library. Some features of ASP.NET MVC can be compared with PHP-Nuke, symfony 2, PHP Library.
 

Popular Combination


(Note: Both support multiple databases using their own way.)
ASP.NET:  IIS with Windows Operating System with MSSQL
PHP: Apache on Linux with mySQL
 

IDE - Integrated Development Environment


ASP.NET: Visual Studio.NET is exhaustive IDE, allows interactive debugging and tracing.
PHP: No such native IDE. Third party IDEs are available such Zend Studio.
Some PHP supporting IDEs require some additional add-ons to work similar to Visual Studio.NET. No inbuilt exhaustive debugging facilities. PHP5 with Eclipse is a good Match.
 

Cross Platform -Operating System


PHP: Cross flat form
PHP code written on Linux/Apache will work on Windows or any OS/Web Server. PHP code can be hosted on many web servers, on multiple operating systems.
The analogous feature in .NET is DotNet Mono which is in budding stage. Dot.NET is yet to be well-established as 100% cross-platform.
 

Easy to learn for whom


ASP.NET: Easy for the one who knows OOPs concept with web page fundamentals. It will be easy for event driven programmers. But It offers language flexibility to choose between C#, VB.NET etc.
PHP: Easy for those, who are familiar with C, C++, or some scripting languages.
 

Compilation - Interpretation


ASP.NET is compiled.
PHP is interpreted (line by line compilation and execution.
 

Support


ASP.NET: Microsoft’s team supports.
PHP: PHP community support.

Cookie with Session State
ASP.NET - Supports both Cookie-based and cookie less session state with a small configuration change.
PHP: Cookie-based session state and does not supports cookie less.
 

Object-Oriented Programming


ASP.NET - Built-in complete OOPs support...
PHP - recently become OOPs.
 

Control Reusability - User Controls


ASP.NET: Explicit user controls with extension .ascx files are available.
PHP: Till know the User Control such as ascx in PHP is not in use.
May be achieved by encapsulating using include ().
 

ORM Object Role Modeling


ADO.NET- Entity Framework
PHP- Doctrine
 
Microsoft ASP.NET MVC
PHP Symfony
 

Ajax Support


ASP.NET: Built-in Ajax Support
PHP: Requires add-ons.

Open Source
ASP.NET- is not yet established 100% track record of open source, but may be going to be.
PHP -Established proven track record of Free, Open source.
 

Content Management Systems


ASP.NET: DotNetNuke, SharePoint, N2CMS
PHP: Typo3, Joomla, Magento

Deployment - Multiple methods
ASP.NET: FTP, Publish, XCopy, MSI
PHP: FTP or copy to destination
 

Coding

 

Multiple language support


 ASP.NET: Choice of multiple languages like VB.Net, C#, J#, C++ etc.
PHP: Single language.
 

Clear-cut Code Separation


ASP.NET: Clear cut separation of design and logic using of code-behind pages, aspx and user-controls.
PHP: No such clear-cut separation.
 

String concatenation


ASP.NET:  C# string concatenation is done with plus sign (+).
PHP- string concatenation is done with period (.).

Post Back


ASP.NET: Page_Load -Page.IsPostBack)
 PHP: if(isset($_POST[]'submit']))

Display simple output
 ASP.NET: Response.Write or  aspx page use <%="output string"%>

Referencing methods or properties of class
In C# period symbol "." instead is used and in PHP “->" symbol is used.
PHP: $member = $vehicleClass-> member;
$ vehicleClass ->doMethod();

ASP.NET:string var = objVehicleClass.var;
myclass.doMethod();

Case Sensitivity
PHP: Many keywords such as  if, else, while, echo are NOT case sensitive.
Similarly classes, functions, and user-defined functions are NOT case-sensitive.
Example:. ECHO ,echo, EcHo all are the same.

ASP.NET: Dotnet’s C# is mostly case sensitive.
Include
PHP : include 'filename'; or require 'filename';
ASP.NET :Using or Imports

Configuration
ASP.NET: web.config
PHP:Php.ini
 

Incomplete


This comparison or similarities list will be always incomplete, since this is limited to only few points with only two technologies. But all experts, if they wish they can post their valuable positive comments, to aid up and expand this to multiple technologies with more view points...
1
1,850 Views
Anant KuslekarConsultant Strategy Adviser - IT and Business Technologies
CERTIFIED EXPERT

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.