views:

263

answers:

4

Hi,

I consider myself as skilled programmer and know a large number of languages. Eg Fortran, C, Ruby, Python, PHP, VB, Obj-C, C# etc.

I want to build a fully featured piece of Web Based software that would have the following modules. 1. Calendaring System for managing bookings. 2. Record keeping and notes system to record details about each booking 3. Simple invoicing / point of sale system.

I know this is an open question, but what are some of your experiences here. I have so many options in ways I could tackle this.

Currently I am considering Symfony for PHP. But I love python so Django? I love Ruby but find rails quite hard to host and didnt find it very stable a few years ago, I don't think I would touch rails again (but ruby is cool). Not interested in Java though.

I would prefer to stay open source so I can scale this system easily as I need to provision more sites.

I have even considered just building my own framework to quickly make forms/components quickly, I have done this once and it was pretty neat.

This is not a fight between languages, frameworks.

Can you tell me.

  1. What high level tools would you use?
  2. Have I missed something here > another choice that could be quicker.
  3. Did you feel you could make some pretty cool stuff with your choice was it easy.

Cheers, John.

+1  A: 

Personally, I am a fan of PHP. The syntax is clear and consistent, there is a huge collection of native functions specifically for HTML, and it is very easy to use. Also, PHP distributions (usually) come shipped with a lot of components that are used in large scale web apps; JSON, image manipulation, CSV, lots of data formats (via PEAR), etc.

There are plenty more frameworks for PHP that are excellent; check out Zend Framework. It's form Zend, the makers of PHP. The MVC (model view controller) scheme it uses is very flexible and scalable and while I don't use it, it's how professional PHP websites are built. There are numerous plugins for generating forms, processing logins, authenticating users, database abstraction layers, etc. For your specific case, I would recommend considering it. And, if you don't want to use MVC, you can use Zend Framework components individually.

SimpleCoder
I didnt think about Zend, I really like PHP as I feel it is very stable, easy to host and generally quick enough. Will look at Zend as well.
John Ballinger
"The syntax is clear and consistent" - No.
mathepic
I'm a fan of PHP too...but I have to disagree with `The syntax is clear and consistent` PHP is anything but consistent.
Russell Dias
Ok, maybe I was to zealous in my support :). But personally, I don't find it that bad to read.
SimpleCoder
+5  A: 

Have another look at Rails, v3 has just been released, and there are many rapid tools available.

In particular I'd suggest looking at the Hobo gem, it provides an additional layer of abstraction to Rails which will let you build a site in very little time.

Also look at Merb and Sinatra.

Phusion Passenger should look after your Ruby hosting difficulties.

slomojo
Thanks for that input, I am having a read of this hobo link now. Cheers, John.
John Ballinger
I put together a site in Hobo in only a few days, I've found it particularly good once you get to grips with it's `dryml` template/view language
slomojo
+1  A: 

asp.net mvc is a good choice, tho the stack is generally more expensive.

Paul Creasey
I have started looking that as well. Surprisingly Stackoverflow.com is built on ASP.NET and visual studio. Currently I am on a Mac and just love the OS. I am not too happy to go back to Win7. But Visual Studio does look good and it is something I need to weigh up. Cost isn't really an issue, it's simply time.
John Ballinger
+1  A: 

I would go with PHP personally because:

  1. Easy to use date() functions for you calendar needs
  2. You can write to files quickly for notekeeping etc.
  3. There are many extensions you can use like PEAR

Of course other languages are probably more powerful but I think PHP is the way to go.

Mark
Thanks for the input. I am not sure if you are being serious or not. For smaller sites I would happily use PURE PHP. But this is going to be pretty big and I am looking for more rapid application development techniques that are more cutting edge. Cheers, John.
John Ballinger
Could you explain a little more what you mean bySimple invoicing / point of sale system.
Mark