LINUX.ORG.RU

Вышла бета компилятора Ruby для .NET


0

0

Стараниями австралийского университета вышла бета компилятора Ruby для .NET

Данная бета проходит 871 тест из комплекта "samples/test.rb" ruby 1.8.2.

Думаю теперь логично подождать рельсы, которые будут имхо надгробным камнем для ASP.NET.

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



Проверено: Shaman007 ()

Как бы рельсы не стали надгробным камнем для самого Ruby ....

robot12 ★★★★★
()

Компилятора?

Оригинальный Ruby интерпретируемый язык, если Ruby.NET преобразуется (назвать это компиляцией язык не поворачивается) хотя бы в bytecode, то это надгробный камень для оригинального Ruby. Наверное это всё же интерпретатор Ruby на каком-нибудь C#. Тормозить будет, конечно, но скорость разработки на Ruby компенсирует.

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

We are pleased to announce the preliminary Beta release of the Gardens Point Ruby.NET compiler. Note: this is not just a Ruby/.NET bridge, nor a Ruby Interpreter implemented on .NET, but a true .NET compiler.

anonymous
()

>Стараниями австралийского университета

Страданиями австралийского университета...

r ★★★★★
()

>Думаю теперь логично подождать рельсы, которые будут имхо надгробным камнем для ASP.NET.

Сначала это нужно объяснить ASN.NET хостерам и, особенно, девелоперам, которые кроме VB.NET или C# (в лучшем случае), ничего не знают и знать не хотят.

plumbum
()
Ответ на: Компилятора? от Camel

> Оригинальный Ruby интерпретируемый язык, если Ruby.NET преобразуется (назвать это компиляцией язык не поворачивается) хотя бы в bytecode, то это надгробный камень для оригинального Ruby.

Ась? Вообще всякие там перлы и питоны уже давно компилятся на лету в байткод, который потом интерпретируется... не знаю, что там с руби (он что, поэтому такой тормозной?), но и с ним можно сделать то же самое без особых заморочек. Кстати, ActiveState Perl.NET и IronPython видел?

Вопрос по сабжу тем, кто видел - что там с юникодом? Так же, как в обычном руби, или все строки юникодные без костылей?

int19h ★★★★
()

>Думаю теперь логично подождать рельсы, которые будут имхо надгробным камнем для ASP.NET

IMHO: Чтобы так говорить нужно, как минимум, иметь хотябы поверхностное представление об ASP.NET :)

anonymous
()

Рельсы + ASP.NET это может быть и составит конкуренцию C#/VB но ни как не убъет последние. Поскольку скорость разработки для ASP.NET 2.0 впечатляет. ИМХО не сравнима даже с ПХП(!).

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

Вообще-то скорость разработки на рельсах с пхп тоже не сравнима.

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

Сравнивать Ruby с Perl не правильно, а с юникодом в Ruby никаких проблем не замечал.

los_nikos ★★★★★
()

> надгробным камнем для ASP.NET

да здравствует M$ .NET ???

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

Некрофилы не захотят знать что такое Ruby и что такое рельсы, пока им не скажут в майкрософт что это круто. Работаю с дотнегчегами - ребята явно того - ненавидят опенсорс и верят в мировое господство дотнета. ASP.NET популярен тем что там можно и обезьяну научить ставить контролы на форму и описать пару событий, а рельсы требуют нормальных знаний веб технологий и нормальной подготовки.

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

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

Вписывать текстом контролы обезъяну тоже можно научить, даже такую как ты. Разница только во временных затратах на "перетащить" и вписать 10 строк кода. Ты это называешь интеллектуальной работой?

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

Сходи лучше поработай, чем глаза выпучивать.

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

>"перетащить" и вписать 10 строк кода написать 1 строку вместо перетащить, и вписать 5 строк вместо 10 это быстрее.

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

> если эта крутость будет подтверждена временем и хорошими проектами. Через год уже должна быть подтверждена. А потом посмотрим, как дотнетчиги в панике начнут читать руби (только вот мозгов не у всех хватит его понять).

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

> если эта крутость будет подтверждена временем и хорошими проектами. Через год уже должна быть подтверждена. А потом посмотрим, как дотнетчиги в панике начнут читать руби (только вот мозгов не у всех хватит его понять).

1. Говорим за себя и не обобщаем собственные интеллектуальные способности со способностями остальных.

2. Никто не заставляет юзать ViewState и прочие отягощяющие страницы вещи, в конце концов можно наследовать свои страницы и контролы от коробочных и получается оч. даже неплохо.

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

> А потом думать, почему страница такая тяжелая, и почему все так криво выглядит.

Как относится к ASP.NET или Ruby. Или не хватает ума (грамотности) настроить/выбрать/сделать свои контролы?

Если делаешь сайт с особым дизайном нужно ковыряться в HTML'е в любом случае. Если пишешь здоровую бухгалтерию где всё должно быть single-look-and-feel, то я не хочу заниматься х##ёй и каждый раз копи-пейстить один и тот же код, гораздо легче 10 тысяч раз перетащить иконку.

