views:

375

answers:

8

A client of mine wants a news website designed in Java, and I told him that Java is overkill for that kind of website. I suggested to him that there are dozens of CMS that we can customize for him, as well as other programming languages that are better suited for websites but he insisted.

Is Java overkill for news websites?

+4  A: 

I think the language argument is a little irrelevant, you can realistically code anything in anything given enough time and skill. Java is no better/worse than many other tools. However the real answer is already here - using a CMS must make sense. Why write from scratch, sure sounds like a wheel being re-invented.

Why not do a basic list of requirements, cross-match to CMS (Java, Python, Ruby et al), and then price up the same features if you had to code from scratch. That's a pretty good argument.

MrTelly
+1 for the method
Antoine Claval
+7  A: 

I think the real issue here is that whoever your client is has this notion that problems can be solved by name-dropping programming languages. I understand that you recognize this problem too, but in any business "the customer is always right" and you'll have to give in.

So is Java overkill for news websites? That depends. If what he's asking for is available in Drupal or even Wordpress out of the box, then the answer is yes. The real questions further on will be:

  • How much expertise does his organization have on Java (you have to consider the possibility that he wants to maintain the system by himself -- if his employees know Java, you now know why he insists on it)
  • What are the features that he actually wants? How will the site evolve in the future? (There will be features that will be more difficult to implement in PHP than in Java)
  • What are the cost implications? (If he wants it cheaper, you can offer to simply customize Drupal or Wordpress, but if budget is not a major consideration, going with Java would be fine).
Jon Limjap
The customer certainly is NOT always right. My opinion is that doing silly work for customers, even if they asked for is bad business and bad for your reputation in the long. You are getting paid to add value, and silly things are not adding value.
Tall Jeff
+1  A: 

have him take a look at http://en.wikipedia.org/wiki/Magnolia_(CMS) (http://www.magnolia-cms.com/home.html) - it is written in java. the community edition is open source

Ray Tayek
It's been a year or two since I tried it, but I wouldn't use Magnolia again. Unless I'm mistaken, Magnolia can't write its data to a database, but rather uses data files. Showstopper, for me.
Neil McKeown
A: 

We use java (amongst other things) to code a custom CMS for our news site, but we are probably an unusual case - one of the largest news sites on the web.

Maybe java is the right answer for your client too - but it is more likely that they would get better value from buying in an existing solution, unless you can't find one that implements all the required features.

Bill Michell
+1  A: 

The language doesn't define the possible feature set, nor does Java have a particularly high overhead vs PHP for anything non-trivial. The real questions are:

  1. Does it have to be Java? The customer may want Java because of existing deployment requirements or because a Java team expects to modify the code later, in which case the Java requirement might be non-negotiable.
  2. Can it be a pre-built solution or does it have to be custom? There are off-the-shelf CMSes in many languages, including Java. RedHat (JBoss) makes one (never used it, personally).

I would try to clarify with your client what the real requirements are; you might be able to use an existing CMS and just customize it; some CMSes can be customized using SOAP or some other external API allowing you to use whatever language you want for the customizations.

Mr. Shiny and New
+1  A: 

Unless he really does know what he's talking about with requiring Java (maybe hardware/OS related, etc), you might just show him an example of what he's looking for.

Basically, have him focus on what he wants. Once he commits, the "that's what I need" moment, you can explain to him at that point he doesn't need Java, but he can get by with something else for cheaper and developed for him faster.

Hugoware
A: 

There are many open source products which could do what is need. I suggest you look at some of these and then determine if you could extend them do whatever is missing.

I would say it is overkill to write such a service from scratch in any language.

Peter Lawrey
A: 

In my opinion Java is just perfect to build & maintain a CMS in the long run... it gives you all the goodies of type-safety & IDE-support when using the right designs and tools.

Have a look at Jease (http://www.jease.org/) which is a very good start to create a customized Java-CMS in minutes.

mjablonski