НемерлиВеб - что плохо
От: Аноним  
Дата: 07.10.13 16:48
Оценка:
1. Практически не возможна отладка.
2. Слишком много кода.
3. Низкая производительность и скорость компиляции, на небольшом сайтике это будут минуты.
Re: НемерлиВеб - что плохо
От: _NN_ www.nemerleweb.com
Дата: 07.10.13 18:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>1. Практически не возможна отладка.

Что подразумевается ?
В планах есть создание sourcemap
И тогда будет удобней.

А>2. Слишком много кода.

Никто не заявлял о супер оптимальности кода.
Есть что улучшить конечно, но важнее для начала, чтобы работал функционал.
А то так дойдет, что проще писать на голом JS, ведь даже TypeScript и CoffeeScript генерируют "лишний" код.

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

"Низкая производительность" кого ?
Кода Nemerle или кода JS ?
Есть сейчас небольшая недоработка, что нельзя включать релиз оптимизации.

Скорость самой компиляции , это проблема самого компилятора. Увы тут NemerleWeb ничего решать не может.

Все можно улучшить, было бы достаточно времени и желания.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: НемерлиВеб - что плохо
От: ionoy Эстония www.ammyui.com
Дата: 08.10.13 06:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>1. Практически не возможна отладка.

Да, на данный момент отладка возможна только из браузера.

А>2. Слишком много кода.

Генерируемого? Кода многовато, особенно, если нужно эмулировать goto. В остальном вроде как должно быть терпимо.

Мы транслируем выхлоп компилятора перед самой конвертацией в IL. Первоначально был вариант транслировать на уровне PExpr, но толку от этого было мало, а проблем хоть отбавляй.

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

Низкая производительность конечного приложения? Можете привести пример?
Насчёт компиляции, то тут врядли получится сильно оптимизировать. Но про минуту вы, конечно, загнули. Сейчас первая сборка сэмплов может длиться пару минут, потому что собирается проект NemerleWeb.TypedJS. Там лежат TypeScript файлы для большинства популярных яваскрипт библиотек. Их все нужно конвертировать в Немерле код, это и занимает львиную часть времени. Последующие компиляции вполне укладываются в 5-10 секунд, в зависимости от размера проекта.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re: НемерлиВеб - что плохо
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.10.13 12:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>1. Практически не возможна отладка.


+1

Тут бы попробовать задействовать Source Map.

А>2. Слишком много кода.


Можно детали? Какого кода много?

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


Скорость компиляции — это общая проблема немерла. С ней можно бороться выделяя стабильный код в библиотечные проекты.

По поводу производительности тоже хорошо бы по больше деталей. На мой взгляд все не плохо (с поправкой на то, что в итоге работает динамически тпизированный язык).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: НемерлиВеб - что плохо
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 13.10.13 10:44
Оценка:
Здравствуйте, _NN_, Вы писали:

А>>2. Слишком много кода.

_NN>Никто не заявлял о супер оптимальности кода.

И это большое упущение. Далеко не всегда будет возможность использовать sourceMap, слишком часто приходится js разгребать руками, не важно откуда от взялся, хоть тайпскрипт, хоть кофескрипт, хоть что угодно. И вот здесь кофескрипт уже сливает начисто.
Re[3]: НемерлиВеб - что плохо
От: _NN_ www.nemerleweb.com
Дата: 13.10.13 17:33
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, _NN_, Вы писали:


А>>>2. Слишком много кода.

_NN>>Никто не заявлял о супер оптимальности кода.

I>И это большое упущение. Далеко не всегда будет возможность использовать sourceMap, слишком часто приходится js разгребать руками, не важно откуда от взялся, хоть тайпскрипт, хоть кофескрипт, хоть что угодно. И вот здесь кофескрипт уже сливает начисто.


Если начинать с самого оптимального JS кода, боюсь, тут наших ресурсов не хватит даже на простую страницу.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: НемерлиВеб - что плохо
От: Ziaw Россия  
Дата: 14.10.13 07:17
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>И это большое упущение. Далеко не всегда будет возможность использовать sourceMap, слишком часто приходится js разгребать руками, не важно откуда от взялся, хоть тайпскрипт, хоть кофескрипт, хоть что угодно. И вот здесь кофескрипт уже сливает начисто.


Можно увидеть жизненный пример, на котором он сливает?
Re[4]: НемерлиВеб - что плохо
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 14.10.13 13:42
Оценка:
Здравствуйте, Ziaw, Вы писали:

I>>И это большое упущение. Далеко не всегда будет возможность использовать sourceMap, слишком часто приходится js разгребать руками, не важно откуда от взялся, хоть тайпскрипт, хоть кофескрипт, хоть что угодно. И вот здесь кофескрипт уже сливает начисто.


Z>Можно увидеть жизненный пример, на котором он сливает?


Элементарно — когда sourceMap не загружается.
Re[5]: НемерлиВеб - что плохо
От: Ziaw Россия  
Дата: 14.10.13 14:59
Оценка:
Здравствуйте, Ikemefula, Вы писали:

