Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Извините что сумбурно, но может кто-то вместо того, что бы писать розовыми буквами слово Ruby напишет сравнительную характеристику производительности языков программирования?
Программисты на PHP4, не знают ничего о них и будут говорить вам, что можно просто печатать(ошибки) на экран или использовать их собственный «супер-пупер» класс для обслуживания ошибок.
в то время, как знак «!» используется для методов, делающих нечто необратимое, на подобии удаления записи из базы данных, отщепления последнего символа из строки и т.п.
мы не сможем написать программу в одну строчку.
irb(main):009:0> class A; def test; 'test'; end; end
=> nil
irb(main):010:0> A.new.test
=> "test"
Ruby не позволяет множественного наследования.
смотрите как можно сравнить по-забавнее: ни один самый популярный проект в одной любой сфере не неписан на Ruby. :)
А то что писать на РОРе такие проекты как twitter - сами девелоперы twitter-а же и говорят "да ну его, надо мигрировать"... +)
Можно конечно писать на ROR+C, но при этом опять таки непонятно - почему не Питон+С, ведь это все же будет быстрее =).
Тот уровень абстракции который в Руби выше чем в Питоне - не даёт таких преимуществ, которые можно было бы сказать "дааа потеря в скорости стоит того!"
я сейчас и вовсе собираюсь начать проект http-сервера на Си который будет выстраивать MVC/Event фреймворк для пользовательского питоновского кода.
Большей частью питон можно разогнать до высоких скоростей, переписывая стандартные модули (которые в большинстве своём на самом питоне) - на Си.
Так за что платятся потраченные такты Ruby? За возможность написать 5.times.. вместо for i in range(5)..?
считаете что это стоит снижения проивзодительности? :)
Программисты старой закалки иногда до сих пор любят даже строгую типизацию. По той простой причине - что это наводит абсолютный порядок.
Да и особого смысла в этом - нет! Ну какоооой смысл? писать 5.yahoo(6) вместо yahoo(5,6)? Это не даёт преимуществ в логике. Это не даёт преимеществ в скорости разработки.
На счет девелоперов C/C++ - вы очень круто ошибаетесь.
Я вам сразу 2 касяка скажу: например вы писали, писали свою программу и дописали к числам метод buff(). А в следующей версии ruby этот метод появился нативный. Что делать? Если вы оставите свой buff() то любой новый программист взглянув на ваш код - будет думать что buff() делает то что делает нативный buff(). Понимаете косяк?
Мы не о рор, а о поддержке юникода руби.
Так вот, а теперь подумайте о сфере применения Ruby, кроме как для развлечения? Конкурировать он может разве что с питоном. Но как вы думаее, почему выберут питон? По причине, которую я описал первой и потому, что питон просто более универсален и используется сейчас практически везде, и потому что интерпретаторы питона есть практически для каждой ОС (в т.ч. и мобильной).
if is_string(variable) ...
else if is_numeric(variable) ...
else if is_object(variable) ...
Numeric.do_something = function() { ... }
String.do_something = function() { ... }
MyClass.do_something = function() { ... }
variable.do_something()
str.lower().replace('a','b').explode(' ')explode(strreplace('a','b',strlower(str)), ' ')
10 причин для перехода на Ruby