tags:

views:

199

answers:

5

I just started another new job in a PHP LAMP role, and once again I am faced with a steep learning curve.

As great and as useful as PHP is, I'm starting to feel that it's a little too flexible. Unlike Ruby, which has the single accepted Rails framework, us PHP developers have a plethora of possibilities to be thrown at us such as code igniter, zend, cakephp and kohana.

Various blogging tools may also come into play such as WordPress, Drupal, Joomal etc..

Then we have presentation abstraction frameworks like Smarty. The list goes on.

It seems that PHP as a language gives so much freedom for developers to do things in different ways that it is very difficult to keep things consistent or to "hit the ground running" so to speak when you start at a new organization.

Since my experience is predominantly PHP based I'm wondering if developers in other language get this as much? Or am I way off on this one?

+5  A: 

The PHP community is huge and has been growing for many years. Ruby is a relative newcomer on the scene, so it doesn't have nearly as many options.

You have to be careful, here, not to confuse a language with the software written in that language. Cake, CodeIgniter, etc. are written in PHP, just as Rails is written in Ruby. These are not native parts of their respective languages, however.

I think any language will have more and more options as the language becomes more popular and the community grows. People begin using the language for different purposes and maintaining public projects because they see that there is an audience for them.

Lucas Oman
A: 

Python has a countless amount of frameworks, libraries and applications; most of which do the same things differently. Java is similar although perhaps not to the same extent as Python. I hear Perl is the same way as well. Ruby is the oddball as far as this topic goes.

The problem isn't that the language is too flexible. In my view we developers just need to be more flexible so we can handle different frameworks, apps, etc. Obviously there will be a little time lost to learn a few ins and outs for a new framework but trust me, it all starts to the look the same after a while.

Kyle Kochis
+3  A: 

Rails gets a lot of hype. It gets so much hype that it is often confused with the Ruby language. It has drawn a lot of people into Ruby programming. That doesn't mean there aren't lots of alternatives, so Rails isn't the "single accepted framework".

David Dorward
Indeed, and I haven't really seen a web dev language (besides maybe ColdFusion?) that doesn't have 10 different frameworks at each level of the stack, each of which fade in and out of popularity as fashion dictates.
sehugg
Well, to be fair the major competitor in the web framework space was Merb and Merb is now merging with Rails for the 3.0 version.
MattC
A: 

Here is the intresting thought that came up in my head. Maybe the reason why there is so many ways to do the same things is because we so many times failed to implement it in the right way?

alsor.net
A: 

I've worked in a number of languages and use Java and PHP predominately in my projects. I can say that there are some serious benefits to options you get with PHP. The worse thing is not having options. The fact is every project and company has different requirements and each option satisfied one groups requirements, their method may or may not fit with your group's development style or objectives. The downside is the time you have to invest into picking an option or training people on your chosen framework who aren't familiar. At the end of the day what's important is dispite what language or framework is chosen that the software can meet the requirements and lifecycle set out at the beginning of the project.

Isisagate