LINUX.ORG.RU

Анонс проекта Rubinius X

 ,


0

5

15 октября Brian Shirai в блоге проекта Rubinius (альтернативная реализация Ruby) анонсировал проект Rubinius X.
Rubinius X — это экспериментальный проект по модернизации Ruby.

В анонсе Браян также указал, что Ruby — это умирающий язык. Бизнес больше не заинтересован в Ruby. Стартапы больше не хвастаются тем, что используют Ruby. Бизнес мигрирует с Ruby или начинает новые проекты на других языках. Ruby не может помочь бизнесу заинтересовать клиентов. Ruby кажется неэффективным и посредственным по сравнению с другими языками.

>>> Подробности

anonymous

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 3)

Ответ на: комментарий от special-k

Рано или поздно там окажется как раз вся нативщина) К чему этот самообман, неужели не видны тенденции)

скорее поздно, чем рано, т.к. с производительностью у скриптоты проблемки...

anonymous
()
Ответ на: комментарий от anonymous

Сегодняшний руби - это кривой набор лишних сущностей, его нужно причесать и упростить, и расстраивает, что это невозможно ввиду обратной совместимости...
Сегодняшний руби
руби

ты хотел сказать пхп

anonymous
()
Ответ на: комментарий от hoopoe

суся попала? они ж яста на руби переписали...

ню-ню, ага, попала

а еще у них, о ужас, http://susestudio.com/ на rails

anonymous
()
Ответ на: комментарий от anonymous

На самом деле, у всего-всего проблемки с масштабированием.

special-k ★★★
()

Поставить руби опять, что-ли. Perl для аутистов, PHP для бабла, пйтон для хипсторов, руби для души.

anonymous
()

Это настолько толсто, что сначала тонко, а потом снова толсто.

anonymous
()
Ответ на: комментарий от anonymous

Perl для аутистов, PHP для бабла, пйтон для хипсторов, руби для души.

Дваждую!

anonymous
()
Ответ на: комментарий от anonymous

И она тоже. Разные виды бабла, просто пахнут по-разному. Ява - свинофермой, PHP - привокзальным сортиром.

anonymous
()
Ответ на: комментарий от anonymous

«У каждого ЯВУ запах особый ...»

anonymous
()
Ответ на: комментарий от special-k

O_O

Ну а что ты удивляешься, вчерашние PHPёры, только недавно слезшие с деревьев, не в состоянии же оперировать такими основополагающими для белого человека понятиями, как лямбда, итератор, интерфейс и т.п.

anonymous
()
Ответ на: комментарий от anonymous

TCL это язык слесарей какой-то. Ничего плохого этим не имею ввиду, кстати.

anonymous
()
Ответ на: комментарий от special-k

Да упростить и причесать!

strings / frozen strings / symbols methods / blocks / procs / lambdas

f = -> { 'ok' }
f.call # => ok
f.() # => ok
f[] # => ok (sic!)
f() # NoMethodError (sic!)

module используются как namespace и/или как mixin (одна сущность используется для совершенно разных вещей)

eсли php'шник использует eval, то его нужно казнить. eсли ruby'ист использует instance/class/module_eval то это круто.

anonymous
()
Ответ на: комментарий от anonymous

Да упростить и причесать!

До уровня Io? Только скобочки и атомы, ничего лишнего. И пользователей тоже нет. Ага.

Проблема в том, что всякие шероховатости ВСЕГДА возникают во взрослом проекте по мере роста. Идеальный вылизанный язык - он всегда где-то там, в светлом будущем, примерно рядом с коммунизмом, в мире, где абсолютно разумные разработчики располагают абсолютно безграничным временем на проектирование и реализацию продукта. А в настоящем приходится выбирать меньшее из зол.

Просто Ruby достаточно хорош, чтобы им пользоваться прямо здесь и сейчас и недостаточно плох, чтобы попытки его реформирования принесли что-то хорошее, а не просто очередную волну переписывания кода с шила на мыло.

anonymous
()
Ответ на: комментарий от anonymous

FIXED

strings / frozen strings / symbols
methods / blocks / procs / lambdas

anonymous
()
Ответ на: комментарий от anonymous

procs / lambdas

Это одно и то же (алиасы)

irb(main):003:0> proc{}.class
=> Proc
irb(main):004:0> lambda{}.class
=> Proc
irb(main):005:0> (->{}).class
Проблема с блоками заключается в том, что они производительнее.

module используются как namespace и/или как mixin

И это самое крутое, что есть в руби, я считаю)

special-k ★★★
()
Ответ на: комментарий от anonymous

ЛОЛ. Знаток! В руби нет интерфейсов...

О, очередной недавно слезший с деревьев хвастается «знаниями» Руби, лол.

Дорогуша, интерфейс — основополагающее теоретическое понятие, а теоретической категории абсолютно всё равно, называется ли она в конкретном языке классом, модулем или морской свинкой. Абсолютно похрену, как она называется.

Всё ЯП находится в голове программиста, а на экране просто условные закорючки, чтобы их мог понять транслятор.

anonymous
()
Ответ на: комментарий от anonymous

Дорогуша прочитай сначала это
http://ru.wikipedia.org/wiki/Интерфейс_(объектно-ориентированное_программиров...
А потом скажи где интерфейсы в рубях? Модули скорее это миксины/неймспейсы, а классы это классы.

anonymous
()
Ответ на: комментарий от special-k

procs / lambdas

Это одно и то же (алиасы)

Wow. Just wow.

