Dlaczego Ruby jest uważana za powolną?
Ponieważ jeśli uruchomisz typowe testy porównawcze między Ruby i innymi językami, Ruby przegrywa.
Nie uważam, aby Ruby była powolna, ale z drugiej strony po prostu używam jej do tworzenia prostych aplikacji CRUD i blogów firmowych. Jakie projekty muszę wykonać, zanim uzmysłowię sobie, że Ruby robi się wolna? A może ta spowolnienie jest czymś, co wpływa na wszystkie języki programowania?
Ruby prawdopodobnie nie posłużyłby ci dobrze w pisaniu aplikacji do cyfrowego przetwarzania sygnałów w czasie rzeczywistym lub jakiegokolwiek innego systemu kontroli w czasie rzeczywistym. Ruby (przy dzisiejszych maszynach wirtualnych) prawdopodobnie dusiłby się na komputerze o ograniczonych zasobach, takim jak smartfony.
Pamiętaj, że większość przetwarzania w twoich aplikacjach internetowych jest faktycznie wykonywana przez oprogramowanie opracowane w C. np. Apache, Thin, Nginx, SQLite, MySQL, PostgreSQL, wiele bibliotek parsujących, RMagick, TCP / IP itp. To programy C używane przez Ruby . Ruby zapewnia klej i logikę biznesową.
Jakie masz opcje jako programista Ruby, jeśli chcesz poradzić sobie z tą „powolnością”?
Przełącz na szybszy język. Ale to pociąga za sobą koszty. Jest to koszt, który może być tego wart. Jednak w przypadku większości aplikacji internetowych wybór języka nie ma znaczenia, ponieważ ruch jest zbyt mały, aby usprawnić użycie szybszego języka, którego opracowanie kosztuje znacznie więcej.
Która wersja Ruby najlepiej pasuje do aplikacji takich jak Przepełnienie stosu, w których prędkość jest krytyczna, a natężenie ruchu jest duże?
Inni ludzie odpowiedzieli na to pytanie - JRuby, IronRuby, REE sprawią, że Ruby będzie częścią twojej aplikacji działającą szybciej na platformach, na które stać Cię na maszyny wirtualne. A ponieważ często to nie Ruby powoduje spowolnienie, ale architektura systemu komputerowego i architektura aplikacji, możesz robić takie rzeczy, jak replikacja bazy danych, wiele serwerów aplikacji, równoważenie obciążenia z odwrotnymi serwerami proxy, buforowanie HTTP, memcache, Ajax, buforowanie po stronie klienta itp. , Żadna z tych rzeczy nie jest Ruby.
Wreszcie, nie mogę znaleźć wielu wiadomości na temat Ruby 2.0 - Rozumiem, że od tego czasu dzieli nas już dobre kilka lat?
Większość ludzi czeka na Ruby 1.9.1. Sam czekam na Rails 3.1 na Ruby 1.9.1 na JRuby.
Na koniec pamiętaj, że wielu programistów wybiera Ruby, ponieważ sprawia, że programowanie jest przyjemniejsze w porównaniu z innymi językami, a także dlatego, że Ruby with Rails umożliwia wykwalifikowanym programistom bardzo szybkie tworzenie aplikacji.