?

Log in

Exception #7. Впечатления - Alexander Dolgin
March 17th, 2008
09:35 am

[Link]

Previous Entry Share Next Entry
Exception #7. Впечатления
Сразу хочу сказать, что это превая из конференций Exception #N, на которой я был. Кроме всего прочего, как это часто бывает, негативные стороны сразу бросаются в глаза, а позитивные воспринимаются как должное.
Сразу приятно удивило, что людей было много, причем далеко не все из них действительно используют Python/Ruby/Groovy в повседневной работе, а просто пришли послушать что-то интесное и расширить кругозор. Я так понял, что было около 300 человек. С другой стороны неприятно удивили некоторые организационные моменты: толкотня и неразбериха при получении бейджиков, начало не вовремя, некоторые доклады не укладывались в отведенное время, один докладчик просто закозлил выступление не смог прийти за заявленный доклад.
Первый доклад, на который я пошел это был "Мастер-класс по Python: Метаклассы + Дескрипторы". Было довольно интересно и хорошо изложено.
В это же время в другом зале Леша рассказывал про Smalltalk. Как я полагал, большую часть его доклада я слышал еще на наших посиделках за пивом, так что выбрал послушать что-то новое.

Следуюзщий доклад "По ту сторону ООП: PEAK-Rules и PyProtocols". Не понравилось. Очень скомкано и нечетко. В это же время должен был быть рассказ про Groovy, который я собирался посетить, но докладчик не пришел :(

Дальше был рассказ про Grails. Докладчик рассказывал живо и интересно, хотя и не всегда убедительно. На вопрос о произоводительнсти Grails/Groovy ответил, что такая как в java. На мой вопрос, декомпилировал ли он когда-нибудь Groovy байт кода ответил уклончиво. Для интересующихся
Groovy:
result = 0
myMap = ["asdf": 1 , "qwer" : 2, "sdfg" : 10]= 0
println result

и тот же код после groovyc и jad
import groovy.lang.Binding;
import groovy.lang.Script;
import org.codehaus.groovy.runtime.ScriptBytecodeAdapter;

public class test1 extends Script
{

    public test1()
    {
    }

    public test1(Binding context)
    {
        super.setBinding(context);
    }

    public static void main(String args[])
    {
        Object aobj[] = {
            test1.class, args
        };
        ScriptBytecodeAdapter.invokeMethod(org.codehaus.groovy.runtime.InvokerHelper.class, "runScript", ((Object) (aobj)));
    }

    public Object run()
    {
        java.util.Map map = ScriptBytecodeAdapter.createMap(new Object[] {
            "asdf", new Integer(1), "qwer", new Integer(2), "sdfg", new Integer(10)
        });
        java.util.Map _tmp = map;
        ScriptBytecodeAdapter.setGroovyObjectProperty(map, this, "myMap");
        Integer integer = new Integer(0);
        Integer _tmp1 = integer;
        ScriptBytecodeAdapter.setGroovyObjectProperty(integer, this, "result");
        Object aobj[] = {
            ScriptBytecodeAdapter.getGroovyObjectProperty(this, "result")
        };
        return ScriptBytecodeAdapter.invokeMethod(this, "println", ((Object) (aobj)));
    }

    public static Long __timeStamp;

    static 
    {
        Long long1;
        Long long2;
        long1 = new Long(0x118b2c76d19L);
        Long _tmp = long1;
        __timeStamp = (Long)long1;
        long2 = new Long(0x118b2c76d19L);
        Long _tmp1 = long2;
        __timeStamp = (Long)long2;
    }
}

Что-то мне подсказывает, что производительность все-таки будет отличаться, от обычного Java кода. Скорее всего, как раз это вполне допустимо, так как ядро (hibernate, spring) написано на java, а на groovy совсем немного кода. Другое дело, что ответ про производительность был неправильным.

Дальше был рассказ о том Как заставить свою лень работать. Довольно забавно: отдохнули, посмеялись. Краткое содержание: чтобы попки были чистые и сухие, надо их чистить и сушить.

После этого мы (leshau, его сотрудник Игорь и я) решили, что есть все-таки очень хочется, а обеденного перерыва нет и не предвидится, поэтому надо ковать счастье своими руками. Размер очереди в Пузату Хату сразу убедил нас пойти искать счастья в другом месте. Нашлось оно в Эль-Патио, наколько я помню название.

Вернувшись, поболтал немного в коридоре с Сергеем, которого не видел уже много лет. Он пытался "продать" идею использования .NET, но я не повелся

Последний докалад, на который мы сходили был про Jython и JRuby. Сложные впечатления. Докладчик был сотрудником платиногов спонсора. В принципе, вполне целостный и хорошо подготовленный доклад, но рассказ был как-то "без огонька". Видно, что человек этого [почти] никогда не использовал. Похоже, что к нему подошло начальство и сказало, что НАДО.

(13 comments | Leave a comment)

Comments
 
From:ext_9078
Date:March 17th, 2008 03:09 pm (UTC)
(Link)
Каюсь. В следующий раз обязательно поговорим о производительности подробней :)
From:(Anonymous)
Date:March 17th, 2008 03:26 pm (UTC)

