Question

I started a project about a website magazine. Up to now i have only created the css, some javascripts and the html layout to show my employers what is it about.

So i want to make it more interactive to the final user. Registration, user control panel, wishlist, search, auto update databases for new pages, comment system, voting system.

I have no experience in ruby or python and i can understand and edit php. What language should i start programming to? Also is it better to start from scratch or use a framework? Can you recommend one? Studying is not a problem but the project must end before the end of this January.

Was it helpful?

Solution

There is no real good or bad answer. It depends. It also depends on how many users (concurrent ones primarily) you are targeting. If they go into the thousands then your strategy must be a bit more cautious.

PHP has quite a number of mature CMS frameworks available. Others might exist for Python too. If you go for Ruby I think you'll be a bit more limited (for the simple reason that the language is newer). Also consider which language you're most likely to find answers most quickly if you have problems.

From the PHP side, the most popular CMSes are Wordpress, Drupal and Joomla, with most of them having loads of plugins, and you can write new ones easily with a few days of patience and going through tutorials. There are plenty of others too which are equally good, but sticking to the popular ones increases your probability of finding support quickly or finding that plugin you might need.

There are also frameworks like the Zend framework, and also Cake PHP and Yii which help you build an application from scratch much faster and following some kind of standard.

Similarly for Python there is the Django web framework, which gives you quite a good toolkit.

For Ruby the basic framework is Rails, which helps you create a web application 'scaffold' (i.e. the skeleton) of your data entities quickly so that you can focus on the special functionality rather than the usual query/insert/update/delete stuff.

With regards to scalability, all have their pro's and cons. If you really have to scale up and have to integrate with some enterprise services, then a Java framework (a stack typically made up of Tomcat + Spring + JPA/Hibernate + EHCache + ActiveMQ) might be a more superior contender. However, this is much more complex to learn from scratch if you don't have prior Java experience.

OTHER TIPS

The answer you'll have from the rest of programmers is this: "You can do everything with all of them", because of this thought some programmers gave you negative points. All of them are good options. You say that you know PHP, you can try with it, but maybe this is a good opportunity to learn another one. Really Ruby, Python and PHP are fun to learn.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top