LINUX.ORG.RU

Разработчики JRuby переходят на работу в Sun


0

0

Charles Nutter и Thomas Enebo - разработчики JRuby с этого месяца работают на Sun Microsystems.

Подразумевается, что они продолжат работу над своим проектом и с помощью специалистов по JVM смогут существенно повысить скорость и стабильность JRuby,которые , как известно, сейчас ниже чем у оригинального интепретатора.Заявляется что не будет вноситься никаких изменений в лицензию данного проекта(CPL/GPL/LGPL).

JRuby - интерпретатор языка Ruby написанный на java. Сайт проекта http://jruby.codehaus.org/Home

Комментарий с другой стороны http://www.tbray.org/ongoing/When/200...

>>> Блог разработчика



Проверено: Shaman007 ()
Ответ на: комментарий от Linfan

> Распарсь исходники на sk1.sf.net.

Проект вроде неплохой, правда интересно будет как оно по производительности. Насколько я понял, это связка Tcl + Python? А зачем такое странное сочетание?

За Tcl респект.

> Доростешь до зрелого возраста, напишешь шо нить похожее на Руби (в свободное от работы время, а не за деньги кастомера), вот тогда и поймешь несостоятельность своего нынешнего мЫшленья.

За несостоятельное высказывание ...

Теперь расставим все точки над self-ом. Итак, ты сказал, что:

> self - это хендл объекта? Или ты предлагаешь усе что есть снабжать хенделом автоматом?

Так вот. Из твоего суждения следует, что в Питоне бывают случаи, когда метод не снабжается хендлером? Так ведь?

А нифига не так! Приведу пример. Есть метод:

class Test:

__def echo_some(text):

____puts text

Так вот, в манах по Питону написано, что первый аргумент должен быть по-любому self. И в выше приведенном коде в text запихнется хендлер на объкт.

Таким образом, Питон всегда хочет, чтобы ты ему указал этот self, не зависимо, от того, будешь ты его использовать или нет. Он всегда ожидает первым аргументом self. Так _нафига_такая_хрень? Ведь все равно передается всегда (ну разве, кроме случаев, когда аргументов других вообще не будет).

Или может это чтобы питоновцы не забыли, что ссылка на себя называется self?

Повторюсь, это явный BAD. И если вы можете сказать что-то конструктивное, отвечайте на пост, а не апелируйте к своим достижениям.

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

Значить, так. Не нравитцоо self - не юзай Питон. :) Мне так пофиг. Более того - self позволяет явно видеть филды объекта, когда педалишь. Снижает процент ошибок и делает код более читабельным. К сожалению, для Питона нет редакторов а-ля IDEA, которые бы "держали" структуру проекта. WingIDE вроде бы приближается, но еще пока не то. Поэтому, лично для меня self - весчь пользительная. Может в следующих версиях он и станет опциональным как в джаве this - посмотрим.

>Проект вроде неплохой, правда интересно будет как оно по производительности. Насколько я понял, это связка Tcl + Python? А зачем такое странное сочетание?

Проект не привязан к мегатулкитам Gtk/Gnome Qt/KDE. В результате - прога жрет только 20М памяти и достаточно шустрая (портабельность само собой). Можно было бы и напрямую через Xt - но это уж совсем нипадеццки :) Тем паче, что многие вещи пришлось бы самому выпиливать. Поэтому весь интерфейс - 100% тикль. Ну а изюминку, которую наш тим привнес - темезация тиклевого интерфейса на png-шных битмапах (поэтому очень похоже на кеды).

Но основное - канва, на которой идет работа - это не TkCanvas. Это чистейшей воды иксовый GC (ниже уже некуда). Поэтому Питон на ней и отжигает быстрее, чем Inkscape или XaraLX через кучу промежуточных layer'ов. На данный момент (то, что на SF в сорцах) графика отрисовывается только через Xlib функции, но сейчас работаю над дополнительной отрисовкой через XRender и glitz - это позволит заюзать альфаканал и антиалиасинг через аппаратное ускорение (такого в векторных редакторах еще не встречал). Если интересно - заходь сюда http://www.linuxgraphics.ru/

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

>Может в следующих версиях он и станет опциональным как в джаве this - посмотрим.

Дык никто не против неопциональности. Ну строго и хрен с ним. Но в списке аргументов - это ж маразм.

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

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

Да, вот это реально интересно. Я сейчас как раз начал учить Tcl/Tk и единственное, что отпугивало, так как раз не очень красивый вид Tk.

За сцылку и полезную инфу, сенкс :). Я раньше больше под Веб писал. Сейчас хочу пощупать десктопные апликухи, буду ковырять и смотреть как оно в деле.

Удачи вам в начинаниях :). Надеюсь, что на Линуксе появится хороший векторный редактор, лучше Inkscape'а :).

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