Производительность

(Link)
Сложный вопрос... А вы когда-нить пытались посмотреть какое количество ассемблерных инструкций исполняется на одну строку C++ кода или (о боже!) на одну строку python кода? Это все мне немного напоминает войну за использование компиляторов в 60-х. По скорости я не думаю что оно будет сильно уступать PHP. К тому-же, если я правильно понимаю, в Groovy есть опциональная статическая типизация, после использования которой в критических местах Java код будет поприятней выглядеть. koder
[User Picture]
From:upstartn
Date:March 17th, 2008 03:42 pm (UTC)

Re: Производительность

(Link)
Предлагаю пречитать вот этот момент
"Скорее всего, как раз это вполне допустимо, так как ядро (hibernate, spring) написано на java, а на groovy совсем немного кода. Другое дело, что ответ про производительность был неправильным."
:)
[User Picture]
From:voituk
Date:March 18th, 2008 07:00 am (UTC)

Re: Производительность

(Link)
>> По скорости я не думаю что оно будет сильно уступать PHP
Оно совсем не будет уступать PHP :)

Да простят меня за самопиар
http://voituk.kiev.ua/2006/11/15/apachephp-vs-tomcatgroovy-v2/
[User Picture]
From:voituk
Date:March 17th, 2008 04:48 pm (UTC)
(Link)
"Не виноватая я!" (с)
На самом деле от меня мое присутствие зависело мало - меня "попали" в ДТП - прийшлось ждать ментов, оформлять протоколы и тд и тп :(

Если интересно, тут есть слайды с презентации.
http://voituk.kiev.ua/2008/03/17/exception-7-conference/

А если есть желание поговорить про Groovy - welcome :)
[User Picture]
From:upstartn
Date:March 17th, 2008 08:11 pm (UTC)
(Link)
Да, причина уважительная (

Презентация понравилась. Можно даже сказать, что приятно удивила )
[User Picture]
From:upstartn
Date:March 17th, 2008 08:11 pm (UTC)
(Link)
Спасибо
[User Picture]
From:voituk
Date:March 18th, 2008 07:01 am (UTC)
(Link)
Приятно слышать.
Иван говорил что были люди, которые приехали из других городов на Groovy - некрасиво вышло :(
From:muwlgr
Date:March 17th, 2008 07:25 pm (UTC)
(Link)
Про скриптовые языки я и сам бы рассказал кое-что,
а вот про лень бы я охотно послушал :>
Каг бы мне своевременно попасть на Exception #08 ? :>
[User Picture]
From:upstartn
Date:March 18th, 2008 07:34 pm (UTC)
(Link)
Думаю, что про лень ты тоже и сам мог бы рассказать ;)
From:dolsi
Date:March 18th, 2008 06:29 pm (UTC)
(Link)
Не нра Иль Патио
ценой
ну и все их заведения
[User Picture]
From:upstartn
Date:March 18th, 2008 07:37 pm (UTC)
(Link)
По-моему тоже дороговато, но стоять пол-часа в очереди в Пузатой Хате или искать еще чего-либо уже не хотелось
From:dolsi
Date:March 19th, 2008 02:04 pm (UTC)
(Link)
Ну, я просто в Минске тоже так хотела есть, а вокруг ничего не было, кроме 3 ильпатиевских заведений и макдональдса.
Powered by LiveJournal.com