<p dir="ltr">I am in agreement with Joseph</p>
<div class="gmail_quote">On Jan 20, 2013 6:32 PM, "Joseph Sinclair" <<a href="mailto:plug-discussion@stcaz.net">plug-discussion@stcaz.net</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A little nervous jumping into the perennial language/platform discussions, but here goes. (and please understand these are opinions, based on my experience, nothing here should be interpreted as an invitation to argue if X is better than Y; it isn't and it's not worth arguing about)<br>
<br>
There are more Java programmers than any other language or platform, at least for the past few years. Every college program I know of uses Java as the language of teaching, so new grad programmers almost all can work in Java (perhaps not very well, but they know the language and platform).<br>
<br>
If you're working on something quick, go with what you know. It seems that PHP is what you know already, so go with that.<br>
<br>
If you're building a larger system, then, if possible, start with something open-source and modify to suit.<br>
If you cannot start from an open base, then (given the options you present) build in Java for a web application and use some of the thousands of open libraries to help (the maven build tool does a great job of managing dependencies). There are many good reasons that Amazon is built almost entirely on Java, as are many (if not most) other large commerce sites and services.<br>
<br>
Be aware that, coming from a small-project background, you should expect everything to take 5-10 times longer than you would normally estimate. You'll be building something bigger than what you're used to, and building a large system to be high quality and maintainable requires a lot more time and effort than a small project. Also, if building in Java, get a real expert in the platform (and I don't mean a "Spring expert") to provide technical leadership; like any large platform there are many ways to do things, and some will be far more maintainable down the line than others.<br>
<br>
I, personally (with exceptions, of course), tend to lean towards Java for web-based systems (particularly if the domain lends itself best to a REST SOA/ESB type architecture), C++ for locally-installed applications or system-software, Python or Groovy to script things together, Javascript for in-browser interaction, Scala or Erlang for high-throughput event-driven and asynchronous MPI systems (e.g. AMQP services), and a grab-bag of other tools when needed.<br>
<br>
==Joseph++<br>
<br>
One final note (at the risk of starting a two-front ideology war). I saw someone recommending Waterfall as a development methodology. This is a recipe for failure, as proven over, and over, and over (in academic papers, peer-reviewed scientific studies, and commercial results too numerous to list) during the past 30 years. There are exceptions, but you're not building a life-critical embedded system, you're building a web system. Avoid Waterfall methodologies and start with a well-used agile methodology (e.g. Scrum, Kanban, XP, etc...), try to stick to the methodology as much as possible for the first year of using it.<br>
<br>
<br>
On 01/20/2013 12:24 PM, keith smith wrote:<br>
><br>
> Hi,<br>
><br>
> I am in the process of planning a web project.� I'm thinking possibly using Java.� To this point I have done all my web projects using PHP.� I know there will be a learning curve.<br>
><br>
> My main question is the availability of Java programmers.� It seems there is a lot of PHP talent available for PHP projects.� I like that there is a lot of availability of PHP programmer because that makes my apps supportable if I move on or am otherwise not available.�<br>
><br>
> I have not met a lot of Java programmers, so I assume they are not available the same way PHP programmers are.� In other words I think I can visit Gang Plank HQ and find a hand full of PHP programmers that I would fee good about pulling into a project.� I'm not sure I can say the same with Java programmers, however I have not paid much attention when it comes to Java programmers.�<br>
><br>
> You thoughts are much appreciated!!�<br>
><br>
> ------------------------<br>
><br>
> Keith Smith<br>
><br>
<br>
<br>---------------------------------------------------<br>
PLUG-discuss mailing list - <a href="mailto:PLUG-discuss@lists.phxlinux.org">PLUG-discuss@lists.phxlinux.org</a><br>
To subscribe, unsubscribe, or to change your mail settings:<br>
<a href="http://lists.phxlinux.org/mailman/listinfo/plug-discuss" target="_blank">http://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><br></blockquote></div>