Picking a language for a programming project is never an easy task. Depending on your choice, your hosting costs can differ, the documentation can be helpful or nonexistent, and your choice of IDE or other programming tools can change. This is especially true with web programming projects. Because you are not always in control of the environment where one’s application will be run, it is important to pick a language that can adapt to many situations. Ruby is a better language than PHP for the following reasons.
1. Human-readable code
Yukihiro Matsumodo wanted to create a language that was designed for programmer functionality. By keeping naming consistent and keywords sensible, he was able to do so.
2. Principle of least surprise
it is designed in such a way that the language minimizes confusion for experienced users. Methods for different objects, if they do the same task, are generally named and capitalized the same way. This makes it less necessary to constantly refer to the documentation, which leads to faster coding.
3. Community maturity
The community is better able to give concise, coherent answers since the community is a little more learned. As it is generally not a first language the people in the community already have experience coding and helping others.
Creating a web application complete with database is as easy as typing in a few simple commands. The web app framework community for PHP, on the other hand, is fragmented and far less organized.
5. Objected Oriented Programming
Ruby was initially designed to be object-oriented. Robust, organized programs are easier to create with an object oriented language.
6. ActiveRecord design
using Rails, it is possible to map database records/tables to objects, which makes creating and handling persistent data extremely easy.
7. Easier to install
Gem makes it extremely easy to download and install different frameworks and applications to use in your code. PHP, however, makes you find, download, install, and configure all extensions yourself.
The model view controller architecture is a common system that all software engineers use. Rails is designed around this concept, so it gives future maintainers of your project an advantage when trying to understand your code.
9. JVM support
Whenever there is a JVM installed, you can use JRuby to run your programs. You can also integrate your project into a Java application if you would like. This is especially useful if you are already writing a large application in Java, and are just looking for a scripting language to augment some functionality.
10. Formal namespaces
Organizing code is much easier when you can group classes into namespaces.
11. Pre-installed on certain operating systems
It ships with OSX 10.5 (Leopard), so you can get started coding immediately.
12. Interactive shell
It comes default with a robust interactive shell that makes it easy to experiment with code. Instead of typing out some code, saving it to your sever, opening up your internet browser, and navigating to your page, you can just open up the console and type.
Less code (assuming the complexity is the same) means there is less to get confused about. Forcing MVC on you (through Rails) also helps developers maintain your code. Unit testing has also been tightly integrated from the beginning of the language, so it is more convenient to create/use unit tests for regression tests.
14. Everything is an object
Not having primitives makes code easier to handle. Instead of making sure something is an object and then executing it’s methods, one can just execute the method.