2010-01-22 11 views
13

Also habe ich Ruby vor ein paar Tagen angeschaut. Zuerst war ich ziemlich erstaunt über einige Dinge, die das Programm wirklich erleichtern. (Verwendung von Blöcken, Objektmodell, ...)Lernen Sie Ruby, wenn Sie nicht Rails verwenden?

Aber dann gibt es dieses große Problem: Niemand scheint Ruby ohne Rails zu benutzen! Die #Ruby (-lang) Kanal ist tot, Menschen sprechen nur in #rails

ich mit PHP für Web-Entwicklung, keine Frage bleiben werde, aber

  • Hat jemand tatsächlich Gebrauch Ruby als allgemeine Sprache und nicht für Web-Entwicklung?
  • Hat Ruby (gute) Bibliotheken für "Offline" -Apps?
  • Dies kann subjektiv sein, aber sollte ich nur mit Python für nicht-Web-Scripting bleiben?

Ich möchte nicht Ruby lernen, um herauszufinden, dass es Teil der allgemeinen Zweck ist wirklich tot!

freundlichen Grüßen Lamas

+0

Rails scheint das Verkaufsargument für Ruby zu sein ... – Perpetualcoder

Antwort

10

Ich ziehe Ruby Python für allgemeine Skripten und Berechnungen. Ich finde Ruby ein wenig flüssiger zu benutzen, obwohl Python seinen Markt in den Nicht-Web-Anwendungen hat. Ruby hat einige gute Verkaufsargumente ohne Rails (beachten Sie, dass ich Rails nicht verwende, ich finde es auf seltsame Weise unordentlich). Wie die GTK-Bindungen für Ruby sind wirklich erstaunlich. Eine hello world grafische Anwendung in 5 Zeilen zu erstellen ist einfach unglaublich ...

Die andere schlechte Sache über Ruby ist, dass es im Moment langsamer als Python ist. Ihre Entscheidung, Ruby zu lernen, sollte also nur von Ihren Bedürfnissen abhängen. Programmieren Sie zum Spaß/als Hobby oder versuchen Sie, kommerzielle Anwendungen zu erstellen? Python ist auch generell für kommerzielle (zumindest mehr als Rubin) angenommen ..

+1

+1 Ich liebe Rubin als allgemeine/Hobbysprache und ich bin ein Systemprogrammierer. Keine Websites für mich, immer noch eine sehr nützliche Sprache., –

+1

ja, ich bin auch. Ich habe aber eine Website .. Ich wünschte nur, es gäbe eine einfache Möglichkeit, eine kleine Menge Ruby in meiner Website zu verwenden, wie ich PHP ... – Earlz

+5

Wenn Sie etwas Licht sind, werfen Sie einen Blick auf Sinatra. –

8

ziehe ich es allgemeine Skripte in Ruby zu schreiben, weil ich die Sprache intuitiver als Python, Perl oder Bash finden. Zum Beispiel using Ruby to rename files and edit their content, auch chmodding and Ruby.

Siehe auch Ruby Top Projects. Es enthält einige Rails-bezogene Apps, aber auch andere Ruby-Projekte, die nicht mit Rails arbeiten.

+0

Was ist mit "größeren" Dingen?Ich nehme an, dass Sie es nur für kleine Aufgaben verwenden, oder? – lamas

+0

Es hängt von der Aufgabe ab. Wenn ich eine Desktop-Anwendung schreiben würde, würde ich wahrscheinlich Java oder .NET wählen. Ich habe vorher Web-Apps mit Ruby gemacht, ohne Rails zu benutzen, und wahrscheinlich würde ich Ruby auch für eine komplexere Konsolenanwendung verwenden. –

1

Soweit die dynamischen Skriptsprachen gehen, hat Python einen festen Platz auf dem Nicht-Web-Anwendungsmarkt. Ich habe einige kleine Projekte in Ruby gesehen, aber keine Produktionsebene. Python hat dagegen mehrere mächtige Systeme unter seinem Gürtel.

