1.2 Warum Ruby? 

Java, .NET, PHP, Python, Perl und viele andere Programmiersprachen sowie eine Reihe von Frameworks wie Spring, Struts, Symfony, CakePHP, Prado, Zend Framework, Django und auch CM-Systeme wie TYPO3 und ZOPE stehen bereits für die Entwicklung von Web-Applikationen zur Verfügung. Die berechtigte Frage, die sich stellt: Brauchen wir noch weitere Sprachen und Frameworks? Als Rails-Entwickler sagen wir ganz klar »Ja«, aber wir geben zu, das ist etwas zu einfach.
Deshalb wollen wir Ruby on Rails mit Java und PHP vergleichen, um zu zeigen, wo Rails seinen Platz findet:
Java
Die Stärken von Java liegen in der Objektorientierung, der Verfügbarkeit von vielen Frameworks bzw. Bibliotheken und vor allem in der großen Verbreitung im Enterprise-Bereich. Allerdings stehen dem die lange Entwicklungszeit entgegen.
PHP
PHP ist leichtgewichtig, leicht zu erlernen und steht für kurze Entwicklungszeiten. Auch die große Community spricht für PHP. Ein großer Nachteil von PHP ist die Objektorientierung. Seit PHP 4 ist PHP objektorientiert. Jedoch sieht man es der Sprache stark an, dass die Objektorientierung aufgesetzt ist. Ohne Verwendung eines Frameworks sind große PHP-Anwendungen schwer zu warten. Es gibt jedoch eine Reihe von sehr guten Frameworks, wie z. B. Symphonie, Cake und Zend-Framework. Auf der Website http://railsbuch.de/urls/2 werden die Gemeinsamkeiten und Unterschiede von PHP und Ruby gegenübergestellt.
Vergleich
Ruby steht mit Rails zwischen diesen beiden Extremen. Durch die vollkommene Objektorientierung und einer guten Model-View-Controller (MVC)-Implementierung lässt sich der Code sehr gut warten und erweitern. Auch benötigt man sehr viel weniger Code als für eine vergleichbare Java-Anwendung; das bedeutet, die Entwicklungszeit ist sehr viel geringer. Da es sich bei Ruby um eine interpretierte Skriptsprache handelt, wirkt sich das zusätzlich positiv auf die Entwicklungszeit und auf die Lernkurve aus.
Matz
Ruby wurde von seinem Erfinder, dem Japaner Yukihiro »Matz« Matsumoto, als »Humansprache« entwickelt, das heißt, man kann Ruby-Code einfach lesen wie einen Text. Und selbst wenn man den Code einem Nicht-Programmierer vorliest, hat dieser eine reale Chance zu verstehen, was das Programm tut.
Darüber hinaus birgt Ruby im Gegensatz zu vielen anderen Sprachen, nicht zuletzt wegen dem ihm ihr zugrunde liegenden Prinzip der geringstmöglichen Überraschung (principle of least surprise), kaum Widersprüche in sich. Das kann man von PHP zum Beispiel nicht behaupten. Hier werden zum Beispiel zusammengesetzte Funktionsnamen mal zusammengeschrieben und mal durch Unterstriche getrennt: strtoupper und str_replace.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.