Thursday, March 18, 2010

bench3

Difference Between Various Scripting Languages | PHP | PERL | ASP | JSP | ColdFusion

Here is the main difference between the different scripting languages which most of them get confuse.

PHP
PHP uses a blend of interpretation and compilation in order to provide the best mix of performance and flexibility to programmers.
Hypertext Preprocessor (the name is a recursive acronym) is a widely used, general-purpose scripting language that was originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document. As a general-purpose programming language, PHP code is processed by an interpreter application in command-line mode performing desired operating system operations and producing program output on its standard output channel. It may also function as a graphical application. PHP is available as a processor for most modern web servers and as standalone interpreter on most operating systems and computing platforms.
Behind the scenes, PHP compiles your script down to a series of instructions (called opcodes) whenever it is accessed. These instructions are then executed one by one until the script terminates. This is different from conventional compiled languages such as C++ where the code is compiled down to native executable code then that executable is run from then on. Instead, PHP re-compiles your script each time it is requested.

This constant recompilation may seem a waste of processor time, but it is actually not all that bad because you no longer need to worry about hand recompiling your scripts when you make any changes. On the flip side, many scripts take longer to compile than they do to execute!

Furthermore, it provides very quick feedback during development. If you have an error somewhere in your file, PHP will refuse to compile the page until you have fixed the problem, and you are able to step through execution of your code line by line until you find the problem.

The speed hit of regular compilation is nullified entirely by the use of PHP accelerators.

One major advantage to having interpreted code is that all memory used by the script is managed by PHP, and the language automatically cleans up after every script has finished. This means that you do not need to worry about closing database links, freeing memory assigned to images, and so on, because PHP will do it for you. That is not to say you should be lazy and make PHP do all the work – good programmers clean up themselves, and let PHP work as backup in case something is missed.

Perl
Perl is the most popular of the PHP alternatives out there, arguably because it is also the oldest. There is a large installed base of Perl out there; many open-source projects require Perl to be installed to work properly. 
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular amongst programmers. Larry Wall continues to oversee development of the core language.
It has the advantages of being very (very!) flexible, and also having a large collection of modules already written for it. However, it is let down by the fact that it is very easy to write obfuscated and confusing Perl without really realising you are doing so, and this has resulted in such marvels as the annual Obfuscated Perl Contest.

Well-written Perl scripts often look fairly like their PHP equivalent. The major cause for Perl’s messy appearance is that many Perl programmers rely on “one-liners” – packing large amounts of functionality into just one line of code. Perl was once described very accurately by its creator, Larry Wall, when he argued that the front cover for his O’Reilly book on Perl should be a camel, saying that Perl was ugly but serviceable, and able to go long distances without much nourishment.

Perl is often a better choice when you want to take advantage of some of the pre-written libraries. CPAN, Perl’s library repository, is very big, and there is a huge range of code for you to take, customise, and re-use. Perl also has a very active – and very cool – hacker community around it that’s a whole lot of fun to be part of and is really a bedrock of support when you need it. Larry Wall and Damian Conway (both core Perl developers) are both rightfully revered as “alpha geeks” – people who really push the envelope of programming by doing cool new things. They are both very friendly, and and attend many conferences year round – go ahead and introduce yourself if you meet them, because they really are fascinating to talk to.

ASP
Active Server Pages (ASP) and ASP.NET is Microsoft’s attempt to succeed in the web development market, and comes as standard with their web server, IIS. ASP has been mauled by the open source community ever since it came out, and they gave a variety of reasons: it is proprietary, single platform (Windows), and slow.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically-generated web pages. Initially released as an add-on to Internet Information Services (IIS) via the Windows NT 4.0 Option Pack, it was subsequently included as a free component of Windows Server (since the initial release of Windows 2000 Server). It has now been superseded by ASP.NET.
I would like to say, “Yes, yes, and yes”, but I’m not going to try to pull the wool over your eyes. The reality is that ASP has been implemented on other platforms, and, when running on Windows and Microsoft Internet Information Services (IIS), is actually lightning-fast.

