Home
golang
golang@conference.jabber.ru
Воскресенье, 19 июня 2016< ^ >
Deirz установил(а) тему: Go Programming Language.
|| Изучаем: https://gobyexample.com/
|| Тур: http://tour.golang.org/
|| Как писать код: http://golang.org/doc/code.html
|| Как писать эффективный код: http://golang.org/doc/effective_go.html
|| FAQ: http://golang.org/doc/faq
|| 99% ответов о языке Go тут: http://golang.org/ref/spec
|| Сторонние либы: http://godoc.org/ https://github.com/avelino/awesome-go
|| Логи: http://chatlogs.jabber.ru/golang@conference.jabber.ru/
|| This chatroom does not adhere to any codes of conduct, be they implied or explicitly stated by someone. Your feelings can and WILL be hurt without a warning.
Конфигурация комнаты
Участники комнаты

GMT+3
[00:08:54] begemot_sun вышел(а) из комнаты
[00:23:07] valexey вошёл(а) в комнату
[01:52:59] valexey вышел(а) из комнаты
[03:56:21] <krab> http://www.opennet.ru/opennews/art.shtml?num=44619
[03:56:23] <krab> мда
[03:59:22] <Deirz> для доставки приложений сгодится
[04:36:27] Deirz вышел(а) из комнаты
[07:05:47] <mantyr@jabberon.ru> Нафиг:)
[07:05:58] <mantyr@jabberon.ru> 100500 вариантов как поставить кривой софт на сервер…:)
[07:52:31] krab вышел(а) из комнаты: Left Vacuum-IM
[07:52:51] begemot_sun вошёл(а) в комнату
[08:35:37] debasher-9.6.2-nightly вошёл(а) в комнату
[09:39:15] plumbum вошёл(а) в комнату
[09:58:16] avz вошёл(а) в комнату
[12:23:51] mantyr@jabberon.ru вышел(а) из комнаты
[13:27:18] mks2 вошёл(а) в комнату
[14:01:30] κpmy вошёл(а) в комнату
[14:23:18] begemot_sun вышел(а) из комнаты
[14:50:09] debasher-9.6.2-nightly вышел(а) из комнаты
[14:58:25] plumbum вышел(а) из комнаты
[15:17:28] krab вошёл(а) в комнату
[15:24:19] κpmy вышел(а) из комнаты
[15:41:51] krab вышел(а) из комнаты: Replaced by new connection
[15:41:53] krab вошёл(а) в комнату
[15:43:24] mantyr@jabberon.ru вошёл(а) в комнату
[15:56:23] mks2 вышел(а) из комнаты
[16:03:37] krab вышел(а) из комнаты: Left Vacuum-IM
[16:14:57] Deirz вошёл(а) в комнату
[17:00:41] plumbum вошёл(а) в комнату
[17:12:35] begemot_sun вошёл(а) в комнату
[17:51:57] begemot_sun вышел(а) из комнаты
[18:18:35] krab вошёл(а) в комнату
[18:19:02] κpmy вошёл(а) в комнату
[18:19:15] <κpmy> пришла в голову идея инструкции PROCESS
[18:19:38] <κpmy> типа PROCESS
x -> y
y + 4 -> z
END и так далее
[18:19:47] <κpmy> декларативный кусок внутри императивного
[18:20:00] <κpmy> будут разрешены только присваивания
[18:20:05] <κpmy> и выражения
[18:20:18] <κpmy> но придётся ввести тернарный оператор для ветвлений
[18:20:42] <κpmy> с помощью этого PROCESS можно будет заебенить декларативности
[18:22:13] krab вышел(а) из комнаты: Left Vacuum-IM
[18:22:44] krab вошёл(а) в комнату
[18:24:18] <κpmy> кстати сделал предусловия и постусловия для процедур, теперь можно описать одно или несколько булевых выражений в начале и оно само проверит, и ебанёт эксепшн если что-то плохо
[18:24:36] <κpmy> а try catch не будет, придётся писать нормально
[18:24:47] <κpmy> чтобы на продукшоне не ебашыло
[19:02:14] dgrv вошёл(а) в комнату
[19:10:21] 5UN5H1N3 вышел(а) из комнаты
[19:25:09] <Deirz> κpmy, в чём суть process?
[19:53:31] <azovcvb> видимо что-то верилогоподобное
[19:53:42] <azovcvb> ну или как говорят хипстеры - реактивное
[20:09:39] mantyr@jabberon.ru вышел(а) из комнаты
[20:15:20] <κpmy> ага
[21:06:06] krab вышел(а) из комнаты: Replaced by new connection
[21:06:07] krab вошёл(а) в комнату
[21:08:47] <Deirz> не очень понял, где декларативность
[21:08:55] <Deirz> выглядит как присваивания да умножения
[21:11:01] <azovcvb> вкури реактивность ну или старый-добрый верилог
[21:11:16] <azovcvb> оно синтаксически похоже, семантически другое
[21:11:47] <azovcvb> как только у тебя изменяется X,  у тебя изменится и Y
[21:12:06] <azovcvb> то есть ты тут связи устанавливаешь, а не выполняешь одноразовое вычисление значений
[21:12:13] <azovcvb> связи в виде выражения
[21:13:03] <Deirz> понятно
[21:13:07] <azovcvb> железнячники этим пользуются уже сто лет как, хипстота на жабаскриптах недавно для себя это открыло и упоролось написав 100500 фреймворков на жабаскрипте. типо модно, молодежно, никто до них такогого не делал!
[21:13:42] <azovcvb> в общем, в UI используется теперь. тут изменилось - вон там сразу обновилось. в связке со всякими говномонгами и нодами бывает.
[21:19:57] <κpmy> да, для уи самое то
[21:24:15] <Deirz> потом жалуются, что дом-диффер тормозит
[21:24:30] <κpmy> ну я на самом деле уже делал такое, но теперь интерес в том чтобы совместить в одном синтаксическом формате импертивщину и декларативщину
[21:26:42] <Deirz> насколько эта декларативщина мощна?
[21:27:19] <κpmy> тюринг полная наверн
[21:29:21] <κpmy> алкоритм https://camo.githubusercontent.com/7f7c329568de796d77ae88cbe351305a9d600180/687474703a2f2f692e696d6775722e636f6d2f427066696d4e312e706e67
[21:30:16] <Deirz> фу тернароёбство
[21:30:59] <κpmy> ну да, ведь есть только один стейтмент - присвоение
[21:31:16] <κpmy> а if как expression это убого
[21:31:23] <κpmy> поэтому выход один)
[21:33:02] ascrazy@jabber.ru вошёл(а) в комнату
[21:33:23] ascrazy@jabber.ru вышел(а) из комнаты
[21:33:24] <κpmy> а рантайм строится как зацикливание этого юнита
[21:33:44] <κpmy> у него есть типа REG переменная, которая сохраняется между вызовами
[21:38:34] <κpmy> но непонятно, если встраивать такое в императивщину
[21:38:52] <κpmy> наверное это должно быть что-то типа внутренних правил объекта
[21:40:56] <Deirz> непонятно
[21:42:27] <κpmy> ну типа описываешь объект, такие-то свойства, а между ними взаимосвязи
[21:42:43] <κpmy> или даже связи между объектами
[21:44:57] <Deirz> как в прологе?
[21:45:07] <κpmy> не знаю, как там
[21:46:09] begemot_sun вошёл(а) в комнату
[21:46:24] <Deirz> там пишешь вроде y = x + 1
[21:46:38] <Deirz> и тогда y выводится через x
[21:46:58] <κpmy> ну грубо говоря, у тебя окно, его размер это входные данные для генерирования layout контролов, описываешь взаимосвязи и когда ты просто меняешь проперти у окна движок запускает PROCESS и все правила выполняются, и у контролов меняются значения их координат. То есть ты не ходишь циклом и не шлёшь всем сообщения о ресайзе
[21:47:04] <κpmy> ну да, что-то похожее
[21:47:30] <Deirz> но тогда нельзя описать правило x = x + 1
[21:47:43] <κpmy> можно, если x это регистр
[21:48:09] <κpmy> а если не регистр - тогда компилер даст отбой
[21:48:18] <κpmy> зацикливание задетектит
[21:48:44] <κpmy> у регистра уже есть значение с прошлой итерации, оно используется для чтения в этой итерации
[21:48:56] <κpmy> а новое значение будет доступно уже в следующей итерации
[21:49:35] <κpmy> при этом порядок стейтментов не имеет значения, важны только правила
[21:49:49] <κpmy> эта модель охуенно мапится на пщные каналы и рутины
[21:50:02] <κpmy> и жутко параллелизируется)
[21:53:15] <Deirz> а если будет два правила?
[21:53:17] <Deirz> x = x + 1
[21:53:20] <Deirz> x = x - 1
[21:53:47] <κpmy> только одно присвоение на объект
[21:54:07] <κpmy> это кстати и в ФП соблюдается
[21:54:21] <κpmy> общий момент для всех декларативных язычков, насколько я понимаю
[21:54:36] <κpmy> single assignment
[21:57:46] <Deirz> single assignment работает при объявлении переменной
[21:58:03] <Deirz> объявил-присвоил и после этого нельзя присвоить ещё раз
[21:58:21] <κpmy> ну и тут так же
[21:58:50] <Deirz> у тебя получается "регистр в памяти" и "регистр в цикле" под одним и тем же именем
[21:58:52] <κpmy> ну только я не люблю объявления in-place, поэтому объявления отдельно
[21:59:48] <κpmy> а цикл как бы внешний
[22:00:01] <κpmy> сам unit не знает, сколько раз его дёрнули
[22:02:24] <κpmy> это вычисление числа фибоначчи 10, если я помню, то есть я запускал программу она дёргала этот UNIT бесконечно, но так как max = 10 то оно вычисляло 10 и всё.
[22:04:01] <Deirz> но тут нет условия прерывания
[22:05:01] <Deirz> т.е. если память перестала изменяться между запусками, то прекращаешь циклы?
[22:06:16] <κpmy> кажется, я ввёл системный unit в котором был флаг прерывания, а сам рантайм ничего не знал об этом - запустили и работает
[22:07:27] <κpmy> в общем случае это внешний кейс, вызывать очередную итерацию или нет
[22:24:00] mantyr@jabberon.ru вошёл(а) в комнату
[22:34:05] avz вышел(а) из комнаты
[22:36:47] mantyr@jabberon.ru вышел(а) из комнаты
[22:49:41] krab вышел(а) из комнаты: Replaced by new connection
[22:49:43] krab вошёл(а) в комнату
[23:13:32] mantyr@jabberon.ru вошёл(а) в комнату
[23:33:01] κpmy вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!