# JAVA vs. RUBY



## DocMcFly (16. Jan 2007)

Hi Leute,

mein Bekannter schärmt schon eine Weile von Ruby. Ich bin recht sattelsicher in Java. Da vielleicht etwas Abwechslung gut tut und er meinte: "Es würden etliche Java-Programmierer zu Ruby wechseln..." - dachte ich mir ich mach mal ein wenig schlau...

Wie sehen alte Java-Hasen das?* Gibt es hier Leute mit Erfahrungen in beiden Sprachen? Wie ist der Eindruck von Ruby? Besonderes Augenmerk auf Webentwicklungen: Warum Java? Oder warum Ruby? 

Was stört bei Java - was bei Ruby nicht gibt? und umgekehrt...

Ich würd mich über paar persönliche Erfahrungen und trollefreie Beiträge echt freuen...

Vielen Dank 

Clemens 

*) Ruby ist ne Skriptsprache... Java wird compiliert... ich weiß zwei unterschiedliche Familien. Hät gerne nur mal nen Eindruck von Leuten die beide Sprachen "sprechen".


----------



## FelixB (16. Jan 2007)

Das ist ungefähr so, als würde man sagen "Früher habe ich immer ein Fahrrad genommen, inzwischen bentuze ich nur noch eine Bohrmaschine".

Völlig unterschiedlich Einsatzbereich und demnach auch nicht diekt  vergleichbar und schon gar nicht substituierbar.


----------



## DocMcFly (16. Jan 2007)

Beispiel:

Besonders für Webanwendungen werden beide Sprachen verwendet. Mit beiden Sprachen kann ich viele der gleichen Problemart lösen. Eine Frage: Gibt es hier jemanden, der so etwas schon mal abwägen musste - von beiden Sprachen Ahnung hatte und sich gezielt für die eine entschieden hat. 

Interresant wäre dann warum? 

Oder jemand hat früher vieles mit Java gelöst und ist zu Ruby gewechselt? Warum? oder umgekehrt? Auch sehr interessant...

Du siehst ein Vergleich ist möglich... 

Clemens


----------



## Gast (16. Jan 2007)

schau mal des hier:

http://de.wikipedia.org/wiki/Ruby_(Programmiersprache)

da wird mit java und c++ verglichen, ich bin aber immern der Meinung für jedes problem die richtige programmiersprache verwenden.


----------



## miketech (16. Jan 2007)

Hi,

also ich kann Dir soviel sagen: Ich habe vor einigen Jahren Java programmiert und hab auch aus Neugierde mal mit Ruby programmiert. Das ist natürlich nett. Mittlerweile mach ich wieder sehr viel mit Java 

Du kannst nicht sagen, dass A besser ist als B. Das ist vor allem eine Geschmacksfrage. Ich mag einfach die strenge Typisierung in Java, gerade, wenn ich große Anwendungen entwickle. Für ein paar hundert Zeilen ist auch Ruby sehr nett, vor allem wenn es um kleine Lösungen gibt, die schnell entwickelt werden müssen (Prototyping). Bei mehr wurde das Debugging immer hässlicher, wenn man keine strenge Typisierung hat. 

Aber versteif Dich nicht auf eine Sache. Benutze, wenn Du möchtest beides parallel, vielleicht sogar JRuby + Java. Wenn Dein Bekannter Ruby schön findet, kann er sich ja auch Python und Groovy anschauen. Da ist auch nicht B schöner als C und umgekehrt  Der eine mag das Einrücken in Python nicht, der andere die  @-Zeichen vor Variablen in Ruby. 

Probiers aus, aber wirf nicht das eine aus dem Fenster, nur weil Du mal in was anderes reinschnuppern möchtest. Alle Kochen nur mit Wasser.

Gruß

Mike


----------



## Leroy42 (16. Jan 2007)

FelixB hat gesagt.:
			
		

> "Früher habe ich immer ein Fahrrad genommen, inzwischen bentuze ich nur noch eine Bohrmaschine".



 :shock: *LOL*  :applaus:


----------



## nocxsville (16. Jan 2007)

Ruby hat den gravierenen Nachteil (den Rubyanhänger natürlich als Vorteil sehen, der er aber nicht ist) das es keine Typprüfung gibt.


----------



## byte (16. Jan 2007)

Gast hat gesagt.:
			
		

> ich bin aber immern der Meinung für jedes problem die richtige programmiersprache verwenden.



