Slava
теперь заживём
Michael
компилируемый руби
Michael
тот момент когда шмузи начинает отпускать
Сережа
пацаны, а если питон транслировать в с++ и откомпилировать будет скорость с++?
Сережа
сдается мне что в вашей поделке скорость тоже от руби будет
Michael
типа гил?
Slava
это же не руби
Slava
типа кложи
Сережа
кложа это лисп с с выражениями, там этого нет
Сережа
и синтаксис похож на руби
Сережа
не знаю зачем я это смотрел
Slava
я имел ввиду что это всего лишь расширение для языка го, но не порт ruby, как недавно был почти полный порт питона на го
Slava
ну и там интерпретатор, а не компилятор
Slava
вообще это хороший проект для обучения, как писать интерпретаторы
Slava
там в конце даже ссылка есть на книжку
Slava
https://interpreterbook.com/
Slava
слушали последний выпуск девзена? ребята из okmeter используют go для клиентов, которые метрики отправляют и очень довольны http://devzen.ru/episode-0148/
Сережа
я так и не понял, что ты имел ввиду про кложу, кложа не расширение языка джава - а новый язык, кложа - компилируется, а не интерпретируется
Slava
здесь тоже новый язык, со вкусом руби и использует го как интерпретатор
Slava
посыл был в том, что это не руби, который компилируется в го
Сережа
кажется понял
Anatoly
но это не точно
Aleksey
#вакансия #работа #релокация #офис #backend Доброго дня. Международная компания из сферы онлайн игр и гемблинга наймет Backend Developer. Требуется: - опыт коммерческой разработки на бекэнде от 3-х лет - знание и умение Go - опыт с SQL и NoSQL выше самых простых запросов - понимание Scrum/Kanban и следование принципам TDD - плюсом будет опыт/знание JavaScript, Angular и/или React Условия: - офис в Таллине, фултайм - 2500-3500 EUR на руки Контакт: tygertrail@gmail.com ЛС могу пропустить
engelbart
А вот после godep save планируется ли vendor папку в git засовывать, или так как мы имеем ревизии в godep.json это не нужно? Что скажете
Ivahaev
Я бы сказал, что по желанию.
Ivahaev
Репозиторий могут удалить и скачать будет неоткуда :)
Pavel
ребят что лучше на ваш взгляд: kubernetes или docker swarm? аргументировнно пожалуйста
Anonymous
Как уже было сказано выше - попросить показать код, с которым придется работать
Roman
Архитектурный вопрос: есть ли у event loop'а преимущество перед green thread'ами единственное мне известное преимущество event loop'а это отсутствие конкуррентного программирования, т.е. ручной синхронизации а ещё есть?
Daniel
а?!
Сережа
грин треды это абстракция поверх евент лупа, соответственно евент луп менее ресурсозатратен наверн
Daniel
коллеги
Daniel
коллеги
Daniel
остановитесь, рогатые твари!
Ivan
А вот после godep save планируется ли vendor папку в git засовывать, или так как мы имеем ревизии в godep.json это не нужно? Что скажете
не засовывай. Но тогда не удивляйся, что в один день твой проект может перестать собираться.
Daniel
гринтреды - термин из java 1.0, означал псевдотреды на кооперативной многозадачности
Daniel
нет, конечно
Сережа
в чем принципиальные отличия?
Daniel
но сетевой ввод-вывод в go на событиях, насколько я знаю
Roman
но сетевой ввод-вывод в go на событиях, насколько я знаю
ну там на самом деле select (poll, epoll kpoll etc.)
Daniel
которые не события, да
Roman
в чем принципиальные отличия?
в написании кода... в то время как на green thread'ах можно писать блокирующий код - на event loop'е это катастрофа
Roman
это с точки зрения пользователя
Ivahaev
ребят что лучше на ваш взгляд: kubernetes или docker swarm? аргументировнно пожалуйста
Такие вопросы напоминают этот бородатый тред: https://www.anekdot.ru/id/117802/
Сережа
event loop -> получает событие -> вызывает callback
Сережа
scheduler -> переключение контекста -> выставляет instruction pointer
Roman
всё верно, event loop имеет только 1 поток выполнения бизнес логики, green thread'ы могут выполняться параллельно
Сережа
как по мне так scheduler работает как event loop где события - это тригер переключение контекса (runtime.gosched(), системный вызов и т.д.)
Сережа
эмммм
Сережа
вроде бы в бусте есть асио
Сережа
и там ты можешь пул потоков назначить на обработку сервиса
Сережа
тогда события поступающие в ивент луп могут работать параллельно?
Сережа
на потоках пула?
Daniel
asio - это не гринтреды
Сережа
я этого и не говорил
Daniel
о чем то все?.. а, о преймуществах эвентлупа перед гринтредами!
Roman
как по мне так scheduler работает как event loop где события - это тригер переключение контекса (runtime.gosched(), системный вызов и т.д.)
в данном вопросе мы исходим из точки зрения пользователя (программиста естественно), как реализован scheduler - неважно и не видно, главное что код мы пишем на green thread'ax. А с event loop'ом код мы пишем на callback'ах, promise'ах и т.д.
Сережа
в гринтредах ты пишешь синхронный код, а о том, чтобы его сделать асинхронным заботиться шедулер, все так по-моему
Сережа
ну ты спрашивал в чем преимущество event loop'а - он уровнем ниже, соответственно накладных расходов может быть меньше, при правильном приготовлении
Daniel
он уровнем глубже :)
Daniel
но накладные расходы на переключение контекста - это из эпохи одноядерных процессоров (P3) страшилка
Roman
однако в event loop'е огромная проблема с написанием блокирующего кода
Roman
новички любят синхронный код код блокируя этим event loop, это катастрофа
Сережа
callback hell?
Daniel
он, родимый
Daniel
вернее, нет
Vanya
callback hell уже сто лет не актуален
Сережа
это другая проблема
Daniel
это вторая проблема, из которой проистекает первая
Сережа
но она стоит острее
Сережа
по крайней мере на си и плюсах
Сережа
на древних компиляторах
Roman
против callback hell есть инструменты например Promises, на данный момент разрабатываю библиотеку асинхронного программирования для Qt: https://qbeon.github.io/QuickStreams/
Vanya
уже столько сахара накрутили и паттернов, что коллбэк хэла уже давно нет
Roman
там ещё более продвинутый подход.. asynchronous programming in streams
Сережа
в кутэ же система событий во фреймворке, зачем там асинхронная библиотека?