2009-03-30 11 views
9

Ich bin ein Anfänger zu Ruby. Ich habe die folgenden Beschwerden über Ruby gehört und gehofft, dass die Stack Overflow-Community jeden angesprochenen Punkt ansprechen könnte.Aus welchen Gründen wählen Menschen Ruby über Java?

Häufige Beschwerden zu Ruby, die ich gehört habe:

  • Ruby ist langsamer als Java
  • Ruby ist nicht statisch
  • Es ist nicht geeignet für große Projekte

Da tippte diese zugegebenermaßen meinungsbasierte Aussagen, wie ist Ruby "besser" als Java? und wird Ruby jemals eine weit verbreitete Sprache sowohl von Unternehmen als auch von Einzelpersonen sein?

+0

Wenn Sie glauben, Sie sollten immer über die Leistung der Anwendung im Gegensatz zu den ausgekreisten Code geschrieben/Leichtigkeit des Schreibens dieser Zeilen, würde ich vorschlagen, Ruby nicht für Sie. Ich stimme jedoch nicht zu, dass dies im allgemeinen Fall sinnvoll ist. –

+0

Das sieht wie ein bequem gemachtes Bett aus, das für Flammenkriege perfekt ist. Es gibt keine richtige oder falsche Antwort auf diese Frage, nur eine ganze Reihe von Meinungen in beide Richtungen. –

+0

"Wir sollten immer über die Leistung der Anwendung nachdenken, nicht über die Codezeilen, die Sie geschrieben haben." - definitiv nicht, im Allgemeinen! Rechenleistung ist im Vergleich zu menschlichen Ressourcen (Programmierer) billig. Deshalb benutze ich normalerweise Java anstelle von C++ ;-) –

Antwort

0

Ruby ist eine beliebte Sprache schon :)

ich mit Ihnen nicht einverstanden sind auf „sollte Wir denken immer über die Leistung“ und „Rubin besser ist als Java“. Bei einigen Projekten ist die Lesbarkeit von Code möglicherweise wichtiger als die Leistung. Denken Sie an optimierten C++ - Code, den zum Beispiel niemand lesen und pflegen kann. Und es gibt keinen perfekten Beweis dafür, dass "Ruby besser ist als Java". Woher hast du diese Informationen?

+0

http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/ Hier ist der Link, der für eine Iteration 86 ms sagt. Also, wenn es ein großes Projekt ist, dann ist meine Anwendung langsam. Der Kunde will nur Leistung. Es ist ihm egal, wie klar es geschrieben hat. – Manoj

+0

Es stimmt, dass bei einigen Projekten die Leistung das ist, was der Kunde möchte. Aber es ist nicht wahr, dass Leistung die einzige Sorge ist. Wie wäre es mit Kunden, die ihre Anwendung regelmäßig ändern möchten? Die Wartbarkeit ist hier wichtig. Wenn Sie nur Leistung wollen, schlage ich vor, mit C++ zu gehen :) – Gant

+0

C++? Langsam. Montage wäre besser, Maschinencode wahrscheinlich am besten. Natürlich kann es nicht bis zum 22. Jahrhundert geliefert werden ... –

1

Die Antwort auf die Frage "Welche Sprache ist besser, dies oder das?" ist immer subjektiv. Sicher, Objektivität ist gültig und Sie können irgendwie zu einer Schlussfolgerung gelangen, dass eine Sprache für X-Aufgabe/Projekt besser ist.

Aber auch wenn Ihr Team mit einer anderen Sprache zufrieden ist, die nicht die erste Wahl für eine bestimmte Aufgabe/Projekt ist, aber die Arbeit kann trotzdem getan werden ... ein kluges Team wird die Sprache wählen, die es macht Sie sind glücklich, weil ihre Produktivität auch größer sein wird.

Abschließend kann niemand Ihnen sagen, seine Wahl ist besser als Ihre Wahl. Sie können versuchen, Sie zu überzeugen, aber wenn X aus irgendeinem Grund für Sie aufgeregter ist, können Sie nichts dagegen tun.