Z>>Можно увидеть жизненный пример, на котором он сливает?


I>Элементарно — когда sourceMap не загружается.


А проблема-то в чем возникает? Приведи конкретный пример сгенеренного кофескриптом кода, который ставит в тупик разработчика?
Re[6]: НемерлиВеб - что плохо
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 14.10.13 15:09
Оценка:
Здравствуйте, Ziaw, Вы писали:

I>>Элементарно — когда sourceMap не загружается.


Z>А проблема-то в чем возникает? Приведи конкретный пример сгенеренного кофескриптом кода, который ставит в тупик разработчика?


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

Bacon.fromBinder = (binder, eventTransformer = _.id) ->
  new EventStream (sink) ->
    unbinder = binder (args...) ->
      value = eventTransformer(args...)
      unless value instanceof Array and _.last(value) instanceof Event
        value = [value]

      reply = Bacon.more
      for event in value
        reply = sink(event = toEvent(event))
        if reply == Bacon.noMore or event.isEnd()
          # defer if binder calls handler in sync before returning unbinder
          if unbinder? then unbinder() else Bacon.scheduler.setTimeout (-> unbinder()), 0
          return reply
      reply


  Bacon.fromBinder = function(binder, eventTransformer) {
    if (eventTransformer == null) {
      eventTransformer = _.id;
    }
    return new EventStream(function(sink) {
      var unbinder;
      return unbinder = binder(function() {
        var args, event, reply, value, _i, _len;
        args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
        value = eventTransformer.apply(null, args);
        if (!(value instanceof Array && _.last(value) instanceof Event)) {
          value = [value];
        }
        reply = Bacon.more;
        for (_i = 0, _len = value.length; _i < _len; _i++) {
          event = value[_i];
          reply = sink(event = toEvent(event));
          if (reply === Bacon.noMore || event.isEnd()) {
            if (unbinder != null) {
              unbinder();
            } else {
              Bacon.scheduler.setTimeout((function() {
                return unbinder();
              }), 0);
            }
            return reply;
          }
        }
        return reply;
      });
    });
  };
Re[7]: НемерлиВеб - что плохо
От: Ziaw Россия  
Дата: 15.10.13 02:58
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


Не балласт. кофескрипт это такой DSL для написания яваскрипта. Как less для css или haml для html. Они дают удобство написания, но понимать, что во что превращается совершенно необходимо. Точно так же, как необходимо знание целевого языка. Без этого знания программист подобен слепому щенку, который изучает мир наощупь.
Re[8]: НемерлиВеб - что плохо
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 15.10.13 06:06
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, Ikemefula, Вы писали:


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


Z>Не балласт. кофескрипт это такой DSL для написания яваскрипта. Как less для css или haml для html. Они дают удобство написания, но понимать, что во что превращается совершенно необходимо. Точно так же, как необходимо знание целевого языка. Без этого знания программист подобен слепому щенку, который изучает мир наощупь.


Необходимо в силу того, что sourceMap далеко не всегда есть. Другой необходимости нет.
Re: НемерлиВеб - что плохо
От: STDray http://stdray.livejournal.com
Дата: 07.02.14 07:38
Оценка:
Ночью решил посмотреть в каком состоянии NemerleWeb, чтобы попробовать его на выходных. Несколько замечаний:
— инсталятор ложно сообщает о том, что .net 4.5 не установлен
— когда инсталятор предлагает скачать последнюю версию компилятора, предлагаемая версия меньше актуальной в загрузках nemerle.org
— инсталятор не смог обновить установленный дистрибутив Nemerle, но смог установить после того, как я снес имеющийся Nemerle.
— в требованиях к фреймворку не указана минимальная версия компилятора (любая выпущенная позже этого коммита), версия поставленная инсталятором не соответствует.
— пакет nuget не исправен, в packages\NemerleWeb.1.0.0\lib\net45 ставит только файл _._ байт, библиотек нет.
— в шаблоне проекта Nemerle.Web библиотеки подключены из каталога packages\NemerleWeb.1.0.0\lib\net40
— каталог bin в проекте

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

Сам фреймворк пока не смотрел. Собрал решение NemerleWeb.sln, у меня заработал входящий в его состав сайт Nemerle.Web, но даже после подключения собранных библиотек к шаблонному проекту сайта NemerleWebProject1, он не скомпилировался.
Re[2]: НемерлиВеб - что плохо
От: ionoy Эстония www.ammyui.com
Дата: 07.02.14 08:36
Оценка: 2 (1)
Здравствуйте, STDray, Вы писали:

STD>Ночью решил посмотреть в каком состоянии NemerleWeb, чтобы попробовать его на выходных. Несколько замечаний:

