Il existe une blague bien connue sur les choix de langages de script :
« Deux développeurs discutent des langages de programmation qu’ils utilisent. Le premier dit : « je travaille avec Java, et je laisse mes enfants jouer avec PHP ». Le second lui répond : « je joue avec mes enfants, et je laisse Ruby travailler pour moi ! ».
Cette petite blague fait certes montre d’une pointe d‘exagération, mais le cœur du propos est fondé. Java, considéré comme une solution de premier choix, est souvent utilisé pour les frameworks dans le domaine professionnel. Toutefois, programmer avec ce langage qui ne dépend d’aucune plateforme est tout sauf simple : c’est généralement compliqué et nécessite beaucoup de temps à cause de la structure souvent complexe. En tant que langage de script, Ruby n’est donc apparenté à aucune plateforme en particulier. Mais en même temps, un code créé avec Ruby est plus rapide, facile à personnaliser et moins lourd. En revanche, le langage d’interprétation rend la vitesse des applications développées plus lente que les mêmes applications développées avec Java.
Par rapport à Java, PHP présente également des avantages importants en termes de simplicité et d’effort de développement. Dans le développement Web, il s’agit de la solution de référence par excellence, qui est à la base, entre autres, de nombreux systèmes de gestion de contenu comme Wordpress, TYPO3 ou Joomla. Dans la mesure où PHP a été agencé de façon plutôt arbitraire et qu’il n’est pas toujours orienté objet, il est parfois pénible de mettre à jour des applications Web qui ont été développées avec des versions plus anciennes. Ruby on Rails, au contraire, a été entièrementorienté objet depuis ses débuts : les applications développées avec des anciennes versions présentent donc un code plus clair que les projets PHP standard.
Ruby on Rails contient un framework intégré, qui permet de tester les fonctionnalités de votre application à tout moment. Grâce à cette possibilité, les erreurs peuvent être décelées et corrigées dès le début. Des techniques de Web 2.0 telles qu’AJAX peuvent être utilisées en quelques lignes. De plus, Ruby et le framework Rails disposent d’une énorme communauté qui ne cesse de grandir, comme en atteste le large choix d’extensions disponibles.
La philosophie innovante de Rails, c’est-à-dire la recherche de la plus grande simplification possible pour le développeur, que Matsumoto a mis en œuvre dès le début avec le système d’échafaudage, les conventions fixes ou la structure MVC, a servi de modèles à de nombreux frameworks ultérieurs. C’est un principe que l’on retrouve dans les frameworks PHP Symfony, CakePHP et Zend Framework .