views:

222

answers:

8

This is more a question of pros/cons between PHP and JAVA. Iv been doing research, and iv narrowed it down to those two.

And in consideration, id like to go into mobile app dev...So thats +1 for Java.

Time taken to learn the language is not an issue...Just would like to know which is the most effective between the two languages mentioned above.

And on a slight note. Can Javascript work with Java? And what is the real advantage of that?

All answers are appreciated, thanks in advance.

+7  A: 

I'm sorry, but PHP and Java are not the only choices. Ruby on Rails and Python's Django framework are both excellent tools for web development. While I haven't used it, Groovy's Grails framework is also very highly reviewed (largely by ex Java programmers). In certain (admittedly obscure) circumstances it's even advisable to do something off the wall like write a CGI program in C. It all depends on what you're trying to do.

Mobile app dev shouldn't influence your choice here, because no matter what web framework you're working with a mobile app is a whole new ball of wax.

So, here's the deal: asking people to compare PHP and Java really won't get you any meaningful answers -- you don't have the background necessary to understand what we'll say. You really need to figure out what you're trying to do before you choose your tool. It's like saying "I'm thinking about building a house, should I use a screwdriver or a hammer?" Here is what I would advise:

  1. Go learn to program. Pretty much any language will do, but I'd suggest something nice like Python or Ruby. Spend a few months getting comfortable with programming first.
  2. Pick a project. Make it something simple. When you know what your project is, pick a tool to use to complete your project. This may involve asking another SO question.
  3. Rinse and repeat. Complete many projects. Once you've finished 5 or 10 web projects you'll be in a position to compare different tools. The more tools you use, the better. I'd suggest you do one in Ruby on Rails, one in PHP, one in Django (a python framework), and maybe even one in Java with JSP.

Once you've got that base of experience come back and ask this question again. You'll actually be equipped to understand the answers. Of course, once you've got that experience you won't need to ask the question because you'll already know the answer.

Benson
I reformatted the question, I meant profitable in terms of greater use of time. My apologies.
ihaveitnow
I rewrote my conclusion to reflect your edited question. I hope this advice is helpful.
Benson
A: 

Stop trying to kill two birds with one stone. There are different tools for different tasks. You can write mobile apps with Java but you can't write web apps with it. You'll have to use a server-side programming language such as PHP, Ruby on Rails, Django (Python), etc.

Haris
Good point, but from what I have read Java is a server-side programming language. So i do not understand your statement.I appreciate your time taken to comment, much appreciated.
ihaveitnow
Java EE is a server side programming platform intended for creating web applications. It's just as suitable for creating them as PHP or RoR. In other words, yes, you can write web applications with Java. It's just not that popular in shared hosting environments due to different server requirements compared to PHP, for example.
Rithiur
Adding to Rithiur, *any* language can be a server-side programming language. Even C, or LOLCODE.
Mark
There are server-side frameworks that use Java.
Tracker1
+2  A: 

The one you know.

Alan Storm
True, but rather unhelpful, wouldn't you say?
Benson
I'd say encouraging people to concentrate on the platform they know if they want to acheive optimal results is very helpful.
Alan Storm
+2  A: 

And in consideration, id like to go into mobile app dev...So thats +1 for Java.

How is that +1 for Java? We're talking about server-side languages.. you're not running your server off a phone are you? Sure, you can use Java to build apps in addition to running your website, but that's a different story.

Time taken to learn the language is not an issue...Just would like to know which is the most profitable at the end of all the training.

Neither language will make your site more profitable, but you may be in higher demand with different companies depending on what you know.

And on a slight note. Can Javascript work with Java? And what is the real advantage of that?

Well... yes, but that's almost a nonsensical question. You use Java or PHP to produce the HTML that gets sent to the client, and then your JavaScript manipulates that. It's completely unrelated to what language you use server-side.


@comment: I can't really say which is more worth learning. I suppose Java is more versatile in that it has more applications outside the web. PHP is supported by more web-servers though (AFAIK), so you won't have trouble if you need to work on a different server.

I can't fairly recommend one over the other though. I've only used PHP for web, and Java for non-web. I like PHP because it's easy to pickup, easy to use, and all sorts of stuff is built into the language without any includes or anything. Has a big community, so there's lots of scripts you can download. One might argue that it's also a mess of a language, but as long as you aren't all uppity about that sort of thing, it's not really a problem. Java OTH... I don't know. I'm not a Java keener, that's all I'll say :)

Mark
Thanks for your reply. I had reformatted the question, I did not mean profitable in terms of monetary value. I meant in terms of time spent learning, which one would have been the better choice. Apologies for the inconvenience. I now understand that web and mobile app development should not be compared.But which language would you recommend if its not too much.
ihaveitnow
@ihaveitnow: Modified answer.
Mark
Response is duly noted, thanks again.
ihaveitnow
+2  A: 

Your question really indicate you need to learn alot about web development and programming in general, so I could answer your question but.. I'd recomend you go read up a little.

hhafez
+1  A: 

I think you need to outline the context of your question. For example, if you are looking to get a job in IT, then the language that is most asked for in job ads is the one you want. If on the other hand, you have an application in mind that you would like to write, then you need to tell people (without giving away the details) what type of application it is so that they can tell you the most suitable languages/APIs to for that area.

But remember this - there is no such thing as a super programming language that is the best for everything. Each language is suitable for a range of tasks in a range of contexts, and is usually awful for everything else. Without the context of where the language will be used, no-one can tell you which is better.

Derek Clarkson
Thanks for the response, and the advice. I would like the site to allow users to subscribe for updates, a "photoviewer" and videoviewer embeded. And to allow users to upload their own photos/videos and to allow them to leave feedback on items posted.
ihaveitnow
+2  A: 

Most of the answers here should be able to direct you towards your answer though I would just like to say if you are going to learn a programming language to make Web Apps learn Java, not because this will be the best tool for the job, each job is different, but knowing a full fledged language you will be able to quickly adapt to other languages.

You don't learn a language, you learn the concepts behind programming, then apply them to different languages.

Rudiger
Thanks for your reply. Much appreciated and duly noted. Good advice.
ihaveitnow
+1  A: 

Some feedback:

  • Mobile app dev is not necessarily just web development.
  • Javascript is the language of choice on the web browser and works with PHP, Java, etc. on the server.
  • In general, one language is not more effective than another.

Seriously, judging by your post, I would advise you to start learning PHP and Javascript.

You already have a web browser so you can start writing javascript now.

As for PHP just install XAMPP from http://www.apachefriends.org/en/xampp.html and after a double click you'll be ready for web development.

After learning what its all about you'll be able to then check out Java and see if it is more effective in what you are trying to do.

zaf
Thanks, much appreciated
ihaveitnow
@zaf I think you've sold him short. By giving him an easy "answer" you've failed to allow him to learn what's necessary to become a true developer. Lots of people ask this question, go learn PHP, and then go off and call themselves "web developers" and write insecure crappy code that makes the internet a bad place.
Benson