anonymous
()
Ответ на: комментарий от anonymous

ок, хелперы
Собственно.. их и заменили на более универсальный ->, позволяющий устанавливать значения по-умолчанию.

special-k ★★★
()
Ответ на: комментарий от anonymous

Тебе уже сказали, что интерфейс - это абстракция ООП. Что по твоей же ссылке наверняка тоже написано. Как они называются (интерфейсы, протоколы, ещё как-нибудь) и как реализуются в языке - это дело десятое.

anonymous
()
Ответ на: комментарий от anonymous

А потом скажи где интерфейсы в рубях?

Внезапно, Enumerable — это совокупность методов, образующих осмысленный и логически завершенный интерфейс. Любой класс может просто взять и реализовать этот интерфейс. Без всяких баззвордов и танцев вокруг транслятора.

Первая строчка по твоей ссылке: «семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг». Как говорится, ой.

Не имею привычки давать ссылки на википедию, а то вот тоже куда-нибудь бы сослася. Куда-нибудь в район утиной типизации, например.

Модули скорее это миксины/неймспейсы, а классы это классы.

Если ты научишься за баззвордами видеть суть, жизнь станет легче.

anonymous
()
Ответ на: комментарий от special-k

АХАХА! Да ты просто мега «знаток» руби!

Собственно.. их и заменили на более универсальный ->, позволяющий устанавливать значения по-умолчанию.

1.9.3p448 :022 > f = proc do |s='кури мануал'| puts s end
 => #<Proc:0x9cc8784@(irb):22>

1.9.3p448 :023 > f.call
кури мануал
 => nil 

1.9.3p448 :024 > f = lambda do |s='кури мануал'| puts s end
 => #<Proc:0x9ccad7c@(irb):24 (lambda)> 

1.9.3p448 :025 > f.call
кури мануал
 => nil 
anonymous
()
Ответ на: комментарий от anonymous

Если ты научишься за баззвордами видеть суть, жизнь станет легче.

FIXED

Когда ты научишься отличать интерфейс и примесь в контексте ООП, жизнь станет легче.

anonymous
()
Ответ на: комментарий от anonymous

хм круто, не знал, или забыл, бывает, и на солнце есть пятна:)

Это не отменяет того, что ваши претензии к «разным сущностям» - пустой треп.

special-k ★★★
()
Ответ на: комментарий от special-k

special-k нуб и опозорился.

Но ваще всю эту херню с разными по свойствам Proc-ами неплохо было бы как-то формализовать с самого начала.

anonymous
()
Ответ на: комментарий от special-k

Да все бы неплохо сделать с самого начала..

Я б прямо с ДНК хомо сапиенса начал, да.

anonymous
()
Ответ на: комментарий от special-k

Мои знания практические, а не из ватхабростатей ;)

Обычно так говнокодеры говорят...

anonymous
()
Ответ на: комментарий от anonymous
~/Загрузки$ wget https://github.com/rails/rails/archive/master.zip
~/Загрузки$ unzip master.zip 
~/Загрузки$ cd rails-master/
~/Загрузки/rails-master$ grep instance_eval -r . | wc -l
35
~/Загрузки/rails-master$ grep class_eval -r . | wc -l
173
~/Загрузки/rails-master$ grep module_eval -r . | wc -l
49
anonymous
()
Ответ на: комментарий от Deleted

Почему тогда рубисты везде/всегда это юзают, а на php'шников смотрят как на говнокодеров?

~/Загрузки$ wget https://github.com/rails/rails/archive/master.zip
~/Загрузки$ unzip master.zip 
~/Загрузки$ cd rails-master/
~/Загрузки/rails-master$ grep instance_eval -r . | wc -l
35
~/Загрузки/rails-master$ grep class_eval -r . | wc -l
173
~/Загрузки/rails-master$ grep module_eval -r . | wc -l
49
$ wget https://github.com/symfony/symfony/archive/master.zip
$ unzip master.zip 
$ grep 'eval(' -r symfony-master/ | wc -l
9

похоже что ruby'сты говнокодеры, а не php'шники

anonymous
()
Ответ на: комментарий от anonymous

Ты так говоришь, словно бы раз пхпшники говнокодеры больше нигде их быть не может.

С разъяснениями, к сожалению, не подскажу. Не знаю зачем они его используют, я не использую, но я и не пишу ничего такого.

Deleted
()

Адекватные разработчики осознают, что динамическая типизация в Руби - это не плюс, а минус.

iVS ★★★★★
()
Ответ на: комментарий от anonymous

Не видел ни одного рубиста с ЧСВ меньше чем 9000.

Как это соотносится с недостатками/достоинствами языка?

iVS ★★★★★
()
Ответ на: комментарий от anonymous

Адекватные разработчики осознают

адекватных рубистов нет в природе

Разработчики != рубисты. Оттого и адекватные, что не жалуют Руби.

iVS ★★★★★
()
Ответ на: комментарий от Etch

Умирающий. Будут похоронены в одном фамильном склепе, где ожидается быть вся скриптота рано или поздно.

'Скриптота' еще всех нас переживет, не переживай

anonymous
()
Ответ на: комментарий от anonymous

eсли php'шник использует eval, то его нужно казнить
$ grep 'eval(' -r symfony-master/ | wc -l
9

Вывод: symfony написана говнокодерами, которых нужно казнить. Пхпшники смотрят на друг-друга как на говнокодеров, которых нужно казнить => каждый пхпшник говнокодер по мнению пхпшников. Как на это смотреть всем остальным?)

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.