I am in agreement with Joseph On Jan 20, 2013 6:32 PM, "Joseph Sinclair" wrote: > 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) > > 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). > > 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. > > If you're building a larger system, then, if possible, start with > something open-source and modify to suit. > 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. > > 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. > > 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. > > ==Joseph++ > > 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. > > > On 01/20/2013 12:24 PM, keith smith wrote: > > > > Hi, > > > > 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. > > > > 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.� > > > > 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.� > > > > You thoughts are much appreciated!!� > > > > ------------------------ > > > > Keith Smith > > > > > --------------------------------------------------- > PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org > To subscribe, unsubscribe, or to change your mail settings: > http://lists.phxlinux.org/mailman/listinfo/plug-discuss >