> Через год уже должна быть подтверждена. А потом посмотрим, как дотнетчиги в панике начнут читать руби (только вот мозгов не у всех хватит его понять).

Обосновать можешь?

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

>Если делаешь сайт с особым дизайном нужно ковыряться в HTML'е в любом случае И выбравший ASP.NET будет ковыряться и материться, а выбравший Rails спокойно поправит вью и будет работать дальше.

>то я не хочу заниматься х##ёй и каждый раз копи-пейстить один и тот же код, гораздо легче 10 тысяч раз перетащить иконку. А гораздо проще запустить скрипт на руби который сам всё расставит (см. scaffold). Хотя вроде даже в asp.net можно сделать автогенерацию контролов из конфигов (конечно же через то самое место...)

>Обосновать можешь? Время покажет, и вообще это уже вечные споры. Если в мире останется только MS то будет аспдотнет, если только опенсорс, то rails.

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

> И выбравший ASP.NET будет ковыряться и материться, а выбравший Rails спокойно поправит вью и будет работать дальше.

Возможно. Но причём здесь мозги разработчика мне лично не понятно. Тем более уже получается, что на ASP программировать труднее.

Автогенерацию комментировать не буду, поскольку ни разу не пользовался. Хотя как скрипт может сгенерить картинку описанную на бумаге (в ворде/openoffice/etc.) мне не понятно, всё-равно это человек должен делать.

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

>Тем более уже получается, что на ASP программировать труднее.

Правильнее сказать - непродуктивнее. Т.е. вначале этакая легкость, а потом, когда приходит время делать серьезное (по дизайну) приложение, то здесь начинается множество лишней работы (от отчаяния начинается костылестроение в виде лице контролов).

> Хотя как скрипт может сгенерить картинку описанную на бумаге (в ворде/openoffice/etc.) мне не понятно

Как я понял вам требовалось сделать 10 тысяч контролов на форме? Или все же веб приложение с тонким дизайном? (опять же ковыряйте HTML и ругайтесь на контролы)

И не стоит забывать про приемущества Rails - бесплатность и кроссплатформенность.

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

>We are pleased to announce the preliminary Beta release of the Gardens Point Ruby.NET compiler. Note: this is not just a Ruby/.NET bridge, nor a Ruby Interpreter implemented on .NET, but a true .NET compiler.

Гут. Интересно, как там дела у jRuby?

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

>Данный форум написан с использованием jsp. Rails реально круче? Чем?

Скоростью разработки. Всё благодаря четким принципам и концепциям, которыми надо руководствоваться при написании Rails приложений: DRY , MVC , OR/M

А форум написан с использванием JSP вероятно потому что не было очень ценно время разработки, тогда не было Ruby on rails, афтары форума хорошо обучены на jsp и не имеют опыта работы с ruby on rails, производительность играла важную роль, а денег на дополнительные кластеры не было.

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

Вопрос по RoR:
Слышал, что работа с объектами Базы Данных страдает от
"N+1 SELECT" проблемы. Как я понял, RoR с объектами
базы данных работают исключительно через прокси объекты
и просто не могут считать список объектов одним запросом.
Это правда?

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

>работают исключительно через прокси объекты

Вы всегда можете выполнять чистые SQL запросы (find_by_sql), как вы делали в РНР или в ASP.NET, однако это нужно делать только в тех случаях, если без этого больше никак не обойтись, т.к. это нарушет принципы MVC и DRY. Вообще можно работать с БД через SQL драйвер, но тогда лучше писать на чистом Ruby, т.к. это идет в разрез с технологией.

> страдает от "N+1 SELECT" проблемы.

Если это то, о чем я подумал, то здесь вам поможет precaching работает он примерно так:

Post.find(:all, :include => [:author, :comments])

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

Спасибо за ответ.
>как вы делали в РНР или в ASP.NET...
Я вообще-то на яве :) хотя это и не важно в данном контексте.
>Если это то, о чем я подумал...
Пример "N+1 SELECT" проблемы:
Есть таблица компаний и есть таблица сотрудников. В компании
есть ссылка на директора, который также является сотрудником.
Надо вывести определённый список компаний состоящий из названия
компании и имени директора ( глазное, чтобы запрос шёл по 2ум
и более таблицам ). Если компаний N то сколько запросов
к базе данных сгенерирует RoR программа?
Где-то среди дискусий о RoR против Grails прочитал, что
RoR за один запрос данных не прочитает. Так ли это?

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

Если бы даже LOR был написан на рябе - пришлось бы ребятам арендовать кластер типа IBM BlueGene чтоб хоть как то шевелилось!

PS:
Ruby был сделан для того чтоб Java казалась быстрой!(С)Мой:)

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

Т.е. в оригинале мы имеем запрос вида

Select company.*,person.* where company.chief_id=person.id

