Will Ruby kill PHP?
August 7, 2006
With the recent rise in popularity of the Ruby programming language (largely driven by the excellent but not perfect web framework called Rails), I’ve noticed a little fear in the air … fear on the part of some people in the PHP community.
Will Ruby kill PHP?
The short answer is: no.
Though Ruby and PHP are both scripting languages that make developing web applications much easier than it is, say in the Java world, they are very different beasts … each appeals to a different audience.
RUBY IS ELEGENT BUT COMPLEX
Before I go on, I want to point out that Ruby is a great language and I think it makes perfect sense for PHP developers to learn a little Ruby: it is always a good idea to learn other languages because it will make you a better programmer.
That said, I believe Ruby will not appeal to, or fill the need of most PHP’ers – Ruby can be a little too abstract.
JAVA NERDS LOVE RUBY
Ruby is attracting many from the Java world because it expresses very advanced concepts in a simple syntax – contrast this to Java’s (often times) kludgy and verbose representation.
Ruby appeals to the Java crowd because Java people have been trained to think in terms of large scale enterprise applications – regardless of the size of the project.
… These ‘abstractions’ (generally speaking) lend themselves well to larger projects.
WHY PHP WORKS
PHP is often criticized because it has both a procedural and an object oriented way of doing things. Some people think that this divergence (within the language), takes away from it … I think this is part of its strength!
Objected oriented constructs are great for creating cleaner designs that are easier to maintain and promote the possibility of code reusability. Code reuseability is an often touted advantage of OOP, but from what I’ve seen in the Java world, it is not achieved so often.
With OOP, there is a cost of added complexity and overhead – you simply have to write more code to do things when you do it via OOP.
PHP PROVES THAT NON OO LANGUAGES STILL HAVE THEIR PLACE
I would suggest that the vast majority of PHP work is found in simple projects:
- Email from a web page.
- Process a simple form and save to a database.
- Create a simple store with 10 items.
My point is, that for many PHP projects, OOP may be a little overkill.
WHY RUBY WILL NOT KILL PHP
In Ruby everything is an object (even numbers!) and the core language has very sophisticated constructs that need to be understood to use Ruby effectively – Ruby strength is also its’ weakness.
… I don’t see the majority of PHP users wanting to jump that deep into the world of programmatic abstraction – for most, there is simply no point.