Home
golang
golang@conference.jabber.ru
Понедельник, 7 июля 2014< ^ >
ftrvxmtrx установил(а) тему: Go Programming Language. http://tip.golang.org/pkg
|| Всегда используйте hg tip. Не ждите релизов.
|| Логи: http://chatlogs.jabber.ru/golang@conference.jabber.ru/
|| Изучаем: https://gobyexample.com/
|| Сторонние либы: http://godoc.org/
|| http://github.com/goerlang
Конфигурация комнаты
Участники комнаты

GMT+4
[00:27:40] smpl вошёл(а) в комнату
[00:29:13] mad_hatter_ вошёл(а) в комнату
[00:30:45] <smpl> можно мембера получить чтобы капчу не ввозить при входе
[00:32:29] <postman> кто это по ночам тут фармит себе мемберки?
[00:32:42] <postman> хачкелисты хотят задидасить конфу?
[00:34:33] <smpl> я, нет
[00:34:41] <smpl> это ответы на вопросы выше
[00:41:16] <Deirz> smpl: ты пишешь на го?
[00:42:27] <smpl> Deirz: только начинаю, смотрю пока что
[00:42:41] <smpl> Deirz: работаю на других языках
[00:43:00] <Deirz> на каких?
[00:43:18] <smpl> php, java
[00:43:38] <smpl> ну js и прочие попсовые штуки
[00:44:13] <postman> ООП обожаешь?
[00:45:27] <smpl> postman: в сравнение с ситуацией
[00:46:01] <smpl> postman: я так понял, я тебе сразу не понравился
[00:46:22] <postman> нет, почему?
[00:46:54] <postman> вот когда придет Laz, ты сразу поймешь, что я практически тебя полюбил с первого взгляда.
[00:48:03] <smpl> postman: давай одно полую любовь оставим европе
[00:48:18] <postman> у меня чисто платонические чувства.
[00:48:33] <smpl> postman: ты не в моем вкусе, мне нравятся женщины
[00:48:49] <smpl> ты ещё напиши, фу натурал :D
[00:52:08] <krab> http://gin-gonic.github.io/gin/
[01:05:04] krab вышел(а) из комнаты: Replaced by new connection
[01:05:05] krab вошёл(а) в комнату
[01:50:54] kms_ вышел(а) из комнаты
[02:04:00] mad_hatter_ вышел(а) из комнаты
[02:24:30] smpl вышел(а) из комнаты
[02:29:22] vaal вышел(а) из комнаты
[03:36:18] drumond вышел(а) из комнаты
[04:47:44] postman вышел(а) из комнаты
[05:58:24] savik вошёл(а) в комнату
[06:01:58] <savik> с бодрячком
[07:18:50] savik вышел(а) из комнаты
[07:24:28] MaXGGXaM вышел(а) из комнаты
[07:27:34] magister вошёл(а) в комнату
[07:28:42] <magister> а вот чтобы критиковать js у вас ума недостаточно
[07:28:53] magister вышел(а) из комнаты: offline
[07:34:20] begemot_sun вошёл(а) в комнату
[07:54:14] MaXGGXaM вошёл(а) в комнату
[09:45:50] begemot_sun вышел(а) из комнаты
[09:46:48] begemot_sun вошёл(а) в комнату
[10:00:17] krab вышел(а) из комнаты
[10:01:36] Laz вошёл(а) в комнату
[10:07:44] krab вошёл(а) в комнату
[10:14:46] ermine вошёл(а) в комнату
[10:20:24] ermine вышел(а) из комнаты
[10:20:27] ermine вошёл(а) в комнату
[10:20:36] azzz вошёл(а) в комнату
[10:28:46] <azzz> утра, голаны
[10:34:04] wanderer@jabber.ru вошёл(а) в комнату
[10:36:50] <Kerrigаn> гоферы же
[10:39:19] <azzz> гофрированные прогроммизды
[10:46:36] chelobaka вошёл(а) в комнату
[11:00:47] azzz вышел(а) из комнаты
[11:02:44] vaal вошёл(а) в комнату
[11:08:13] wanderer@jabber.ru вышел(а) из комнаты
[11:19:09] chelobaka вышел(а) из комнаты: offline
[11:26:28] azzz вошёл(а) в комнату
[13:45:01] <Deirz> http://techcrunch.com/2014/07/07/programmer-craig-muth-kickstarts-a-new-version-of-his-arguably-amazing-shell-xiki/?utm_campaign=fb&ncid=fb какая мощная наркомания
[13:46:38] <Laz> тыкал я этот xiki
[13:46:52] <Laz> что-то как-то не пошло
[13:55:01] <Deirz> слишком много кликать приходится?
[13:55:46] <Laz> слишком много рубе надо поставить
[13:57:36] drumond вошёл(а) в комнату
[14:00:29] <Kerrigаn> > много рубе
[14:00:35] <Kerrigаn> рвм ставится один раз
[14:02:03] <Deirz> много руби - это больше 0 байт руби
[14:02:51] <sakujii> Laz: своим сообщением вы оскорбляете чувства присутствующих здесь рубистов
[14:28:50] krab вышел(а) из комнаты: Вышел из Vacuum-IM
[14:29:46] smpl вошёл(а) в комнату
[15:06:49] mad_hatter_ вошёл(а) в комнату
[15:52:18] Darth Лис вошёл(а) в комнату
[16:26:56] postman вошёл(а) в комнату
[16:28:00] <postman> предлагаю запретить пропаганду руби в этой конфе.
[16:28:13] <postman> вдруг тут есть несовершеннолетние.
[16:28:48] <azzz> postman: ну да, в сообществе свингеров запретили разговоры о БДСМ, вдруг дети чему-то плохому научатся
[16:28:51] <Kerrigаn> макбук отрастает сразу же?
[16:29:16] <postman> azzz: хуевая аналогия.
[16:29:23] <azzz> а еще предлагаю сразу на воде в конфу спрашивать: "ты гей или руби-программист"?
[16:29:27] <azzz> руби-программистов не пускать
[16:29:41] <Kerrigаn> azzz: казалось бы, причем тут нода
[16:30:00] <azzz> Kerrigаn: ой не знаю
[16:30:20] <azzz> callback party!
[16:30:35] <azzz> пиши на node.js @ шпилься в жопу!
[16:30:56] <postman> во какой активист.
[16:31:22] <Kerrigаn> у меня нода только собирает
[16:31:44] <postman> пати собирает?
[16:32:33] <azzz> не просто пати, а колбэк пати!
[16:33:05] <Darth Лис> а шпилит кто?
[16:33:11] Darth Лис хихи
[16:33:19] <azzz> Darth Лис: хочшеь занять  очередь?:)
[16:34:17] <postman> это ж коллбэки.
[16:34:25] <postman> как glory hole.
[16:34:29] <azzz> за мной не занимать, кстати.
[16:35:15] <Kerrigаn> собирает ангулярную поебень
[16:35:32] <azzz> Нокла и мокрософт столько пиару напиарили на швабрашвабре о своей поделке-говорилке аля сири: http://habrahabr.ru/company/Nokia/blog/228813/
[16:35:44] <Darth Лис> Kerrigаn: жаль жаль… а то azzz вон на пати хотел. и пошпилицца
[16:36:05] <azzz> Darth Лис: так-так-так, я вообще-то руби-программист
[16:36:13] <azzz> я к ноде отношений не имею
[16:37:05] <Darth Лис> ты так говоришь как будто это ничего страшного
[16:37:43] <azzz> :)
[16:38:01] <azzz> ну, руби-прогроммисты лучше геев
[16:38:06] <postman> azzz: это как разница между геем и пидором.
[16:38:40] <azzz> postman: ну пидор - это не тип сексуальной ориентации
[16:40:27] <postman> как ты много знаешь-то, а?
[16:40:54] <azzz> очень образованный, начитанный и интеллигентный
[16:40:55] <azzz> я
[16:41:22] <azzz> почти как еврейский мальчик Мойша из правильной Одесской семьи
[16:41:30] <azzz> только не сын гениколога и на скрипке играть не умею
[16:41:43] azzz напевает: и руби мне скрипку заме-ни-и-и-ил
[16:42:05] <postman> пархатый, что ли?
[16:42:26] <azzz> чо? какой?
[16:43:30] smpl вышел(а) из комнаты
[16:44:06] postman вышел(а) из комнаты
[16:44:10] <azzz> а вы прочитали уже статью почему Го не так хорош? Что думаете?
[16:46:08] <Kerrigаn> что автор поехавшая хацкелеблядь
[16:46:43] <Laz> что за статья такая?
[16:46:48] <Laz> очередной ниасилятор?
[16:47:07] <azzz> да просто сравнение с растом и хаскелем
[16:47:16] <azzz> в Го нету темплейтов, а в Расте - есть
[16:47:16] <Laz> а, ну и похер тогда
[16:52:42] postman вошёл(а) в комнату
[17:12:39] magister вошёл(а) в комнату
[17:13:00] <magister> azzz, и паттерн матчинга тоже нет
[17:14:21] <azzz> magister: а интерфейсы не заменяют паттерн-матчинг?
[17:14:30] <magister> azzz, только лишь select
[17:15:36] smpl вошёл(а) в комнату
[17:15:41] <magister> azzz, этого я в документации не нашел.
[17:15:58] <magister> azzz, убого написано, очень убого
[17:16:51] <Laz> какой нахер селект
[17:17:09] <Laz> селект к потерн-матчингу отношения не имеет
[17:17:18] <magister> а к чему?\
[17:17:31] <magister> к аспектно-ориентированному программированию
[17:17:42] <Darth Лис> к конкурентности и асинхронным базарам с каналами
[17:17:52] <azzz> я, четсно говоря, вообще затрудняюсь определить, что такое паттерн-матчинг. Хаскель его умеет, но на хаскелях я не писал. Это вроде как сравнение структуры с некой другой структурой или образцом
[17:18:03] <azzz> т.е. проверка имплементирует ли структура некий метод, дыа?
[17:18:13] <azzz> ну так вот, интерфейсы - не то?
[17:18:20] <Darth Лис> нет
[17:18:22] <azzz> ну ок
[17:18:32] <azzz> а расскажите тогда мне, глупому, что это за хрень такая?
[17:19:03] <magister> я отслеживаю определенные действия с конкретным каналом, рассматриваю определенные сообщения
[17:19:10] <magister> это паттерн матчинг
[17:19:12] <Laz> нет
[17:19:14] <magister> ну или АОП
[17:19:25] <Laz> это демультиплексирование
[17:19:34] <Laz> или мультиплексирование
[17:19:37] <Laz> хер поймёшь
[17:19:40] <azzz> или паттерн-матчинг это умный switch case? как в рубях?
[17:19:47] Kxepal вышел(а) из комнаты: Replaced by new connection
[17:19:47] <magister> ну по сути да
[17:19:47] Kxepal вошёл(а) в комнату
[17:19:48] <Laz> свичкейс можно назвать потерн-матчингом
[17:19:49] <magister> азз
[17:20:11] <azzz> а
[17:20:21] <Laz> только потерн-матчинг прям в язык засунут
[17:20:28] <Laz> и его там всячески оптимизируют
[17:20:54] <magister> мультиплексирование это тоже паттерн-матчинг
[17:21:01] <Kerrigаn> свичкейс это тоже кагбе не отдельная либа
[17:21:07] <Kerrigаn> Laz: он ленивый просто
[17:21:11] <Kerrigаn> максимально
[17:21:12] <Laz> возможностей у него меньше
[17:21:17] <azzz> Laz: ну так свитч-кейс тоже в язык засунут. В руби свитч-кейс, получается6 ближе всего к "паттерн-матчингу"?
case x
when 1 || 5 then …
when 'ololo' then …
[17:21:24] <magister> и демультиплескирование тоже
[17:21:50] <azzz> а, и паттерн-матчинг должен выполняться на уровне компилятора?
[17:21:51] <Darth Лис> а применительно к кацкелю — это когда у тебя в одном модуле есть функция hui(string), hui(int), hui(int, int) те имя одно а параметры разные (сигнатуры функций) и в зависимости какие типы передаёшь — запускается нужная функция
[17:22:03] <Darth Лис> ну и в ерланге тоже самое
[17:22:17] <azzz> Darth Лис: оок, т.е. метод диспатчинг. оно же - перегрузка
[17:22:21] <Darth Лис> ага
[17:22:27] <azzz> тьфублять, вот так нельзя сразу сказать?:)
[17:22:27] <magister> диспетчеризация
[17:22:32] <Laz> перегрузка - это уже полиморфизм
[17:22:39] <magister> мультидиспетчеризация
[17:22:39] <Laz> параметрический
[17:22:45] <azzz> Laz: ну по сути это и есть перегрузка
[17:22:52] <azzz> Laz: и полиморфизм
[17:22:53] <Laz> полиморфизм?
[17:22:58] <Darth Лис> ну она да
[17:22:58] <Laz> ну да, это перегрузка
[17:23:11] <azzz> т.е. у тебя одна функция Sum, которая суммирует инты, флоаты, массивы и прочую поеботу
[17:23:22] <azzz> интерфейс какбе один - ты юзаешь только Sum
[17:23:30] <magister> azzz, параметрический полиморфизм
[17:23:31] <azzz> а реализаций ее - десять штук, для кждого типа данных
[17:23:32] <Kerrigаn> ну это
[17:23:36] <Laz> если она одинаково их суммирует, то это обобщённый полиморфизм
[17:23:39] <Kerrigаn> это не только перегрузка функций
[17:23:44] <Kerrigаn> оно еще и на уровне блоков
[17:23:45] <Laz> а если по-разному, то параметрический
[17:23:58] <Darth Лис> но мы отвлеклись
[17:24:02] <Laz> но к паттерн-матчингу оно не относится
[17:24:05] <Darth Лис> нытик смешно поныл
[17:24:09] <Darth Лис> и не заслуживает внимания
[17:24:21] <azzz> Darth Лис: но всё же перегрузки в Го действительн не хватает же
[17:24:25] <Darth Лис> нет
[17:24:29] <azzz> почему нет?
[17:24:30] <Darth Лис> нахуй не надо
[17:24:33] <azzz> почему?
[17:24:34] <Laz> не нужно
[17:24:39] <Darth Лис> и так збс
[17:24:48] <azzz> ну как сделать Sum, которая бы суммировала и флоаты, и инты?
[17:24:56] <Laz> SumInts, SumFloats
[17:25:02] <azzz> ну говно же, ну
[17:25:06] <azzz> как в сишечке прям
[17:25:06] <magister> azzz, либо это две разные функции
[17:25:16] <Laz> ты скажи лучше, когда тебе последний раз приходилось суммировать инты и флоаты?
[17:25:24] <magister> azzz, либо, блядь, это один интерфейс
[17:25:39] <azzz> magister: в базовые типы интерфейс не впиндюрить
[17:25:43] <magister> azzz, соответственно ему структуры
[17:25:44] <magister> итд
[17:25:51] <Laz> постоянно набигают фанаты женериков и рассказывают, как круто на них реализовывать контейнеры
[17:26:03] <Laz> для чего-нибудь, кроме контейнеров, они используются блять?
[17:26:24] <Darth Лис> больше нидлячего
[17:26:26] <azzz> Laz: итератор хочу по массивам сделать. Функция EachOverArray(arr, fn) где arr это любой массив(инты или флоаты), а fn - это функцич принимающая инт или флоат
[17:26:44] <Laz> azzz: for _, x range arr { fn(x) }
[17:26:49] <Darth Лис> azzz: нет не хочешь
[17:26:54] <azzz> Darth Лис: хочу
[17:26:55] <Laz> := ешё, да
[17:26:58] <magister> azzz, попробуй эрланг
[17:27:01] <Darth Лис> array любых типов — хуйовая идея
[17:27:05] <Darth Лис> руби ебаный
[17:27:32] <azzz> Darth Лис: не любых. А только интов или флоатов. Соответственно, две функции. Одна на []int, другая для []float
[17:27:39] <Kerrigаn> не
[17:27:43] <Kerrigаn> надо попробовать всё
[17:27:46] <Darth Лис> и если ты такое хочешь, значит что-то делаешь неправильно и в итоге, в реальности — не хочешь
[17:27:49] <Kerrigаn> а то как наркоман
[17:27:52] <azzz> короче, женерики или хотя бы перегрузка функций - это заебись
[17:27:55] <sakujii> я думал, массив любых типов это норма
[17:27:59] <Kerrigаn> подсел на дженерики
[17:28:02] <magister> массивы редко нужны, лучше вложенные структуры юзать
[17:28:05] <Kerrigаn> и больше ничего не видишь
[17:28:12] <Kerrigаn> и хочется все больше и больше
[17:28:40] <Darth Лис> sakujii: в раби/писоне/жабаскрипте (заметил сходство?) :)
[17:28:53] <azzz> Kerrigаn: да. А потом хуяк, и упоротый дрочишь вприсядку на главной площади города и напеваешь "нодежс, нодежс о боже как я люблю колбэки"
[17:28:59] <Darth Лис> хуйак-хуйак и в продакшен driven development
[17:29:00] <Laz> в рабе/пестоне/жсе массивы - на самом деле списки
[17:29:14] <magister> односвязные списки да
[17:29:17] <Kerrigаn> azzz: оно самое
[17:29:32] <Darth Лис> azzz: :DD
[17:29:32] <Laz> кстати, да
[17:29:42] <Laz> присутствовал на собеседованиях js-еров
[17:29:58] <Laz> а, не, погоди
[17:29:59] <Laz> петонеров
[17:30:00] <azzz> Laz: поют?
[17:30:11] <Laz> ну не ссуть, вопрос был - особенности реализации массивов
[17:30:28] <Laz> нужно было ответить, что массив - связный список
[17:30:41] <azzz> ну
[17:30:45] <azzz> а они что ответили?
[17:31:02] <Darth Лис> как они могли ответить если рот занят был? :D
[17:31:11] <Laz> бгг
[17:31:12] <azzz> я уверен, что если я щас спрошу своих рубистов что такое массив в руби - тоже не ответят
[17:31:19] <azzz> но это не мешает им хуярить в продакшен
[17:31:20] <azzz> ичо?
[17:31:34] <Laz> спроси их, нахуй они живут
[17:31:51] <azzz> и вообще, про эти массивы только мы тут знаем. А никому они нахрен не нужны
[17:32:00] <azzz> всем нужны женерики и перегрузки
[17:32:05] <Laz> точно
[17:32:05] <azzz> и массивы любыз типов данных
[17:32:07] <Kerrigаn> это не нужно пока не начнешь писать сишные расширения
[17:32:35] <Laz> смишные расширения
[17:32:44] <Kerrigаn> хуищные
[17:32:55] <Laz> от сей лично у меня происходит сужение
[17:32:59] <Kerrigаn> ты бы еще про гил спросил
[17:33:01] <azzz> а вообще яхз. Может они и не нужны. Я пока ни для чего, кроме EachOverArray, не придумал применения :(
[17:33:25] <Laz> Kerrigаn: я все твои питонистые приколы забыл, как страшный сон
[17:33:25] <magister> а от гоу расширение?
[17:33:26] <azzz> но всё равно жаль. Я, например, не вижу причины по которым они были бы зло и их не впихнули в язык
[17:33:27] <Deirz> так-то EachOverArray тоже не нужен
[17:33:42] <Kerrigаn> Laz: хуево страдать амнезией
[17:34:08] <magister> питон не нужен да
[17:34:08] <Laz> azzz: отсутствие причин их не включать, не является причиной их включать
[17:34:16] <Laz> Kerrigаn: охуенно не писать на петоне
[17:34:27] <Kerrigаn> не пишу на питоне
[17:34:31] <Laz> охуенно
[17:34:40] <Kerrigаn> охуенно не писать на джанге
[17:34:51] <Kerrigаn> даже охуеннее чем не писать на питоне
[17:35:57] <Laz> палюбому
[17:36:11] <Darth Лис> плюсую
[17:37:39] <Deirz> azzz: паттерн матчинг - это не только перегрузка
[17:38:10] <Deirz> в случае перегрузки выбор функции для вызова определяется количеством и типами аргументов
[17:38:41] <Deirz> в случае паттерн матчинга можешь ещё и значения аргументов учитывать
[17:38:48] <azzz> а
[17:39:19] <azzz> т.е. можно huy(x int) функцию запедалить для аргументов x > 0 и x < 0?
[17:39:27] <azzz> заебца. Да, в эрланге я такое видел
[17:39:41] <Deirz> sum([H|T] -> H + sum(T);
sum([]) -> 0.
[17:39:44] <magister> guard
[17:39:52] <Kerrigаn> azzz: ты про гарды говоришь
[17:39:53] <azzz> вот видите, в эрланге паттернматчинг есть
[17:39:55] <azzz> а в Го - нет
[17:40:05] <azzz> бля
[17:40:10] <Kerrigаn> а там имелась в виду подстановка значений
[17:40:29] <postman> > массив любых типов
[17:40:34] <postman> вы охуели тут что ли, блядь.
[17:40:47] <postman> в массиве по определению элементы одного типа.
[17:40:48] <magister> не любых а конкретных
[17:40:53] <Deirz> газ пора пускать
[17:41:25] postman приподнял ногу и хорошенько приспустил газу
[17:41:42] Kerrigаn бросил в конфу горящую спичку
[17:42:06] <azzz> Kerrigаn: подстановка значений - йопт, значения по-умолчанию?
[17:42:16] <Deirz> нет
[17:42:20] <magister> в эмелях норм, тоже паттерматчинг есть
[17:42:21] <Kerrigаn> azzz: скорее что при этих значениях
[17:42:34] <magister> и <<система типов>>
[17:42:36] <Deirz> azzz: вот в примере выше, даешь список функции
[17:42:36] <Kerrigаn> т.е. a(1, x) - это одна логика
[17:42:43] <Kerrigаn> а а(x, y)  - уже другая
[17:42:55] <postman> »
» [17:30:11] <Laz> ну не ссуть, вопрос был - особенности реализации массивов
» [17:30:28] <Laz> нужно было ответить, что массив - связный список
Список в пистоне - не связный список, а список блоков указателей, если мне память не изменяет.
[17:42:57] <Kerrigаn> и не надо руками проверять
[17:43:21] <Kerrigаn> ну и матчится по очереди
[17:43:30] MaXGGXaM вышел(а) из комнаты
[17:43:36] <azzz> Kerrigаn: а, в первом случае 1 попадет в переменную какую-нибудь и к ней можно будет обратиться изнутри этой функции?
[17:43:39] <Kerrigаn> заматчилось - вычисляется
[17:43:40] <magister> в плюсах тоже классно, ехал auto через auto
[17:44:01] <Kerrigаn> azzz: не попадет
[17:44:14] <Kerrigаn> это значение, а не переменная
[17:45:57] <postman> в эрланге синтаксис пидорский.
[17:46:01] <postman> как в прологе.
[17:46:17] MaXGGXaM вошёл(а) в комнату
[17:46:22] <Deirz> суть там не такая, как в прологе
[17:46:54] <postman> если еда воняет говном, но на вкус как конфета, что ты будешь делать?
[17:46:59] <Kerrigаn> в прологе оно для ограничения перебора
[17:47:21] <Deirz> не воняет
[17:47:23] <azzz> поняль
[17:47:23] <Kerrigаn> postman: можно полить кетчупом и отдать бомжам
[17:47:29] <azzz> и нахуй этот паттерн-матчинг нужен?
[17:47:36] <azzz> я еще понимаю гварды, а эта хренота?
[17:47:38] <Deirz> он охуенен
[17:47:39] <azzz> хрень какая
[17:47:41] <postman> Kerrigаn: ну вот авторы Elixir так и сделали.
[17:47:43] <Kerrigаn> azzz: чтобы не писать гору ифов
[17:47:43] <azzz> хипстерская
[17:47:44] <magister> вот в питоне синтаксис вонючий имхо
[17:47:57] <magister> эмели норм
[17:48:15] <postman> > паттерн-матчинг
> хипстерская хрень
[17:49:27] <Deirz> код функций укорачивается - так как все специальные случаи расписаны в своих блоках, значащий код занимает меньше места
[17:49:42] <Deirz> проще понимать
[17:50:05] <Kxepal> https://github.com/eobrain/funcgo
[17:50:15] <postman> как вы в хачкеле будете деструктуризацию без паттерн-матчинга делать?
[17:50:29] <azzz> в принципе, справедливо
[17:50:41] <azzz> и чего он тогда вам всем тут так не нравится, что вы его даже в Го видеть не хотите?
[17:50:57] <postman> кого?
[17:51:04] <azzz> паттерн матичнга
[17:51:06] <azzz> матчинга
[17:51:16] <postman> в пщ он некритичен, но я бы не отказался.
[17:52:49] sakujii вышел(а) из комнаты
[17:52:53] <postman> http://elixir-lang.org/
[17:53:01] <postman> прям как раби :3
[17:53:02] sakujii вошёл(а) в комнату
[17:53:20] <Deirz> для нормального паттерн-матчинга нужны ADT
[17:53:26] <Deirz> иначе получится плюсня
[17:53:56] <magister> алгебраические типы да
[17:54:09] <azzz> postman: так вроде аффтар раби-раби и вдохновлялся
[17:54:14] <azzz> postman: и даже не скрывает этого
[17:54:22] <postman> Deirz: с натяжкой можно структуры назвать product type.
[17:54:39] <postman> а вот с sum type хуй, наверное.
[18:03:01] smpl вышел(а) из комнаты
[18:08:18] <Laz> интерфейсы же
[18:08:21] <Laz> sum type
[18:08:31] <Laz> ну, почти
[18:08:53] <magister> "Darth Лис: к конкурентности и асинхронным базарам с каналами"
а это и есть ООП
[18:09:08] <postman> это если с рефлектом там как-то попердолиться.
[18:09:16] <Laz> зачем же
[18:09:27] <postman> ну, как бы это выглядело?
[18:09:30] <Laz> interface{} - сумма всех типов
[18:09:37] <postman> а, ты про это.
[18:09:42] <magister> надо все закрытые свойства через замыкания делать
[18:09:44] <Laz> io.Reader - сумма всех типов с методом Read
[18:09:48] <postman> но тогда никакой пользы от такого паттерн-матичнга нет.
[18:10:02] <Laz> и потом тайпсвичом матчить это дело
[18:10:03] <magister> замыкания равносильны объектам
[18:10:05] <Laz> ну да
[18:10:42] <magister> сумма
[18:10:48] <magister> там каждый тип отдельно?
[18:11:04] <Laz> отдельно, да
[18:11:13] <magister> а я хочу сразу несколько
[18:11:29] <Laz> сложи несколько
[18:13:38] <magister> вон в php функция могла в зависимости от аргументов вернуть массив или строку или false  
[18:13:56] <magister> в стандартной либе
[18:14:15] <Laz> очень удобно же
[18:14:25] <Laz> один алгоритм для массивов, строк и булеанов
[18:14:26] <magister> охуенно
[18:14:31] <Laz> мечта аззз
[18:14:33] <magister> надо так писать все
[18:14:44] <magister> потом просто разгребаешь типы
[18:15:23] <postman> а потом оказывается, что и типов-то у тебя нет.
[18:16:58] <magister> да, потомучто "нестрогая типизация"
[18:17:49] <magister> блядская
[18:30:52] postman вышел(а) из комнаты: Replaced by new connection
[18:30:54] postman вошёл(а) в комнату
[18:31:02] postman вышел(а) из комнаты
[19:10:38] wanderer@jabber.ru вышел(а) из комнаты
[19:41:30] postman вошёл(а) в комнату
[19:41:48] <postman> это не академический термин.
[19:51:01] ftrvxmtrx вошёл(а) в комнату
[19:55:43] Laz вышел(а) из комнаты
[20:12:40] <Darth Лис> https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091
[20:16:57] azzz вышел(а) из комнаты
[20:20:38] <Darth Лис> обсудили уже кстати https://tech.dropbox.com/2014/07/open-sourcing-our-go-libraries/ ?
[20:20:55] <Darth Лис> а то я всё пропустил пока по Питерам катался
[20:21:15] wanderer@jabber.ru вошёл(а) в комнату
[20:33:00] <Deirz> Darth Лис: ван россум наверно с покерфейсом сидит
[20:36:11] <Darth Лис> да он уже сам на пщ давно пилит :D
[20:39:18] <Deirz> в твиторе у него только питоньи новости
[20:40:17] <Darth Лис> ну так, держит марку %)
[20:40:45] begemot_sun вышел(а) из комнаты
[20:51:05] Darth Лис вышел(а) из комнаты: Disconnected: session closed
[21:00:23] postman вышел(а) из комнаты
[21:22:11] wanderer@jabber.ru вышел(а) из комнаты
[21:41:05] begemot_sun вошёл(а) в комнату
[22:01:37] <Kerrigаn> как бы мне лучше сделать такой канал, в который можно было бы писать блоками по N-байт, причем пока блок не дописался - чтение блокировалось бы?
[22:05:13] <Deirz> "канал с блоками по N байт" - это канал со слайсами
[22:05:16] <ftrvxmtrx> type UberBlock struct { Block [N]byte }
[22:05:38] <ftrvxmtrx> или почему бы просто не сам массив слать
[22:05:39] <Deirz> либо канал с массивами по N байт, но которые будут копироваться при операциях
[22:05:58] <Deirz> можно ещё упороться и слать указатели на массивы
[22:08:37] azzz вошёл(а) в комнату
[22:08:38] azzz вышел(а) из комнаты
[22:09:59] azzz вошёл(а) в комнату
[22:11:13] azzz вышел(а) из комнаты
[22:12:19] azzz вошёл(а) в комнату
[22:15:37] azzz вышел(а) из комнаты
[22:16:35] azzz вошёл(а) в комнату
[22:18:47] <azzz> Нашел otto, интерпретатор JS написанный на Go. А есть интерпретатор Go, написанный на jS?
[22:19:00] <azzz> Например, если я хочу Го в браузере
[22:19:07] <azzz> сейчас модно всё запускать в браузере
[22:19:20] <Deirz> да, где-то был
[22:19:33] <azzz> шикарно
[22:21:06] <azzz> о, вот оно https://github.com/gopherjs/gopherjs
[22:22:17] wanderer@jabber.ru вошёл(а) в комнату
[22:25:49] <Kerrigаn> Deirz: не, не совсем так
[22:25:51] <magister> azzz, я хочу похапе в браузере
[22:25:55] <Kerrigаn> я хочу какой юзкейс:
[22:26:16] <magister> azzz, шикарно же
[22:26:28] <Kerrigаn> одна горутина пишет в канал байтики и лочится, когда он заполнен
[22:26:39] <Kerrigаn> вторая горутина читает байтики, но только если там все заполнено
[22:26:54] <Kerrigаn> если пусто или меньше чем размер буфера, то блочится
[22:26:59] <magister> лочится
[22:27:50] <Deirz> пиши в буфер
[22:28:02] <Deirz> когда буфер заполнился, отправляй его в канал
[22:32:28] <magister> можешь использовать потоки
[22:32:33] <magister> условные переменные
[22:32:36] <magister> например
[22:32:49] <Kerrigаn> не, нагородить я и сам могу
[22:33:25] <Kerrigаn> мне хотелось бы, чтобы писать можно было по байтику, а читать сразу блоком
[22:34:11] <Deirz> пиши в буфер, как белый человек
[22:34:58] <magister> классический producer-consumer
[22:35:09] <Kerrigаn> ага
[22:51:28] <Kerrigаn> похоже уже не нужно, go-shout жует буфера любого размера
[23:24:06] ermine вышел(а) из комнаты
[23:25:49] begemot_sun вышел(а) из комнаты
[23:28:17] postman вошёл(а) в комнату
[23:31:40] <Deirz> в рассылочке предлагают писать биндинг к дельфёвым контролом
[23:31:42] <Deirz> во славу сотоны!
[23:32:28] <Deirz> *контролам
[23:33:04] <Kerrigаn> Deirz: я видел серьезный доклад на конференции как одна контора писала перловые биндинги к дотнетовым контролам
[23:33:33] <Kerrigаn> зачем они это делали я так и не понял
[23:33:52] <Deirz> во славу сотоны!
[23:33:55] <postman> Deirz: зикхай 14/88
[23:34:15] <Kerrigаn> и это у них вполне крутилось в продакшоне
[23:34:24] <Kerrigаn> на куче операторских машин
[23:38:08] <Kerrigаn> кстати вот их презентация http://www.slideshare.net/umnix/perl-gui
[23:39:06] kms_ вошёл(а) в комнату
[23:39:52] <ftrvxmtrx> затем, что круто же
[23:40:09] <ftrvxmtrx> написали бы биндинги на хаскеле -- было бы ещё круто
[23:40:17] <ftrvxmtrx> *круче
[23:41:09] krab вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!