2007 question: Best prgramming language for web apps?

Posted on 2007-04-10
Medium Priority
Last Modified: 2013-12-25
I want to rehash the age old question, "What is the best (current) programming language for web apps?" Why? It is 2007 and most answers posted seem outdated. People who love open source are shouting ruby this and I hear plenty of people shouting .net everything or Java forever. IS AJAX it and is too hard - can it be used in a MS or non-MS enviro? Confusing.
JavaScript for small things java for big things? What language is easily deployable and can do both (ideally) standalone apps or web-based  (otherwise I would say PHP)? Thoughts, comments, gauntlets welcome...

Question by:Karl66
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
LVL 29

Assisted Solution

rdivilbiss earned 375 total points
ID: 18883676
All things are relative to the desired outcome, your budget, the size of the development team, etc.

There is no best except what is best for your unique circumstances.

Ultimately you are sending HTML, CSS and JavaScript to the browser.  That's all there is.

AJAX is simply dynamic HTML and is supported by all modern browsers and has no bearing on the server side language.

The languages are ASP-VBscript, PHP, C#, J#, Java, Python, Ruby, PERL, and a few others.

There are application development frameworks, such as ZEND, Rails (Ruby on Rails), .NET, J2EE, etc.

There are application servers, such as Websphere...

You just have to pick your poison.  All have reasons for existing, but no one can quantitatively say one is best of all for all circumstances.

InfoWorld just did an article on this and Put Ruby on Rails and Python as up and coming but not quite there.  J2EE (and all its variants, PHP, and .NET) are the big guns right now.

Expert Comment

ID: 18883733

Ajax is a javascript technology only.... It requires javascript and the server side language like asp,php etc for its complete functionality..

If you want it in linux environment... then PHP!!!
LVL 29

Expert Comment

ID: 18883873
Let the religious wars begin.

ASP was orphaned in 1999.  ASP.NET is its successor.

How can you automatically rule out J2EE or JSP?

We don't know what the person's needs are or what database they might want to use, etc..
Will your db performance match your db growth?

In Percona’s white paper “Performance at Scale: Keeping Your Database on Its Toes,” we take a high-level approach to what you need to think about when planning for database scalability.


Expert Comment

ID: 18883924
I think u r a fan of Java  ;-)

I accept that J2EE is used for big enterprise solutions..

But many new sites are still developed using PHP and ASP..... and they r successful..
LVL 29

Expert Comment

ID: 18883956
No...I use PHP mainly and have a few thousand ASP pages.  A few .NET pages as well.

But the answer is not what is you favorite without any supporting reason.  I'm a retired IT executive. You don't make decisions on favorites, but on sound supporting facts and objective evidence.  To do that you need to know the requirements of the business need.

There are many types of hammers, some for driving nails, some for shaping metal and some for breaking rocks.  Before you pick the hammer you better know what you are trying to do.
LVL 16

Accepted Solution

OliWarner earned 375 total points
ID: 18886424
I disagree with Rod about favourites. The difference in the languages is nothing compared to how good your developers are in each language. If you have a bevvy of PHP devs but you impress this "we must use language X because it's the best" ideal on them, you'll find things work much worse than if you ask them to make things in PHP. So rule 1: always consult heavily with the people developing the thing.

In terms of does everything (desktop and web), I'd have to say that .net has the grasp of things. Java still has the numbers but .net is growing a lot faster at the moment and for good reasons. The framework is considerably "nicer" than J2EE... I've used both before but I definitely prefer and use ASPNET where I can.

ASP and plain PHP are dead in the water. Not sexy. Not particularly powerful (in any speedy way). Not cool.

I say "plain PHP" because there are up-shoot frameworks that stem off from PHP like CakePHP and Symfony that add some of the MVC power that ASPNET has. Java Server Faces does pretty much the same thing for Java.

Ruby on Rails is a newer framework but it is fairly new and it's a complete resource hog. You might be able to tell from that sentence that I'm not a fan.

But all of these things have considerable learning curves before you can start programming away, building your applications. You need to consider that learning a new language and framework may cost you more than using existing knowledge of older languages and getting it finished sooner.

And as others have said, AJAX is just a presentation layer. Extremely little to do with your server-side code and is really something you should only be looking at once you've made your standard application. Some frameworks make AJAXing things up a little easier (like ASP.NET+AJAX.NET) but they also bloat out the code.

So yes. The answer to this question must be your own but I can tell you what you base your answer on. In order of importance:

1. What does the person/people that will be developing the application know in terms of the available languages? What are they comfortable with? What's their opinion? If it's Classic ASP, shoot them all and hire some new ones and continue to step 2.
2. What existing infrastructure/codebase do you have? Does the new system need to work with it seamlessly and reuse the same code? Do you already have servers that can host it or do you need to spend time/money getting new ones in?
LVL 29

Expert Comment

ID: 18886961
You're not disagreeing with me Oli, (as much as you like to).  If there is an existing infrastructure of programmers or an existing infrastructure of certain webservers and development tools, obviously those are factored into the equation.

You don't throw the baby out with the bathwater, which is why there is no best.  There is best for your circumstances which are unique to each organization.

What I mean about favorites, is when you ask this question in this environment, you often get this is "my favorite" answer from the experts as opposed to what is objectively best for the given situation.

Yahoo, Pizza Hut and Google use PHP. Hardly dead.

ASP.NET is displacing J2EE I agree, but it may be due to accessibility to newer programmers rather than an indication os suitability for a particular situation.

Classic ASP still has more sites than .NET, but that will diminish.

But we are both saying whats best is best for the actual situation, which includes existing support staff and servers.
LVL 16

Expert Comment

ID: 18887116
I have to disagree with your statement of disagreement at my initial conjecture that I was disagreeing with your initial comment... If nothing else but for the sake of disagreement. Yes. I'm being silly.

Compared to the others, based on performance and features, plain PHP has nothing to offer. Sure people use it -- hell I use it on smaller projects -- but it's hardly new or sexy as devving languages go. It's pretty crap as far as interoperability is concerned too... It just doesn't seem to fit the question here.

Popularity is a dangerous thing. At least following it can be. What is best is often sacrificed in favour of the existing system and migration problems. If there were 0 time and 0 issues in switching languages/platforms, I'm certain the "what people are using" landscape would be drastically different. As it is, Java has had a really long time to dig its heels into the enterprise application arena so things that are technically "better" are being put on the back burners until a long term switch-over plan can be worked out.

That is, of course, another thing that needs to be considered when you're picking something. You really want to look at the major version release schedules of the platform you're developing for and how long they support previous versions. Also poking around to see how compatible the current and previous majors were might be a good plan. You need a fair assurance that what you're dealing in isn't going to become unpopular anytime soon because it really will cause you issues a few years down the line if you have to pay out the nose to find developers... You can judge that by its popularity =)

Swings and roundabouts. Chances are you won't find a perfect answer rather you'll find several solutions each of which miss something out. Your developers will probably be able to decide though =)

Featured Post

Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When it comes to write a Context Sensitive Help (an online help that is obtained from a specific point in state of software to provide help with that state) ,  first we need to make the file that contains all topics, which are given exclusive IDs. …
When it comes to security, close monitoring is a must. According to WhiteHat Security annual report, a substantial number of all web applications are vulnerable always. Monitis offers a new product - fully-featured Website security monitoring and pr…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question