Warum wird Ruby als langsam angesehen?
Denn wenn Sie typische Benchmarks zwischen Ruby und anderen Sprachen ausführen, verliert Ruby.
Ich finde Ruby nicht langsam, aber ich verwende es nur, um einfache CRUD-Apps und Unternehmensblogs zu erstellen. Welche Art von Projekten müsste ich machen, bevor Ruby langsam wird? Oder betrifft diese Langsamkeit nur alle Programmiersprachen?
Ruby würde Ihnen wahrscheinlich beim Schreiben einer digitalen Echtzeit-Signalverarbeitungsanwendung oder eines Echtzeit-Steuerungssystems nicht gut dienen. Ruby (mit heutigen VMs) würde wahrscheinlich an einem Computer mit eingeschränkten Ressourcen wie Smartphones ersticken.
Denken Sie daran, dass ein Großteil der Verarbeitung in Ihren Webanwendungen tatsächlich von in C entwickelter Software ausgeführt wird, z. B. Apache, Thin, Nginx, SQLite, MySQL, PostgreSQL, viele Parsing-Bibliotheken, RMagick, TCP / IP usw. sind C-Programme, die von Ruby verwendet werden . Ruby liefert den Kleber und die Geschäftslogik.
Welche Möglichkeiten haben Sie als Ruby-Programmierer, wenn Sie mit dieser "Langsamkeit" umgehen möchten?
Wechseln Sie zu einer schnelleren Sprache. Das ist aber mit Kosten verbunden. Es sind Kosten, die sich lohnen können. Für die meisten Webanwendungen ist die Wahl der Sprache jedoch kein relevanter Faktor, da nicht genügend Datenverkehr vorhanden ist, um die Verwendung einer schnelleren Sprache zu rechtfertigen, deren Entwicklung viel mehr kostet.
Welche Version von Ruby eignet sich am besten für eine Anwendung wie Stack Overflow, bei der die Geschwindigkeit kritisch und der Datenverkehr intensiv ist?
Andere Leute haben darauf geantwortet - JRuby, IronRuby, REE sorgen dafür, dass der Ruby-Teil Ihrer Anwendung auf Plattformen, die sich die VMs leisten können, schneller ausgeführt wird. Und da es oft nicht Ruby ist, das Langsamkeit verursacht, sondern Ihre Computersystemarchitektur und Anwendungsarchitektur, können Sie Dinge wie Datenbankreplikation, mehrere Anwendungsserver, Lastausgleich mit Reverse-Proxys, HTTP-Caching, Memcache, Ajax, clientseitiges Caching usw. Ausführen Nichts davon ist Ruby.
Schließlich kann ich nicht viele Neuigkeiten zu Ruby 2.0 finden - ich nehme an, wir sind dann ein paar Jahre davon entfernt?
Die meisten Leute warten auf Ruby 1.9.1. Ich selbst warte auf Rails 3.1 auf Ruby 1.9.1 auf JRuby.
Denken Sie zum Schluss daran, dass sich viele Entwickler für Ruby entscheiden, da dies das Programmieren im Vergleich zu anderen Sprachen angenehmer macht und Ruby with Rails es erfahrenen Webentwicklern ermöglicht, Anwendungen sehr schnell zu entwickeln.