QUOTE (Sascha Ahlers @ Di 21.6.2005, 14:46) Ähm, ich wollte was von Vor- und Nachteilen hören.
Vor- und Nachteile sind aber etwas rein subjektives. Ist die strenge Typisierung in Java ein Vorteil, oder ein Nachteil? Für den einen ist es ein Vorteil, weil der Quellcode aussagekräftiger ist. Für den anderen ein Nachteil, weil man damit eine gewisse Flexibilität aufgibt und ständig viel mehr Code vor Augen hat (und am Ende auch noch tippen muss).
Ich probier's mal so: Ruby wird dir gefallen, wenn du...
- OOP toll findest
- gerne eine 100% objektorientierte Sprache hättest
- kurzen, einfach lesbaren Quellcode magst
- die Macht über alle Klassen haben willst (Ruby lässt dich bestehende Klassendefinitionen erweitern/üb erschreiben)
Es wird dir nicht gefallen, wenn du
- mit OOP Probleme hast
- gerne alles für einen Compiler ausbuchstabierst (siehe Java)
- Angst vor einer initialen Lernarbeits-Investition hast
Aber eigentlich ist das der falsche Vergleich. Hier geht's ja um Websites, also sollten wir nicht Ruby mit der Sprache PHP vergleichen, sondern Ruby on Rails (das Framework) mit LAMP. LAMP ist eine tolle Plattform, mit der man ganz prima sofort loslegen und etwas bauen kann. Hat man erstmal alles installiert, reicht ein "<?php print "Hello World!" ?>", und schon sieht man was. So einfach ist es bei Ruby on Rails nicht. Das richtet sich nämlich an die Entwicklung kompletter Webanwendungen. In dem Gebiet haben sich über die Jahre gewisse Entwicklungsmuster etabliert, die primär aus der Java-Welt stammen, inzwischen aber auch in der PHP-Welt Anwendung finden. Allen voran wäre da als Beispiel MVC (Model-View-Controller) erwähnt. Oder ORM (Object-Relational Mapping). Das kann man auch alles in PHP machen. Aber wer schonmal MVC- und/oder ORM-Frameworks für PHP gesehen hat, weiß, dass das eine ziemlich hässliche Angelegenheit ist.
Zugegebenermaßen bietet das neue Objektmodell in PHP5 coole neue Features im Bereich der Dynamisierung von Objekten und Klassen, mit denen sowas wesentlich netter machbar ist als in PHP4 und den Versionen davor.
Zurück zu Ruby on Rails: es kapselt diese etablierten Entwicklungmuster in einer Umgebung, in der man sehr schnell (= mit sehr wenig Aufwand) zu einem Ergebnis kommt, das weit über "Hello World" hinaus geht. Es nutzt dafür die spezifischen Vorteile der Sprache Ruby.
Hier gibt's eine schöne Tutorial-Serie inkl. Installationsanleitung für alles Benötigte unter Windows:
http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html
http://www.onlamp.com/pub/a/onlamp/2005/03/03/rails.html
http://www.onlamp.com/pub/a/onlamp/2005/06...rails_ajax.html