Re[37]: html5
От: Mamut Швеция http://dmitriid.com
Дата: 26.07.11 14:19
Оценка: +1
M>>Добавляешь к нему reactivejava, у тебя есть реактивность. Да еще и со столь любимой тобой статикой
WH>Это не та реактивность.

Я так понимаю, в четвертый раз спрашивать, какая именно тебе реактивность смысла нет. Ведь все равно не ответишь.

M>>В оригинале там Buffer.write, как минимум

WH>И? Разве это каллбек? Это просто изменяемая структура данных в которую добавляют данные.

Блаб, он и есть блаб. То, что в каком-то другом языке делается что-то не так, все, ты решаешь, что тот язык — гуано.

В случае с Ur'ом ты пишешь структуру, внутри которой пишешь функцию, которая что-то делает. Потом вызываешь эту функцию.
В другом языке ты пишешь функцию, которую передаешь в другую функцию, и она вызывает первую.


M>>Которая где-то там упрятана в недрах Ur'а. И? Тебе написать обертку над достаточно низкоуровневым кодом Гапертона религия не позволяет?

WH>Ну, так напиши.
WH>А я похихикаю.

M>>runWorkerJS взят отсюда: https://gist.github.com/989438. Код там страшный, потому что в W3C, как всегда, придумали какую-то хрень Код не тестировался, так, для иллюстрации идеи.

WH>Каша и есть каша.
WH>Опять калбеки на ровном месте.

тебя интересовал короткий код?

workerWrapper().start("A", 5000);
workerWrapper().start("B", 5000);


Достаточно коротко, не находишь? То, что в враппере callback'и тебя интересовать не должно.

Ты пойми мне абсолютно пофигу что там генерируется.


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

WH>Сколько ты еще будешь в мою пользу код показывать?

M>>Достаточно generic обертка будет выглядеть, естественно, по-другому. По сути, runWorkerJs уже достаточно.
WH>Ну, так код без калбеков в студию.

Что я и говорил. ты все пытаешься свести к тому, чтобы все, абсолютно все выглядело и было реализовано один-в-один ровно так же и точно такими же терминами, словами и буквами, как и (в данном случае Ur| обычно Nemerle).


M>>Который не будет работать чуть более, чем во всех реальных случаев из-за реализации, но это е тебя не волнует, так ведь

WH>Его можно убить только вечным циклом.
WH>Зачем он нужен в ГУИ?

Не только им. Любым достаточно длинным процессом. Например, синхронным Ajax-вызовом.


M>>Смотрю я на Ur. Конкретно в данный момент я смотрю на threads. Ничего сверхъестественного там нет. Ну сахар и сахар Пишешь тонкий враппер над Гапертоновским кодом и радуешься жизни. Если то вообще надо...

WH>Ну так код в студию.
WH>Только чтобы без калбеков.

Угу. Я вот боюсь, если вдруг ты ударишься в коллбэки и будешь ьтребовать код только с ними, но ни в коем случае с «просто изменяемой структурой данных в которую добавляют данные»




M>>Смотрю на ListEdit. Ну, сигналы/слоты Вау. Это и есть реактивность? А, нет, наверное «реактивность» это установка значений вручную вот так:

WH>Знакомое слово увидел? Зря. Там другая модель.

M>>
M>><button value="Change to:" onclick={s <- get ss'; set ss s}/>
M>>

WH>И как ты собрался не в ручную устанавливать?

Как минимум не напрямю в HTML-коде.

WH>Ты вообще понял, что там происходит?

WH>Когда ты правишь текст в текстбоксе то значение автоматически попадает в ss'.
WH>Когда жмешь кнопку это значение перебрасывается в ss.
WH>Далее начинает работать реактивность, обновляя все, что зависит от ss.

Вау. Да неужели. там работает банальный slot/signal механизм, на который еще подписываться надо вручную:
<dyn signal={showString ss}/>
<dyn signal={show rls}/>

и т.п.


И т.п.

Дадададдада. Это, конечно, В РАЗЫ лучше, чем ko.obervable сотоварищи, ага


M>>Вся «реактивность» заключается в сахаре над signal/slots

WH>Манипуляцию с ДОМ видишь?
WH>А она есть.

Вау. Покажи мне, где манипуляция DOM'ом, например, в следующем коде:
var w = new Ext.Window();
w.show();


Если библиотека/DSL прячет DOM от тебя, это хорошо, но н является революцией.

WH>Ибо реактивность!


Повтори это заклинание еще пару раз, авось я проникнусь Сигналы и слоты, задаваемые вручную по всему коду, смешанные с HTML'ем — это видимо круто, с твоей точки зрения


M>>И этот человек мне говорит, что вот это вот нельзя реализовать в библиотеке для любого серверного языка? Ах, да, signal/slot есть и для JS. Правда, для тебя он будет слишком многословным, видать.

WH>Код в студию.

Код чего?

M>>Его не так много, чтобы этого кого-либо парило, кроме тебя

WH>Его достаточно чтобы было верно утверждение что ур лучше жабоскрипта для ГУИ.

БРЕД!


M>>Самый крутой — мой язык. Там есть одна функция, «сделатьОхрененно()» Я частично согласен с тобой в определении, до тех пор пока это не превращается в абсурд. Потому что бесспорным победителем (на определенном классе задач) выйдет какой-нибудь J.

WH>Хороший калькулятор для одноразовых вычислений.
WH>Вполне себе задача.

M>>У тебя — да. Почему реактивнотсь для GWT — это не то, ты так и не объяснил.

WH>По тому, что это совсем другая реактивность.

Какая — другая?

Реактивное программирование — парадигма программирования ориентированная на потоки данных и распространении изменений.


WH>Это клон мелкософтовского Rx.

WH>Это вообще не о том.
WH>На этой реактивности тебе придется самому с ДОМ возится.

Натягиваем реактивность на существующие классы GWT — и вуаля.


M>>Почему невозможно реализовать библиотекой (на Java/C++/Python/Ruby/хрен знает что там еще) то, что реализует Ur, ты так и не объяснил. Твой единственный «аргумент» — это «Без компилятора не получится».

WH>Ну, так код в студию.
WH>Только чтобы без километров синтаксического оверхеда.

Что я и говорил. ты все пытаешься свести к тому, чтобы все, абсолютно все выглядело и было реализовано один-в-один ровно так же и точно такими же терминами, словами и буквами, как и (в данном случае Ur| обычно Nemerle).

Но начнем с другого бока. Сначала ты ответишь на мой вопрос, а потом я буду под тебя прогибаться, давай?

Итак, вопрос: Почему невозможно реализовать библиотекой (на Java/C++/Python/Ruby/хрен знает что там еще) то, что реализует Ur?


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.