Mein Vorschlag? Bleiben Sie mit Python für Nicht-Web-Sachen, und geben Sie Python einen Schuss mit Web-Zeug. Ruby ist große mit Rails, und ist definitiv wert, für Web-Entwicklung zu suchen.

+0

Danke für Ihre Antwort, aber in Bezug auf Web-Dev, bin ich völlig in Ordnung mit PHP. Ich habe es seit Jahren verwendet und habe jetzt einige Erfahrung darin – lamas

2

Ruby ist super für alle möglichen Dinge. Aber Rails ist die Killer-App. Wenn du kleine Skripte schreiben willst, die kleine Dinge tun, ist das wahrscheinlich nicht so wichtig. Wenn Sie große Nicht-Webapp-Programme in einer Skriptsprache schreiben möchten, lohnt es sich, Ruby zu lernen. Aber wenn du Python kennst und es liebst, gibt es auch keinen großen Grund, das Schiff zu springen.

Lernen Ruby, weil es eine lustige Sprache ist und zu wissen, dass es Sie zu einem besseren Allround-Programmierer machen wird. Aber es klingt nicht wie du brauchen Rubin.

1

Ich habe eine Menge Ruby Scripting/Programmierung gemacht, wegen dem, was Ruby im Vergleich zu Perl angeboten hat. Ich wählte Ruby gegenüber Python teilweise wegen des Hypes und war generell zufrieden damit.

Wenn ich wieder eine dynamische objektorientierte Skriptsprache brauche, werde ich wahrscheinlich Python wählen, da es für mich einfacher zu verstehen ist.

Wie auch immer, es ist eine individuelle Wahl und lassen Sie uns sehen, was die anderen Antworten offenbaren ...

3

Bei meiner Arbeit ist der Kern etwa 93.000 Zeilen Ruby, nicht einschließlich der DSLs, Tests und Rails (obwohl wir all diese Dinge im Überfluss haben).

Zu den Kernfunktionen gehören eine Verarbeitungsmaschine, die auf n Maschinen verteilt ist, eine Bibliothek zur Erstellung von Postscript und mehrere benutzerdefinierte Minisprachen für Layout, eingebettete Daten und andere Goodies.

Also, ja, können Sie einiges an Nicht-Schienen in Ruby arbeiten.

11

Hat jemand eigentlich Ruby-Verwendung als allgemeine Sprache und nicht für Web-Entwicklung?

Ja. Als Bonus ist es mein Job.

Hat Ruby (gut) Bibliotheken für "Offline" -Apps?

Ja.

subjektiv Dies kann, aber sollte ich nur mit Python-Stick für Nicht-Web- Scripting?

Sie werden es nicht bereuen, es für Web- oder Nicht-Web-Scripting zu lernen. Allerdings hat Python auch seine Stärken. Sie sind beide sehr fähige Sprachen. IMHO Rubin ist die elegantere Waffe.

  • Rubin hat keine Leerzeichen Anforderungen
  • Rubin besser Syntax
  • Rubin ist ausdruck
  • Python könnte schneller seine
  • Python wohl besser Bibliotheken für bestimmte Dinge hat

hat und Denken Sie daran, Rails ist nicht die einzige Plattform für Web-Programmierung in Ruby.

5

In The Python Paradox argumentiert Paul Graham, dass die besten Programmierer oft "vergleichsweise esoterische" Sprachen genießen. Sie genießen sie nicht, weil sie Ihnen helfen, einen Job zu landen. Sie genießen sie, weil "vergleichsweise esoterische" Sprachen interessant und schön sein können. Sein Essay ist über 5 Jahre alt, also hat sich viel verändert - ich glaube nicht, dass Python oder Ruby als esoterisch betrachtet werden kann. Trotzdem ist die Idee dieselbe.Gibt es einen besseren Grund, eine andere Sprache zu verwenden, als du denkst, dass sie interessant und vielleicht sogar ein bisschen schön ist?

+0

Bezug nehmend auf P. Graham ist immer +1 wert :) –

3