That coupled with the fact that you can write add-on modules for ASP using Visual Basic and COM would make the whole solution very attractive indeed if it were not for the fact that ASP only really works well on IIS. On other platforms there are many fewer features, and it generally runs a great deal slower. When running on Windows, the security issues and licensing costs tends to be the most important thing, particularly when an all-Microsoft solution stack is being used.

And ASP/ASP.NET is generally favoured when an all-Microsoft stack is in place. When used on Windows, it is very easy to deploy .NET code to ASP.NET pages or even write your ASP pages using C#.

ColdFusion
Most of the content about cold fusion was taken from the comment by - Jason Dean, You can also read that below to know what i wrote before and how i changed now.
ColdFusion became quite popular back in the hey-days of the dot.com boom. ColdFusion can be developed with any text editor, just like any other scripting language. It has an IDE, but you don't need to use it if you don't want to.

ColdFusion performs fairly well. Its development speed is good.  ColdFusion was bought out by Macromedia but now it is owned by Adobe.

With ColdFusion you have COMPLETE control over the source code. Additionally, you can access the underlying Java if ColdFusion is missing something that you need. You can also develop your own Java to add even MORE functionality to ColdFusion.


If something goes wrong in your code, it’s normally very easy to track it down and solve the problem, or change your plans and implement a different solution to the same problem. 
ColdFusion has design patterns that you can use or you can develop your own. Just like ANY OTHER LANGUAGE. There are many ways to skin the cat. There are no limitations to how you solve the problem. 

ColdFusion used to be quite popular back in the hey-days of the dot.com boom because it is developed using a proprietary IDE designed for novice programmers who have no wish to see source code of any complexity.

One of the nicer features of ColdFusion is that it comes with a whole application to help you write it the language. While it can be used with Apache or IIS once you're finished, this application effectively acts as your test server while you're writing your scripts, saving you quite a lot of trouble.

The biggest advantage to ColdFusion "EASY TO LEARN" is its IDE and the language it uses, “CFML” (ColdFusion Markup Language) – even junior programmers can learn the system and start making pages quickly. As a result, you will often find ColdFusion in use at very large companies where they use Visual Basic (another easy, but not very powerful or fast language) for offline work.
One of the things that make ColdFusion easy to learn is that it isn't all that different from normal HTML: it acts more like a set of extension tags for HTML than like trying to get a programming language to do things and output HTML afterwards. This is because it was designed from scratch for the web – it's not just a normal language trying to be web-compatible.
ColdFusion on the web can sometimes be unreliable and slow, mainly because it runs on a Java framework. Its Java support does, however, make it capable of running on many more operating systems than it otherwise would be – for most purposes, having written a page in ColdFusion is as good as having used Java for it, but much less difficult. Since ColdFusion also uses the ODBC (Open Database Connectivity) standard instead of tying itself down to one database, this gives you a lot of choices.
Integration with Other Macromedia Products: If you already design your pages in Dreamweaver, it can be good to do the scripting in ColdFusion, as you get the advantages that integration between the two gives you. You can insert ColdFusion code into Dreamweaver files quickly and easily, and you can even use its built-in editor to edit the code however you want without messing up Dreamweaver's WYSIWYG view. ColdFusion also integrates surprisingly well with Macromedia's flagship product, Flash – but don't let that lead you into developing nothing but ColdFusion-scripted websites with fancy Flash interfaces, whatever you do.
JSP
Java Servlet Pages has often been considered the “dark horse” in web scripting because at first many thought it would be overkill for the job and yet has managed to get quite a substantial community about it nonetheless. JSP has three key advantages over some of its competitors, which may be why it has done so well:
  1. It uses Java, a language that already has a large skill set of developers and a massive amount of functionality available. Java is also conducive to scalability as it distributes across multiple computers well. Sun, as well as other members of the community, has worked hard to promote the language and tools that support it, which means that JSP has a lot of backing inside larger enterprises.
  2. It strongly encourages templating of pages for maximum code re-use. Templates for PHP are widely available, but they are a great deal more popular in JSP.
  3. It is a common argument that because JSP is based on Java it scales better than PHP. This is not correct per se in the same way that most other over-generalisations are not correct (yes, I realise that is an over-generalisation too, and hence you are free to enjoy the irony!) – PHP scales perfectly well as long as you write your PHP scripts usi andng the same design patterns you would have used writing your JSPs.