STD>- инсталятор ложно сообщает о том, что .net 4.5 не установлен
STD>- когда инсталятор предлагает скачать последнюю версию компилятора, предлагаемая версия меньше актуальной в загрузках nemerle.org
STD>- инсталятор не смог обновить установленный дистрибутив Nemerle, но смог смог установить после того, как я снес имеющийся Nemerle.
STD>- в требованиях к фреймворку не указана минимальная версия компилятора (любая выпущенная позже этого коммита), версия поставленная инсталятором не соответствует.
STD>- пакет nuget не исправен, в packages\NemerleWeb.1.0.0\lib\net45 ставит только файл _._ байт, библиотек нет.
STD>- в шаблоне проекта Nemerle.Web библиотеки подключены из каталога packages\NemerleWeb.1.0.0\lib\net40
STD>- каталог bin в проекте

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


STD>Сам фреймворк пока не смотрел. Собрал решение NemerleWeb.sln, у меня заработал входящий в его состав сайт Nemerle.Web, но даже после подключения собранных библиотек к шаблонному проекту сайта NemerleWebProject1, он не скомпилировался.


Да, инстраллятор надо обновить, он был однажды написан и на тот момент работал. С тех пор много воды утекло, а руки до него так и не дошли.

Сейчас проще всего скачать и установить последний немерле. После этого компилируем и запускаем NemerleWeb.Website. Там есть все сэмплы, с ними можно и поиграться.

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

Из того, что нужно было сделать до версии 1.0 мы уже всё сделали, теперь как раз идёт шлифовка. Но так как времени у всех в обрез, то и этот процесс затягивается. Если есть желание разобраться с фреймворком или что-то обсудить, то стучись в скайп "dale_ee", там можно будет получить любую помощь и разъяснения.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: НемерлиВеб - что плохо
От: STDray http://stdray.livejournal.com
Дата: 07.02.14 09:36
Оценка:
I>Из того, что нужно было сделать до версии 1.0 мы уже всё сделали, теперь как раз идёт шлифовка. Но так как времени у всех в обрез, то и этот процесс затягивается. Если есть желание разобраться с фреймворком или что-то обсудить, то стучись в скайп "dale_ee", там можно будет получить любую помощь и разъяснения.

Я отлично понимаю, как такое происходит и не имею претензий. Но имхо, если руки дойдут, проще иметь список под рукой.
За контакт спасибо.
Re[3]: НемерлиВеб - что плохо
От: Ziaw Россия  
Дата: 07.02.14 16:51
Оценка:
Здравствуйте, ionoy, Вы писали:

I>Да, инстраллятор надо обновить, он был однажды написан и на тот момент работал. С тех пор много воды утекло, а руки до него так и не дошли.


А что, уже решена проблема бинарной совместимости с разными версиями компилятора? До ее решения, поставлять можно только в исходниках
Re[2]: НемерлиВеб - что плохо
От: _NN_ www.nemerleweb.com
Дата: 07.02.14 16:53
Оценка:
Здравствуйте, STDray, Вы писали:

STD>Ночью решил посмотреть в каком состоянии NemerleWeb, чтобы попробовать его на выходных. Несколько замечаний:

По этим пунктам очень нужна помощь, не успеваем и фреймворк и удобство сделать вокруг него.

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

Дело в том что попутно мы стараемся применить наш фреймворк для жизненных вещей.
Переписываем дерево RSDN: http://rsdn.nemerleweb.com/ (Что-то не работает сейчас, но это временное явленеие )

STD>Сам фреймворк пока не смотрел. Собрал решение NemerleWeb.sln, у меня заработал входящий в его состав сайт Nemerle.Web, но даже после подключения собранных библиотек к шаблонному проекту сайта NemerleWebProject1, он не скомпилировался.

Как раз на него стоило бы и посмотреть
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: НемерлиВеб - что плохо
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.02.14 23:41
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>А что, уже решена проблема бинарной совместимости с разными версиями компилятора? До ее решения, поставлять можно только в исходниках


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

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

Проблема была с совместимостью Nemerle.dll. Эту проблему решили добавлением в ГАК самой длл-и и специальной сборки с манифестом. Последняя позволяет использовать Nemerle.dll той же или более старшей версии (по сравнению с той при которой производилась сборка компилятора).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: НемерлиВеб - что плохо
От: Ziaw Россия  
Дата: 10.02.14 01:45
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Проблема была с совместимостью Nemerle.dll. Эту проблему решили добавлением в ГАК самой длл-и и специальной сборки с манифестом. Последняя позволяет использовать Nemerle.dll той же или более старшей версии (по сравнению с той при которой производилась сборка компилятора).


То есть теперь нет проблем, когда используются разные версии Nemerle.dll?

1. Версия, которую использует компилятор
2. Версия, с которой собирается твой проект
3. Версии, с которыми собраны подключенные сторонние библиотеки
4. Версия, которую использует аддон для студии

Кстати, что из них использует Nemerle.dll из GAC? Что из перечисленного обязано быть выше версией, чем она?
Re[6]: НемерлиВеб - что плохо
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.02.14 11:55
Оценка: 12 (1)
Здравствуйте, Ziaw, Вы писали:

Z>То есть теперь нет проблем, когда используются разные версии Nemerle.dll?


http://rsdn.ru/forum/nemerle/5232929.flat
Автор: hardcase
Дата: 17.07.13
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.