Generell natürlich nicht falsch der Ansatz, aber wenn die vorhandenen Entwickler die am besten geeignete Sprache nicht beherrschen, haste auch nix dadurch gewonnen.


----------



## Jango (16. Jan 2007)

Ruby ist eine interpretierte Programmiersprache wie zB. Basic. Macht diese Tatsache die Ausführung nicht zu langsam?

http://www.humblelittlerubybook.com/book/


----------



## Wildcard (16. Jan 2007)

Jango hat gesagt.:
			
		

> Ruby ist eine interpretierte Programmiersprache wie zB. Basic. Macht diese Tatsache die Ausführung nicht zu langsam?


Sollte man da als Java und C# Programmiererin nicht vorsichtig sein?  :wink:


----------



## Jango (16. Jan 2007)

kann dir nicht folgen - was meinst du damit ? Dass Java und C# auch langsam sind?  ???:L


----------



## Wildcard (16. Jan 2007)

Nein, das sie Interpretiert werden.


----------



## Jango (16. Jan 2007)

Wildcard hat gesagt.:
			
		

> Nein, das sie Interpretiert werden.



Jein - Java ist ja nicht rein interpretiert. Und ich habe ja Ruby auch nicht schlecht gemacht - kenne einige, die sich damit beschäftigen. Ich meinte: rein aus der Tatsache heraus, dass Ruby interpretiert wird - ist sie halt langsamer, oder? :wink:


----------



## Wildcard (16. Jan 2007)

Es wird ein Kompilat interpretiert, ist aber dennoch interpretiert  :wink: 
Wirklich langsamer ist das heutzutage nicht mehr.


----------



## Jango (16. Jan 2007)

hach - Wildcard. Das sollte doch nicht so klingen, dass es als Nachteil verstanden wird. Ja - natürlich - mit den heutigen Rechnern ist so ziemlich alles schnell (außer manchmal Eclipse   :wink: ).


----------



## robertpic71 (16. Jan 2007)

Ich muss gleich dazu sagen, dass ich Ruby on Rails nicht besonders gut kenne - ich liefere mir nur manchmal "Gefechte" mit einem "Ruby on Rails Anhänger"....



			
				Jango hat gesagt.:
			
		

> Ruby ist eine interpretierte Programmiersprache wie zB. Basic. Macht diese Tatsache die Ausführung nicht zu langsam?



Die (Geschwindigkeits-)Unterschiede dürfte nicht allzu groß sein. Das das kein Problem darstellt, sieht man wohl am Erfolg von PHP. 

Auch für die Hoster, ist eine Interpretersprache leichter zu managen, als eine ganze Laufzeitumgebung wie Java. Ruby ist zwar auch noch nicht unbedingt Standard, aber die Tomcat-Provider muss man auch erst suchen. Also wer seine Homepage mit etwas Programmlogik anreichern will, ist (mMn) mit Ruby on Rails (mittel- bis längerfristig) besser bedient - was die Providersuche angeht.

Ob man mit "Lighweight"-Lösungen ala Ruby besser fährt, hängt auch stark von der Projektgröße ab. 

Aber jetzt muss ich einmal "schwarzes Schaf" spielen und noch eine Variante ins Spiel bringen:

Ich benutze das OpenSource-Framework ZK, welches auch Java  (via BeanShell) interpretieren kann. Wenn man will, kann man hier sehr schnell, Lösungen zusammenbasteln ohne sich mit MVC und anderem "Schwergewichtigen" beschäftigen zu müssen. Alle GUI-Komponenten stehen auch automatisch dem Javainterpreter als Objekte zur Verfügung - das spart eine Menge Code. 

In der Firma nutze ich das Framework aber nur als Viewer/Controller-Schicht welcher sich die Daten  aus den Beans und Models holt bzw. wieder hineinstellt. "Hauptsächlich" ist es aber ein Ajax-Framework, welches auch  eventgesteuerte Webprogrammierung ermöglicht.


Aber selbst wenn man leichte Vorteile mit Ruby on Rails hätte, will man sich in der Firma nicht noch eine Programmiersprache/Entwicklungsumgebung aufhalsen. Es kommt sowieso schon genug zusammen.


----------



## DocMcFly (19. Jan 2007)

Vielen Dank - für eure Ansichten und Meinungen. Das Ganze war sehr aufschlussreich.

Bis Tage ... ich komme wieder keine Frage...

Clemens  

EOT


----------