JSP is a popular choice when existing back-end business logic is written in Java also, as this keeps the development team language-homogeneous.

And Finally, Thanks to all comments for making me write an article with absolutely no knowledge about any of the above codes! Thanks Every One! And i will update as and when people give more comments! And I have published every comment except one comment saying "You Coward, Turning on comment moderation, just admint you are wrong.-  Jason Dean" I turned moderation for some other reason Jason. Thankyou for your help I just made one quality post with your help. Really thank you.

bench3

About bench3 -

Haja Peer Mohamed H, Software Engineer by profession, Author, Founder and CEO of "bench3" you can connect with me on Twitter , Facebook and also onGoogle+

Subscribe to this Blog via Email :

31 comments

Write comments
Steve Good
AUTHOR
March 19, 2010 at 9:10 AM delete

You may want to actually research ColdFusion and then rewrite your article. You obviously didn't do your homework and have either no, or VERY limited experience with ColdFusion.

Reply
avatar
Harry Bakken
AUTHOR
March 19, 2010 at 12:37 PM delete

This is the worst description of ColdFusion I have ever read. There is no way to build a robust app on any platform without looking at code, no matter what IDE you use. There are multiple ways to do anything you set out to do in CF. Debugging is actually MORE verbose than anything I've ever seen from PHP. In addition to ColdFusion code, it is easy to integrate other technologies as .net and Java objects run natively. CF functions can be accessed as services and CF can use other services and API's on the fly. I can go on and on. You do a great disservice to PHP by spreading this kind of dreck in an effort to prop up your platform. CF isn't the only way, but PHP most certainly is not.

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 5:11 PM delete

Its probably the worst description of all languages i have ever read. Its clear that the author only practices PHP and has no interest in other languages. It looks to much back to the past instead of the future..

Reply
avatar
Mark Drew
AUTHOR
March 19, 2010 at 5:39 PM delete

@Anonymous... or the present! Hardly a State of the Union article.

Reply
avatar
Neil Albrock
AUTHOR
March 19, 2010 at 5:46 PM delete

A little research before launching your thoughts into the world if you don't mind.

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 5:47 PM delete

This article is just an example of garbage on the internet. Nothing more.

Reply
avatar
Joe Roberts
AUTHOR
March 19, 2010 at 5:51 PM delete

What year is this. This ColdFusion you talk of sounds nothing like the ColdFusion I use!

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 6:26 PM delete

Wow..what drivel.

I think the only thing you got right was the names of each language.

Its also pretty obvious which you favor (PHP) and which you dislike (ColdFusion). Objectivity must not be your strong suit.

Reply
avatar
mcmoyer
AUTHOR
March 19, 2010 at 6:28 PM delete

This sounds like an article that was culled from a php message board and that the author has never tried any of the others. The descriptions of the other languages comes across as plain "snarky".

Reply
avatar
bench3.com
AUTHOR
March 19, 2010 at 6:29 PM delete

i dont mind what you people mean.. i still stand to what i wrote here. I mean, what i said here. your opinion might be different, and that i dont bother. anyway, thanks for so many comments... This is the first time i am getting this much comments.. either a good one or a bad one... it was nice to know some one really reading what bench3 says!

visit again for the garbage as you say, or a knowledge as what i say!

Reply
avatar
Jason Dean
AUTHOR
March 19, 2010 at 6:35 PM delete

