You are on page 1of 5

WEB PROGRAMMING LANGUAGES

PHP
Loosely stands for Hypertext Preprocessor.
Embedded into HTML.
Most commonly used server-side programming language.
Runs on about 75% of web servers including Facebook, Wikipedia, and WordPress.
Its code is processed before it reaches the clients browser.
Works with MySQL to pull information from databases.

Pros
 Inexpensive, scalable and secure.
 Short learning curve
 Quick development time
 Very high performance
 Very flexible and adaptable
 Since PHP is cross-platform, installation, deployment and configuration of most open source servers is
simple.

Cons
 PHP can only parse code within its delimiters (separates independent entities e.g /, # and ˜ example: %
[a-zA-Z0-9_-]%)
 Lacks namespacing. Collisions can occur in class naming.
 Varibles rarely have types, and type checking is loose.
 Being free, most corporates feels it is not worth considering.

JavaScript
Features
 Scripting language run on the users browser.
 Developed by Netscape.
 Syntax based on C.
 Responsible for creating dynamic sites.
 Contains the JQuery framework.

Pros
 Executed client-side and thus saves bandwidth and strain on the web server.
 Easy to learn and implement. Its syntax is close to English.
 Versatile. Integrates seamlessly with other languages.
 The DOM has plenty of prewritten functionalities.
 Extends functionality to web pages through many add-ons.
 Provides easy debugging (Validation).
 Loosely typed. (No declaring variable types, attributes are read from any object etc.)
Cons
 Security threat. Since the code executes very fast on the client, code snippets can be embed and
compromise the user’s system.
 Rendering of JavaScript varies from browser to browser. This creates inconsistency in functionality and
interface.

1
 Due to its load and go (on the fly) delivery approach, JavaScript lacks linkers. Compilation units are all
combined globally, this creates a security loophole.
 JavaScript only has single inheritance.
 Slow bit wise. Conversion of operands back and forth from 32-bit to 64-bit is tasking.

Perl
Features
 Supports object oriented, procedural and functional programming.
 Superior text manipulation capabilities (HTML & XML).
 Support 3rd party database integration (MySQL, Oracle, Sybase etc.).
 Accepts external C/C++ libraries.
 It’s open source.
 Rapid development cycle.
 Useful in graphical programming.
 Enables encryption of web data e.g. e-commerce transactions.

Pros
 Follows a traditional approach e.g. braces for functions and loops
 Multi-purpose language (Procedural, Functional or Object Oriented)
 Best choice for small tasks/projects.
 Good at pattern matching, regular expressions, and string manipulation.
 Commonly used by system administrators.
 Portable (cross-platform).

Cons
 Has many alternatives achieve same results. This sometimes results in unreadable and untidy code.
 Slow when used in scripting.
 OOP not implemented well.
 Problematic with large code.
 Not portable.
 Ugly libraries.

Ruby
Features
 An object oriented language.
 Contains the Ruby on rails framework.
 Rails enables simplification and reduction of repetitive tasks.
 Used by Groupon Shopify, and Twitter (Front-end).
 Almost similar to PHP but provides less code repetition, and is fast.
 Not supported by most servers.

Pros
 Highly readable, concise syntax. The code is also self-documenting.
 Multi paradigm (Structured, Procedural or Object Oriented).
 Good in memory-management and garbage-collection.
 Has built-in data structures.
 Dynamic, interpreted.

2
 Powerful, with a large ecosystem. Has 3rd party libraries.
 Good testing frameworks.
 Open source libraries.

Cons
 Not supported by all website hosts, more-so for low-end shared-hosting providers. This is because ruby
on rails is more resource intensive than PHP.
 Low performance and scalability.
 Not popular.
 Loosely typed. Can create runtime errors.

Python
Features
 Full object oriented, high level, strongly-typed language.
 Free and open source software.
 Easy to use, but has less applications.
 Easy readability and compact syntax.
 Best on open source platforms e.g. Linux.
 Community based development.
 Has exceptional handling.
 Supports garbage collection and memory management.
Pros
 Less code to achieve results.
 Code is more like human language.
 Faster than most dynamic languages.
 Great Object Oriented approach.

Cons
 No customizable and fast I/O available.
 Forces programmers to follow certain conventions.
 Codes won’t work if indentation is incorrect.
 Nested functions are problematic. They cannot be modified in the outer scope.
 Poor documentation.

ASP
Features
 Used mostly in corporate environments.
 Developed by Microsoft.
 Compatible with .NET applications.
 Requires Windows hosting to run ASP.net.

Pros
 Flexible.
 Object oriented.
 Compatible with other .NET applications e.g VB.NET and C#.
 Has a task based library, with many inheritable classes.
 The IDE has built-in debugging functions.
3
 Has autocomplete for methods and variables (IntelliSense).
Cons
 Usability is low. Ms. Server administration is clunky and has many complex and un-needed features.
 Expensive and its upkeep is resource intensive.
 Most ASP.NET apps run on IIS (Internet Information Services) only.
 Requires more web resources (Better servers and a lot of them).
 Windows and IIS programs are prone to exploitation (hacking).

Selecting a Web Programming Language


When selecting a programming language one should consider the following factors:

a. Scalability and Ease of Maintenance


These two factors depend on:
 Programmer’s experience
 Use of best programming practices
 Using a solid programming framework
 Following programming guidelines and standards

b. Performance and Speed


Although the language used to develop the program affects performance, major disparities arise
when one tries to compare application running in different environment say Linux and Windows.

c. Cost
This includes the initial cost of acquiring the software. Most web languages are open source while a
few like ASP require member registration on windows platform to obtain.

d. Portability
Most languages are dependent on hardware constraints in some form, such as defining the
maximum value that an integer can take.

e. Support and Resources


Just as good software needs a community following to help it grow, a programming language
should also have a strong community behind it. A language with an active forum is likely to be
more popular than even a great language that doesn't have help at hand.

Community support generates wikis, forums, tutorials, and, most importantly, additional libraries
that help the language to grow.

f. Time to Deploy
The time to production is the time it takes to make the program go live—when the code is
production-ready and will work the way it's intended. The presentation logic should be added to the
control logic when calculating time to production

4
Time to production is very dependent on the size of the code. Theoretically, the easier it is to learn a
language, the smaller the amount of code and, hence, less time to go live.
g. Editors and Tools
Support for various source-code editors, compilers or interpreters if key. Others include profiler or
debugger, documentation generators and code sharing sites. This can executed separately or from
the programs IDE (Integrated Development Environment).

h. Platform Independence
By platform environment, I mean not only the operating-system facilities, but also the middleware
facilities, database facilities, and system-management facilities.

i. Popularity
The most common programming languages are bound to receive much attention as compared to the
less known ones.

j. Usability and Ease of Deployment


Clearly, the easier that the programming language is to learn, the quicker that programmers become
productive

k. Ease of Understanding
Most code is written once and read many times—usually, to focus on a particular point (for
instance, to fix a bug). Thus, it is important that the reader quickly grasp the essence of what’s
happening.

l. Fit-for-Purpose
Full-fledged scripting languages are preferred over general purpose ones. But there are exceptions...

m. Elasticity
The "elasticity" of a language is the ease with which new features can be added to the existing
program. Elasticity can involve adding a new set of functions, or using an existing library to add a
new feature.

You might also like