views:

91

answers:

6

I'm net-java developer with some small projects implemented. I'm going to start a new project which is portal with many typical features (posts, comments, messaging, users, catalog, news, galleries, etc).

I believe the best solution would be use any mature CMS (joomla, drupal...) and customize it where needed. The problem is that I'm not familiar with PHP (CMS written on PHP has far better set of features, plugins, community, information I believe) I'm not planning to learn PHP, I want to improve my java-net skills.

So the question for me is: write all by myself, improving my programming skills and risking to finish my project in relatively long period

on the other hand

I could spend some time learning tools and languages, which I think while, I don't need in the future and more likely finish my project in some shorter time

what would you advise?

+4  A: 

Learning another language will not hurt you, and as most of the differences are in syntax and supporting libraries, you would be surprised at how quickly you can pick up a new language.

Your choice should be on what language is best for the task, not simply the one you know.

So, my suggestion is - learn PHP and go with a mature CMS.

Oded
A: 

If you don't have a "due date" for your project write it by yourself.

Or take a look at http://www.opencms.org/en/ ;)

There are a lot of opensource CMS written in Java ;)

Napolux
Depending on what features he needs, writing it yourself is either good or really bad advice. There's a ton of things related to security etc. that you must know to write a good CMS, which a beginner will get wrong no matter if they have experience in something else or not.
Jani Hartikainen
+1  A: 

You should take a good look at your requirements. If you're sure you can get them all from a CMS, that makes most sense. Take a good look at the compatibility and reliability of all components.

Otherwise, you might be better served by a .net or java CMS.

Writing your own CMS without having extensive experience in the current available ones is not going to lead to a good result, except for you learning some programming skills.

Stephan Eggermont
+1  A: 

Learning new tools is seldom a waste of time. Especially not when it comes to such well known and world wide spread languages such as php. I would say it's best using the tools most suited for the project you're up to, rather than reinventing the wheel.

Johan
+1  A: 

A LOT of effort goes into developing a CMS, so writing your own will likely take some time. Put together a project plan and work out how long it would take you to develop something from scratch, then do some research on existing CMS packages and how they fit your needs.

I'm a .NET developer but have used Joomla in the past - it's actually quite easy to put together a website even if you're not too familiar with PHP.

Better yet, find a CMS package in your preferred language - they oughta be some out there.

i.e. http://java-source.net/open-source/content-managment-systems

Marko
A: 

Even if you don't write in PHP again, the benefit of knowing another programming language is going to give you some valuable perspective on net-java.

The task of learning a new language is going to be an asset. Learning to learn something. Identifying what you need to know and how to find the answers is a transferable skill.

Your job will be to complete your project in the most efficient manner with the highest quality output practical. Use the tool that is going to best help you achieve this. The language it's written in should be largely irrelevant.

Rimian