Eine Menge Leute sehen Ruby und Rails als auch. Ich mache keine Web-Entwicklung, aber ich benutze Ruby fast jeden Tag. Ich finde es eine ausgezeichnete allgemeine Sprache. Ich möchte nicht abgelenkt werden, um die Sprache zu evangelisieren, aber es ist eine Sprache, die ich gerne benutze und für die ich viele Anwendungen gefunden habe. Es gibt are eine breite variety von libraries für Ruby, die nichts mit Web-Programmierung zu tun haben. Es gibt auch kommerzielle Anwendungen, die Ruby verwenden (z. B. Google SketchUp).

Wenn Sie daran interessiert sind, die Sprache für den allgemeinen Gebrauch zu lernen, empfehle ich, das Buch "Programming Ruby" (das kostenlos online unter ruby-doc.org zu finden ist) zu lesen.

Wenn der #Ruby-Kanal inaktiv ist, versuchen Sie, die Mailingliste des Ruby-Benutzers zu abonnieren. Es gibt eine große Teilnehmerbasis und viele Diskussionen.

1

Ich benutze Ruby viel und mache keine Webentwicklung und finde heraus, dass Ruby eine großartige Sprache ist, um allgemeine Anwendungen zu schreiben.

Sie finden für jede gegebene Anwendung Ruby bietet viele gut gestaltete und regelmäßig gepflegte Bibliotheken; Und als zusätzlichen Bonus hosten fast alle Ruby-Entwickler ihren Code auf github, so dass es ein Kinderspiel ist, zu diesen Bibliotheken beizutragen. Hinzu kommt die Einfachheit der Installation und Aktualisierung von Bibliotheken mit Ruby 'Gems' und Sie haben ein fast komplettes Paket. Der einzige Nachteil von Ruby ist ein geringer Mangel an Dokumentation für einige Bibliotheken, aber diese Situation verbessert sich schnell.

Im Allgemeinen ist Ruby eine wundervolle Sprache, die sehr gut gestaltet und wunderschön ausdrucksstark ist. Eines der Dinge, die mir Spaß machen, ist die "Ruby Reddit" -Seiten zu sehen und die kreativen Wege zu sehen, wie die Community die Sprache erweitert. Ich kann definitiv sehen, dass es weit über die Web-Entwicklung hinaus verwendet wird, es ist einfach so, dass seine aktuelle "Killer-App" Rails ist.

Sie müssen sich keine Sorgen machen über die Wahl von Ruby, es hat eine sehr helle Zukunft.

2

Gib Ruby einen Versuch. Es ist eine lustige Sprache. Außerdem sehe ich nichts falsch daran, etwas Neues zu lernen. Es ist nicht so, als würdest du zu viel Wissen sterben.

2

Absolut Ruby ist es wert zu lernen, ist intuitiv und elegant und extrem prägnant. Ich benutze Ruby seit Jahren, um Build-Prozesse zu automatisieren, kompiliere, installiere Builds, sogar benutzter WebBrick für einen leichten CI-Server (bevor TeamCity mir das Leben viel einfacher gemacht hat). Ich bin jetzt auf einem Rails-Projekt, aber liebte Ruby lange bevor ich jemals ein Web-Projekt damit gemacht habe.

Es gibt viele Bibliotheken, die alltägliche Skriptaufgaben erledigen. Datei IO ist tot einfach. Cron + Rake ist eine großartige Möglichkeit, wiederkehrende Aufgaben zu verwalten.

Kurz gesagt - mach es.

2

Der Abstand zwischen dem Gedanken und der Implementierung mit Ruby ist erfreulich kurz, der zweite vielleicht nur Lisp/Scheme ... das hat nichts mit Rails zu tun.

Pick-up Matz's new book from O'Reilly und fließend mit Ruby 1.9, Sie werden es nicht bereuen.

In Bezug auf Ruby tot zu sein, würde ich sagen, dass die aktuelle Laufwerk für eine language spec and ISO steht, dass das täuscht.

Verwandte Themen