Von Java zu Ruby
Java ist ausgereift. Es ist getestet. Und es ist schnell (auch wenn die Anti-Java-Gemeinde etwas anderes behauptet.) Es ist aber auch ziemlich langatmig. Wenn du von Java nach Ruby wechselst, wird dein Quellcode deutlich schrumpfen. Außerdem wirst du bemerken, dass das Zusammenbasteln von Prototypen weniger Zeit in Anspruch nimmt.
Ähnlichkeiten
In Java und Ruby- wird Speicher von einem Garbage-Collector verwaltet.
- sind Objekte stark getypt .
-
können Methoden
public,privateundprotectedsein. - sind Werkzeuge zur Dokumentation enthalten. In Ruby gibt es RDoc; Die von RDoc generierten Dokumentationen ähneln denen von JavaDoc stark.
Unterschiede
Anders als in Java- muss nicht kompiliert werden. Der Quellcode wird direkt ausgeführt.
- gibt es verschiedene GUI -Toolkits . Ruby-Entwickler können folgende Toolkits ausprobieren: WxRuby , FXRuby , Ruby-GNOME2 , oder das integrierte Ruby Tk.
-
verwendest du
Schlüsselworte
wie
doundendbeim Definieren von Klassen, für Verzweigungen usw. (und keine geschweiften Klammern). -
benutzt man
requireanstattimport. - sind alle Instanzvariablen privat. Von Außen wird auf alles über Methoden zugegriffen.
- sind Klammern in Methodenaufrufen optional und werden häufig weggelassen.
-
ist
alles ein Objekt
, auch Zahlen wie
2und3.14159. - gibt es keine statische Typprüfung .
- sind Variablennamen lediglich Bezeichner. Sie haben keinen Typ.
-
gibt es
keine Typdeklarationen
. Du brauchst nur einer neuen Variable etwas
zuzuweisen, z.B.
a = [1,2,3]anstelle vonint[] a = {1,2,3};. - gibt es keine Typumwandlungen (Casting). Ruf einfach die Methoden auf.
- ist Unit-Testing noch einfacher als in Java.
-
heißt es
foo = Foo.new( "hi")stattFoo foo = new Foo( "hi" ). -
heißt der
Konstruktor
immer
initialize(und nicht wie der Klassenname). - gibt es Mixins anstelle von Interfaces.
- wird YAML eher verwendet als XML .
-
heißt es
nilanstelle vonnullundselfstattthis. -
==undequals()verhalten sich in Ruby anders.==sollte verwendet werden, wenn zwei Objekte auf Klassenebene verglichen werden sollen (equals()Variante in Java).equal?()wird dagegen verwendet um herauszufinden ob zwei Objekte die gleiche Identität haben (==in Java).
rubyforge.org rubyforge.org rubyforge.org rubyforge.org forum.ruby-portal.de rubyforge.org radiantcms.org tryruby.hobix.com