> Так вот, в манах по Питону написано, что первый аргумент должен быть по-любому self.

Вызывающе неверная информация. Ты можешь назвать его хоть pipiska666.

А если ты не понял, зачем это, то уткнись и внемли:

1. Чтобы использовать методы отдельно от объекта.

2. Чтобы функцию можно было прикрепить к классу и сделать методом.

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

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

>А если ты не понял, зачем это, то уткнись и внемли: >1. Чтобы использовать методы отдельно от объекта. >2. Чтобы функцию можно было прикрепить к классу и сделать методом. >А теперь утруди свой мозолистый девичий мозг и роди мне аналог этого в твоем раби. Можешь спросить у Мацумото, он тоже не знает.

На самом деле вы не совсем правы. Метод можно сохранить как экземпляр класса Method и пользовать отдельно. Вы это имели в виду ?

На вторую задачу тоже можно что-то придумать, сохранять например, метод в поле класса в виде экземпляра Proc, передавать ему при сохранении ссылку на экземпляр этого же класса, а потом вызывать .call(). это, конечно, будет выглядеть не так изящно как вызов простого метода. Но! Но... Как часто вам нужны бывают трюки типа присоединить-отсоединить метод? Это не такая уж общая практика. Так стоило было корежить создание обычного метода, ради этих двух фич пользуемых раз в сто лет? Неужели нельзя было бы скрывать передачу ссылки на self при обычной работе, но дать возможность изменить это поведение если понадобится ?

e-max
() автор топика
Ответ на: комментарий от e-max

> Как часто вам нужны бывают трюки типа присоединить-отсоединить метод? Это не такая уж общая практика.

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

ero-sennin ★★
()
Ответ на: комментарий от e-max

> Неужели нельзя было бы скрывать передачу ссылки на self при обычной работе, но дать возможность изменить это поведение если понадобится ?

Нельзя, ибо KISS инивалнует. К тому же эта плюшка здорово отпугивает от языка всяких красноглазеков, которые за непривычным синтаксисом не видят души языка. :P А мне она нравится, потому что в ней есть хакерский дух, как и в отступах. :)

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

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

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

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

Смешно думать, что вот тут сейчас назовут мегафичу без которой никак нельзя, и которой нет в руби и отсутствие которой мы умудрялись не замечать столько времени. :) Тоже самое и про питон можно сказать.

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

Ну примерно об этом я и написал парой постов выше Ж)

Разница во вкусах. Рубиисты любят комфорт. А он отпугивает всяких хм... мазохистов ;), которые за всеми поцелуйчиками/KISS'ами, не могут разглядеть хакерский дух :)

e-max
() автор топика
Ответ на: комментарий от e-max

> Метод можно сохранить как экземпляр класса Method и пользовать отдельно. Вы это имели в виду ?

Бугога. Ты не знал, что в питоне любой метод - сам по себе объект, и не надо никакого фарса с завертыванием его в объект класса Method, как в твоем Самом Обектно Ориентированном Языке В Мире По Имени раби?

Но нет, я не это имел в виду. В Питоне ты можешь из функции метода в одно касание сделать функцию не-метод, принимающую первым аргументом некий объект. Затем передавать ей разные объекты и иметь счастье. Симметричного ответа раби не жду? т. к. не имею возможности сидеть в ожидании у монитора до самого пробуждения Ктулху. Мир.

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

>> Так вот, в манах по Питону написано, что первый аргумент должен быть по-любому self.

> Вызывающе неверная информация. Ты можешь назвать его хоть pipiska666.

Слушай, придурок. Если ты не можешь внимательно прочитать, то не пиши на форумах. Я имел ввиду не название, а именно смысл. Тоесть первым объектом должен идти self, а как он будет называться, глубоко насрать.

Вот кусок кода из моего поста выше.

class Test:

__def echo_some(text):

____puts text

Там же я внятным языком написал, почему self не нужен в _ОБЪЯВЛЕНИИ_ метода. Любому человеку понятно, что внутри метода self нужен. Если твой мозк не можешь понять, что в ____объявлении____ self лишний(потому что объявлять его нужно в принудительном порядке иначе будет перекос), то выводы сделай сам.

> 2. Чтобы функцию можно было прикрепить к классу и сделать методом.

Вот это кальцо реализуется как минимум двумя способами. Не нужно никаких хреней, что писал e-max выше.

а) Простой include ModuleName - подключает все методы из нужного тебе модуля. Это стандартный способ. Но подключает все. Остановись, не строчи свой ответ, дочитай пост до конца.

б) а вот, то что хочет твой плавящийся от возбуждения мозк:

def method

__self.outer_method = Class.need_method

end

Так что Мацумото знает, а ты тупая скотино, точно не знаешь.

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

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

Зачет!

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