2007 question: Best prgramming language for web apps?

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...

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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.

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!!!
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..
Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

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..
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.
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?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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.
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 =)
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.