So your idea of a good blog post is one that gets lots of comments?

How can you stand BY what you wrote when it is obvious that you are wrong. And I don't just mean your opinion is wrong. Everyone is entitled to their opinion.

You got the FACTS wrong. And you are NOT entitled to that.

Although you do also have a right to be stupid, and you are clearly choosing to exercise that right.

Go pick up a book and exercise your right to remain silent.

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 6:46 PM delete

Brilliant article, absolutely fantastic! I don't even know where to start with the praising comments.

Except perhaps, who's the author?

I just need the name to make sure I never hire him. Posting stuff like this is a great way to get less interviews.

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 6:47 PM delete

Nice article, i will give positive rating to this particular post. I don't find any one saying with a reason what is wrong with the article. What i guess is the guys who gave their comments need them self to be updated of what is what.

Reply
avatar
Simon Cowell
AUTHOR
March 19, 2010 at 6:48 PM delete

This article is complete and total rubbish. It was as if you overheard a conversation about a language you knew nothing about and decided to retell the story to a room full of experts. You completely picked the wrong topic and put yourself in real jeopardy here. You may be going home next week.

Reply
avatar
Randy Jackson
AUTHOR
March 19, 2010 at 6:49 PM delete

Yo Dawg!!! Whats going on? Ok look, you know I'm big fan and all but I just didn't get that. It was all over the place and really pitchy in parts. I still love you man but it just wasn't good.

Reply
avatar
March 19, 2010 at 6:52 PM delete

Well... The good thing is you look great!!! I just wanted to see something more from you. I still like those shoes though.

Reply
avatar
bench3.com
AUTHOR
March 19, 2010 at 6:53 PM delete

I still stand to what i said!

But i never said this a good blog post should get lots of comments. that means, so far i never get any comments. does it mean, this is good and all others or bad? or if it is the other way, is this bad.. and all my other post or great??? what ever, so far everything goes as per plan for me. This is with intention!

"Brilliant ... I just need the name (the name there in the post, HAJA PEER MOHAMED H) to make sure I never hire him. Posting stuff like this is a great way to get less interviews."
i am not looking for any jobs friend, and i dont want any job from people who dont know anything!

Reply
avatar
March 19, 2010 at 6:55 PM delete

I'm gonna have to agree with Randy. I just think you picked a really big topic and you just weren't ready for it. You have the instrument and with a little tuning you could be great. You're just not there yet. I wanted to be wowed but i just didn't feel any emotion from that.

Reply
avatar
March 19, 2010 at 6:56 PM delete

Thank you Randy Jackson... I love everyones comment here!

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 7:07 PM delete

A few more important points on ColdFusion:

+ The original CFML engine (ColdFusion Markup Language) It is now part of the Adobe Family, when MACR was bought by Adobe.

+ Free CFML engines do exist but some have limited support for the "standard" language (what Adobe releases).

+ CFML can be run on J2EE or even in .NET (MySpace.com) with the ability to share data/variables with those underlining technologies.

Reply
avatar
Jason Dean
AUTHOR
March 19, 2010 at 7:14 PM delete

Ok, if you stand BY what you said, then do so.

Follow up on this post with some facts.

Let's look at a few of the "facts" that you spewed and examine them for accuracy. Then you can stand BY what you wrote by citing where you got these facts.

We'll look at ColdFusion, since that is where you made the most, and largest, mistakes.

"...it is developed using a proprietary IDE designed for novice programmers who have no wish to see source code of any complexity"

This is wrong. ColdFusion can be developed with any text editor, just like any other scripting language. It has an IDE, but you don't need to use it if you don't want to.

"For such a wizard-oriented system..."

Wizard-oriented? Now I know you just made this shit up. In 3 years of developing with ColdFusion I have ONCE used a Wizard for development, and that was not a feature of the language, it was a feature of the IDE. I did not like it, so I don't use it anymore.


