

Quick Poll (programming preference) - nextmoveone

Ruby on Rails or PHP?<p><p>-For Webservice Consumption<p>-Webservice Deployment<p>-Database Interaction<p>-Scaling <p><p>anybody?
======
jawngee
You're comparing a framework to a language.

Rails vs Django vs Cake vs CodeIgniter vs ....

As someone who just went through this selection process for a large scale
production site...

Rails. Rapid development, deployment. Serious effort to scale. Needs a lot of
metal. Database heavy applications require a lot of tooling/optimizing, to the
point that Rail's features for autogen become defeatist at a certain point.

Django. Rapid development, awesome performance, stuck with the Django way or
the highway. Once you get deep into development, the benefit of the rapid
development can become a hindrance. See notes above about Rails.

PHP w/ MVC Framework. Rapid development, frameworks not designed for scale,
most frameworks designed for a language other than PHP (most seem to think
they're being written for Java). Easiest to scale out of the three I've
mentioned, not hard to make the framework bend to your needs.

.NET, if you want to pay licensing fees that could sink your business if you
don't have the budget.

That said, we chose PHP with PostgreSQL. We rolled our own framework taking
design cues from Rails, ASP.NET and Django. Foremost built for scale, ease of
development second priority. We run weekly performance comparison with other
PHP frameworks, and are able to beat them all by 50% or better; but that's
because of a design choice for the framework. We chose performance over ease.
I'd much rather spend the upfront effort to sleep well at night once launched.
Heavy use of memcache, strict rules regarding use of session, cache at every
level (database calls, html fragments, models). Custom templating for views
that incorporates reuse and encapulation principles via ASP.NET/JSP style tag
libraries/controls.

That said, PHP sucks. Horrible hackish language. But it's easy and sleazy,
scales easily. Scaling the database is a separate issue. MySQL possibly better
for this, but PostgreSQL is a better RDBMS on many levels. Most frameworks for
PHP suck because most of the people designing them aren't disciplined in other
languages and make horrible assumptions about best practices.

Flame away.

------
nextmoveone
Thanks for all the feedback...I just wanted to see what people thought.

At work I'm attempting to scale a mix of procedural php(60%) and object
oriented php(40%) for a temporary 'system'. While I build a new one from
scratch; I have complete freedom as to what the new system is written in and I
was feeling that Ruby on Rails would be a good starting point because of its
'rapid development'.

The 'busy' season for my company is less than 2 months away and there are alot
things that need to be done: -Restructure DB -Handle Web Service
Consumption(WSDL with SOAP binding) on multiple occasions -Deploy our own web
service for Sales through 'affiliates' -Have be able to be extended in the
future by programmers other than myself

I am kind of stuck because with PHP it's ridiculously easy to consume
webservices via nusoap(os library/class), but then I lose the ORM, but I have
the freedom of customizing my DB interaction.

Then if I choose the ORM(rails) I have to deal with a slightly complicated
webservice communication procedure. Plus there is a high probability that I
will have to customize the db interaction so much that it may defeat the
purpose in the first place.

So I'm leaning towards writing my own PHP+MySQL code from scratch, but I'm all
alone so writing it wouldn't be something that seems accomplish-able in 3
months. Ruby on rails seems fast enough, but that web service thing seems like
a real PAIN. I'm stuck between a rock and a hard place.

Anyway, Thanks for everyones feedback!

------
harel
Python + Postgres, or ColdFusion + Postgres. Failing that, I'd choose PHP if
there's a chance anyone besides me will ever touch the project, or Ruby if its
gonna be me all the way. Just because good php coders are easier to come by
than Ruby ones, and because you've added "Scaling" as an item. I'm saying
Python and Ruby and not Django/Pylons/Rails because I won't pick a framework
be default - only if it 100% fitted a particular project. Otherwise I'd rather
code it myself from scratch. Harel

~~~
Zak
ColdFusion? Why?

------
Zak
Of those choices? Rails, hands down, but don't limit yourself. There are a lot
of options out there. I find it interesting that you're comparing Ruby/Rails
and PHP - they don't have much in common. It's also noteworthy that Ruby works
pretty well without Rails. RHTML works a lot like PHP, but with Ruby as the
language.

What, exactly are you trying to do with it?

------
GreyLensman
DrScheme + S3/Shards + EC2 + AllegroGraph + Varnish

~~~
cstejerean
Now that's something different that I don't see come up too often in the Ruby
vs Python vs PHP debate

------
elad
Depends on what you mean by webservice - SOAP or REST. Rails works great for
REST, but not for SOAP. For DB interaction, I really like ActiveRecord. Don't
think that PHP can offer any serious ORM alternative. As for scaling, well,
Rails has just a few real world test cases, whereas PHP has many.

------
elad
Depends on what you mean by webservice - SOAP or REST. Rails works great for
REST, but not for SOAP. For DB interaction, I really like ActiveRecord. Don't
think that PHP can offer any serious ORM alternative. As for scaling, well,
Rails has just a few real world test cases, whereas PHP has many.

------
kingnothing
I've been enjoying RoR + MySQL, but I haven't launched a project that has any
widespread audience yet.

------
dmpayton
Neither. Django/MySQL (SQLite for dev/prototyping)

------
nreece
PHP all the way, and maybe .NET for some apps

------
jamongkad
PHP 5 all the way + MySQL or Postgres.

------
epi0Bauqu
Perl, Apache/mod_perl, PostgreSQL

------
myoung
php5 + mysql + memcache

------
rmason
Smith Project and MySQL

------
runner29
django, PostgreSQL

------
inklesspen
Pylons

------
rbitar
RoR

