views:

312

answers:

9

Hi,

considering I have experience with Java SE: which language should I learn(and is best for that purpose) in order to build web applications some day with it? I have been contemplating PHP and Java EE. The latter does indeed seems as an obvious choice given my Java SE knowledge. But how does it fares in comparison with PHP and how good is it for the aforementioned purpose?

If there is a better language for this purpose, feel free to recommend it.

Thank you.

+1  A: 

It depends an awful lot on what sort of "internet applications" you're contemplating. While there are exceptions to the rule, I tend to think of PHP as being a language for quick and dirty "small" apps, while JEE is for large ponderous "enterprise" apps with a massive server and lots of money riding on the results.

Speaking as somebody who does JEE at work but my side projects use Perl Fast::CGI, I wouldn't use JEE for a private project. I'm thinking of looking into Ruby on Rails or maybe GWT. (Yes, I realize GWT is related to JEE.)

Paul Tomblin
How is GWT related to JEE? Isn't it server-side agnostic?
Asaf R
Well, it's got a server side component that uses Tomcat. I don't know if it's strictly JEE because I haven't really started working with it.
Paul Tomblin
A: 

You shouldn't learn just one. That would force you to adopt a single view of the world. That isn't good for anything let alone programming. you should learn as many ways of programming as you can. It will, in the end make you a better programmer.

To answer the question which language should you learn FIRST, I would go with Ruby simply because it gives a nice view on things and is realtively easy.

Craig
+1  A: 

You can make great web apps with Java EE as well as with PHP. Which you choose is more up to whether you want to learn a new language or not. PHP is more specialized, you hardly do anything else than web apps with it, so if you wish to expand your knowledge with more practical languages, I would suggest Python (and for web apps, boosted with Django). Python is quite general purpose and useful language to anyone's toolbox - and if needed, it can be combined with Java using Jython.

Joonas Pulakka
+5  A: 

ASP.NET with C# would be easy to learn if you are used to Java, and it can do anything you need a web app to do.

The Visual Studio Express development tool is free.

GeekyMonkey
A: 

Clojure will make you learn something different and yet you can use it to build web applications. See Compojure framework for example.

Also, consider Scala and Lift web framework for something more conventional.

Dev er dev
+1  A: 

Since you're already familiar with Java and probably Spring I would recommend Grails

Mark Spangler
+1  A: 

Asking for a preferred programming language to a programmer is like asking a priest for a preferred religion. Try a couple basic applications with each, and pick one that works well for you.

Kyle B.
A: 

If you intend to remain "devoted to the JDK" have a look at JRuby or Jython. Already they can support some of the best web frameworks out there, Rails and Django.

Geo
A: 

I want recomend for you PHP.

Reasons:

  1. large community
  2. many documentations, examples, frameworks
  3. php 5.3 more usefull (if we compare old versions), namespaces, anonymous functions, closures etc.

I think it's best way for web-development sites, but for web-services (like jabber-service, server for other clients in other language (not html+css clients)) it's not good choise. For this services need more fast language. PHP fast for development and working when we can use cashe (and imho its best choise for this criterions), for very dymanic result it's possible for little projects with low count clients.

p.s sorry if my english not so good))

Kein