Having said that: Ruby 1.9+ hat sich sehr verbessert, was die Leistung betrifft. Wenn Sie mich fragen, ist meine voreingenommene Meinung, wählen Sie Ruby, weil ich es mag. Aber wenn Sie eine unvoreingenommene Meinung wollten, müssten wir mehr Aspekte besprechen und untersuchen, was genau Sie mit der Sprache/dem Framework etc. tun möchten.

1

Ich empfehle Ihnen, beide Sprachen auszuprobieren und dann zu entscheiden, welche Ihrer Meinung nach die beste ist.

2

Für einige Zwecke ist Ruby zu langsam im Betrieb. Für andere ist es schnell genug.

Für einige Zwecke benötigt Java zu viel Zeit, um es zu entwickeln.

Für einige Anwendungen ist statische Typisierung unnötig, für andere ist es sehr wünschenswert.

Die Größe des Projekts ist weitgehend irrelevant.

In mancher Hinsicht ist Java besser als Ruby, auf andere Weise ist Ruby besser als Java. Wer behauptet, dass man unter allen Umständen "besser" ist, weiß wahrscheinlich nicht genug, um eine gültige Meinung zu haben.

Und was ist mit JRuby?

Ich denke, es ist mittlerweile ziemlich gut dokumentiert, dass Ruby "populär" ist. Nicht so "populär" wie Java, C++ oder C, aber trotzdem beliebt.

Siehe

0
wie Ruby 'besser' als Java?

Es ist nicht, und Java ist nicht 'besser' als Ruby. Beide haben ihre Vor- und Nachteile, und es hängt von Ihrem Projekt ab; Was ist das beste Werkzeug für , dass Job.

+0

Bitte sagen Sie mir die Profis von Ruby .. – Manoj

9

Ruby ist langsamer als Java zum Ausführen, aber schneller zu schreiben oder zu lesen. Was ist dir wichtiger? Ich kenne keine Firma auf der Welt, die bestanden hätte, wenn sie die Möglichkeit hätte, ihre Entwicklungszeit auf Kosten der Verdopplung ihrer Hardware zu halbieren.

Ruby ist nicht statisch getippt, aber auch Python, Perl, Lisp, Shell-Skripte usw. Ist das wirklich ein Problem für Sie? Ich bin sicher, dass Sie genauso viele Leute in dynamischen Sprachen finden könnten, die sich beschweren würden, dass Java, C#, C++ usw. statisch getippt sind. Es fehlt nicht an Beispielen für Systeme, die auf dynamischen Sprachen basieren.

Ich stimme zu, dass Ruby nicht für große Projekte geeignet ist, aber auch keine andere Sprache, die wir heute haben. Der Stand der Softwareentwicklung ist mir klar: Niemand kann große Systeme zuverlässig zuverlässig bauen. Zumindest macht Ruby Ihre großen Projekte in Codezeilen kleiner, was sie (etwas) überschaubarer macht. Es ist syntaktisch reicher, so dass Sie (etwas näher) sagen können, was Sie meinen. Es ist schneller zu schreiben, so dass Sie schneller herausfinden werden, wenn Sie den richtigen Weg gehen oder nicht.

Wenn dies die besten Argumente gegen Ruby sind, dann geht es Ruby besser, als ich dachte.

0

Je nachdem, was Sie tun müssen.

Wir erwarten, dass unser Code über Jahrzehnte läuft. Wenn wir mit reinem Java arbeiten, sind wir uns ziemlich sicher, dass die Technologien "in Mode" bleiben und dass zukünftige Kollegen den Code beibehalten können. Wenn Sie sich für die Sprache des Tages entscheiden, werden Sie schließlich Programme in Sprachen schreiben, die aus der Mode gekommen sind und daher schwieriger zu pflegen sind.

"Pure Java" bedeutet im Wesentlichen, dass wir mit der Standard Java Runtime und Implementierungen von Sun Spezifikationen (wie JavaServer Faces) bleiben. Es ist nicht so langweilig, wie es klingt :)

Verwandte Themen