Допустим у нас есть две модели - Company и Person после установки связи 1:1 можно делать следующий запрос

for company in Companies.find(:all) { puts company.chief.name }

В данном случае она за один запрос все не прочитает, а при каждой итерации будет делать SELECT * FROM person where id=..

Но preloading, описанный мной выше позволяет сделать все за 1 запрос

for company in Companies.find(:all,:include => :chief) { puts company.chief.name }

Здесь все выполнится за один запрос.

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

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

prelaoding = precaching?
Сразу извиняюсь, я в Руби (Раби?) не шарю, так мне тяжеловато в
синтаксисе приведённого примера разбираться. Если я правильно
понял ,то идея заключается в том, что бы сначала одним запросом
считать всех нужных Сотрудников, а потом уже отдельно считать
компании. А связи между считанными Компаниями и Сотрудниками
установит сам RoR так как все необходимые сотрудники уже будут в
кеше?
<offtopic topic="hibernate" comments=":-)">
На hibernate при считывании при помощи HQL объекты вроде
как не попадают в кэш. Можно ли как то провернуть похожую
афёру?
</offtopic>

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

>prelaoding = precaching?

Прости, второй термин не применим в данном контексте. Это называется прелоадинг.

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

Тогда я не понял что ты хочишь. Этот запрос получает все компании и их директоров. Тебе нужно список сотрудников + директоров с компаниями? Устанавливаешь связь 1:М и прелоадингом у тебя к каждой компании загрузится и директор и список сотрудников

>А связи между считанными Компаниями и Сотрудниками установит сам RoR

Связи описываются в моделе, типа так

class Company < ActiveRecord::Base

has_one :chief, :class_name => "Person", :foreign_key => "chief_id"

have_many :peoples, class_name =>"Person"

end

anonymous
()

Просто ахтунг! МОНО похоже никогда не станет пригодным:

./rc.exe test.rb

** (./rc.exe:3962): WARNING **: Missing member get_EndOfStream in type StreamReader, assembly /usr/lib/mono/2.0/mscorlib.dll Unhandled Exception: System.MissingMethodException: Method not found: 'System.IO.StreamReader.get_EndOfStream'. in <0x00000> <unknown method> in <0x000c7> Ruby.IO:rb_io_getline_fast (Ruby.IO file, Char rs) in <0x00038> Ruby.IO:rb_io_gets (System.Object io) in (wrapper delegate-invoke) System.MulticastDelegate:invoke_String_object (object) in <0x0001a> Ruby.Compiler.Scanner:lex_getline () in <0x00051> Ruby.Compiler.Scanner:nextc () in <0x001e1> Ruby.Compiler.Scanner:yylex () in <0x00186> gppg.ShiftReduceParser`1[Ruby.Compiler.ValueType]:Parse () in <0x0003a> Ruby.Compiler.Parser:ParseInput (System.String f, Int32 line) in <0x00065> Ruby.Compiler.Parser:ParseFile (System.String f, Ruby.IO file, Int32 start) in <0x0010f> Ruby.File:load_file (System.String fname, Boolean xflag, System.Collections.Generic.List`1 more_options) in <0x01234> Ruby.Compiler.RubyMain:proc_options (Int32 first, System.String[] args) in <0x0002b> Ruby.Compiler.RubyMain:process_options () in <0x00010> Ruby.Compiler.RubyMain:Main (System.String[] args)

Oceanborn
() автор топика

Глупое высказывание про надгробный камень для ASP.NET. Оно выдает полное не знание в данной области. )))

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

Что то под виндой даже лабораторную не может правильно выполнить :( А на цикле от 1 до 100000 через интерпритатор работает в 2 раза быстрее. Эх, не оправдали мои ожидания, овстролийчеги.

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

Угу полное... у тех, кто не знает, что незнание пишется вместе...

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

>А форум написан с использванием JSP вероятно потому что не было очень ценно время разработки, тогда не было Ruby on rails, афтары форума хорошо обучены на jsp и не имеют опыта работы с ruby on rails, производительность играла важную роль, а денег на дополнительные кластеры не было.

Это, что теперь, чтоб веб форум поднять надо кластер собирать??

vyv ★★★
()

> Чтобы так говорить нужно, как минимум, иметь хотябы поверхностное представление об ASP.NET :)

100%. Только этот смайлег лишний.

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

Да имею я представление. Единственное что может обломать дык это биомассы быдлокодеров которые пишут сайты клацая мышью в студии.

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

Вот поэтому я против русских книг про Ruby и Ruby on Rails - хорошая защита от быдла.

А ведь еще лезут тут и кричат какие они умные, что смогли контролы на форму поместить и обработчики событий описать. А потом их спрашиваешь элементарные вопросы, типа - а ты знаешь что делает __doPostBack() так они сразу начинают пускать слюни и говорить что это знать не надо. Дотнет - путь от человека к обезьяне. Сначала произошло отупение населения от венды, теперь происходит отупение программистов от дотнета.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.