"...ColdFusion performs fairly well. Performance is nothing to be desired, but development speed is good."

So which is. Does it perform well or not? (Hint: Yes, ColdFusion performs great, just a well as your beloved PHP)

"ColdFusion was bought out by Macromedia"

This is true, but now it is owned by Adobe. But that only happened FIVE YEARS AGO, so I can hardly expect you to know that based on your other knowledge.

"The main drawback to using ColdFusion is arguably its user-friendliness... because [other] languages are so flexible, you have much more control over what happens and why"

With ColdFusion you have COMPLETE control over the source code. Additionally, you can access the underlying Java if ColdFusion is missing something that you need. You can also develop your own Java to add even MORE functionality to ColdFusion.


"Very often, stock ColdFusion has just one way to solve a problem, and this greatly reduces your control over the solution you make"

That's not true either. ColdFusion has design patterns that you can use or you can develop your own. Just like ANY OTHER LANGUAGE. There are many ways to skin the cat. There are no limitations to how you solve the problem.


"However, at the very least, you can work using ColdFusion when you are in team with non-technical people"

Uh huh, now you are just trying to be condescending.

Seriously, quite burying yourself deeper. You lack the knowledge, integrity, and intellectual honesty to be taken seriously as a blogger. Apologize, update your post and do the right thing, or STFU. Your choice.

Reply
avatar
Jason Dean
AUTHOR
March 19, 2010 at 7:56 PM delete

Thanks for incorporating some of my suggestions into your post. But you still have inaccuracies and condescending statements in there.

For example:
"As a result, you will often find ColdFusion in use at very large companies where they use Visual Basic (another easy, but not very powerful or fast language) for offline work."

I am not going to rewrite your whole post for you. Go back and do proper research, or just take this post down.

Reply
avatar
Ryan Seacrest
AUTHOR
March 19, 2010 at 8:20 PM delete

That was some tough criticism from the judges. I know its hard to listen to that sometimes. Maybe you can take some of their suggestions back and apply them to your next post. Hope to see you next week.

If you want to vote for Haja just text IDOL3.

Seacrest OUT!

Reply
avatar
Anonymous
AUTHOR
March 19, 2010 at 11:20 PM delete

Oh my God.. this guy showed how to make a post with zero knowledge. But, this stuff wont work for everything i guess. Anyway, he gave a idea on how to make a bad post to a quality post. Jason Dean has won, IDOL3 to Jason.

Reply
avatar
Rachel Lehman
AUTHOR
March 20, 2010 at 5:45 AM delete

It's pretty clear from reading this that the only language you have any real knowledge of is PHP, your explanations and comparisons are completely inconsistent and therefore useless to anyone trying to learn about the differences between these languages/platforms.
I'm amazed that you have the nerve to publish a post about something you clearly know so little about, and obviously did not attempt to research at all.

Reply
avatar
bench3.com
AUTHOR
March 20, 2010 at 7:02 AM delete

Rachel Lehman, i don't think you read the post fully. Everything has been updated. Anyway, thanks for your comment!

Reply
avatar
instint
AUTHOR
March 18, 2011 at 10:31 PM delete

Coldfusion rocks! ask 75% of fortune 500 companies in the world and they ll tell u that.
I use both coldfusion and php and in all sincerity, i know ColdFusion does the job better and safer.
Its just a calculated attempt to dis-regard d language.
Am out of this junk yard !

Reply
avatar
bench3.com
AUTHOR
March 19, 2011 at 7:41 AM delete

@ instint its not an attempt to dis-regard the language. Anyway, thank you for your time!

Reply
avatar
Sonali Dhar
AUTHOR
December 16, 2011 at 10:35 AM delete

The information does not contain any content that shows the difference between all of them.

Reply
avatar
December 16, 2011 at 7:01 PM delete

Thanks for your comment on bench3, Sonali dhar, This post is outdated for updating... thanks once again!

Reply
avatar