
Dmitriy
15.12.2017
08:38:11
event-driven это когда событие управляет выполненияем. Причем здесь позднее связывание?
Что мне мешает написать код поверх libev, когда все вызовы будут известны на этапе компиляции?
Где здесь позднее связывание?
Модель акторов, например. Все вызовы тоже будут известны

Google

Dmitriy
15.12.2017
08:39:18
Чем не ED? ED.

Anatoly
15.12.2017
08:39:51
если есть событие за которое я могу зацепиться - я могу в будущем расширить механизм. есть возможность позднего связвания.
если события нет - единственный путь менять код исходного механизма. нет возможности позднего связывания.
для того чтобы были события и я мог за них цепляться - нужна событийная механика внутри системы

Dmitriy
15.12.2017
08:40:50
А чем тебе select/epoll/kqueue не событийная механика?

Anatoly
15.12.2017
08:41:18
epoll - это петля событий. асинхронное исполнение.

Dmitriy
15.12.2017
08:42:22
А мы когда говорим про событийное программирование нам нужны другие слова кроме "событие"?)
Если копнуть глубже, окажется что нам интересны побочные эффекты

Anatoly
15.12.2017
08:43:54
Дмитрий, сорри, но я не готов спорить. Мне лишь нужно знать есть тут у кого то опыт создания больших модульных систем или работы с событийной архитектурой. Если вы не знаете что это такое, я не смогу вам это объяснить.

Dmitriy
15.12.2017
08:44:32
А на чем мсье пишет?)

Anatoly
15.12.2017
08:44:45
так WordPress конечно же ))

Dmitriy
15.12.2017
08:45:12
У меня большой опыт программирования всяких больших штук на эрланге, так что я, наверное, немного таки понимаю в предмете разговора

Anatoly
15.12.2017
08:46:06
Если вы путаете Event Driven & Event Loop и не способны понять разницу - то видимо зря потратили время

Google

Dmitriy
15.12.2017
08:46:16
Да да, конечно

terry
15.12.2017
08:46:17

Vany
15.12.2017
08:56:53
Перл теперь ко мне отойдёт =)
На переле есть Офигенный AnyEvent и доисторическое POE
К теме вопроса - у меня хороший опыт написания модульной системы на перле, когда модули добавляют свои события и слушают общие, но на Го оно не переносится. Наследование слишком куцее, НЕТ МИКСИНОВ!!!
Единственное что я вижу на Го - Это интерфейс Плагин, у которого есть инициализация и регистрация своих именованных хуков, ну так же ему можно дать доступ в нетипизированное межплагинное хранилище данных напрямую.

Anatoly
15.12.2017
09:10:57
сам механизм событий пишется за пару часов. там ничего сложного. и гуглится легко https://github.com/youaresofunny/gohooks
однако одно дело формальное наличие, другое дело опыт использования.
птм и интересно есть ли реальный опыт.

Alexander
15.12.2017
09:13:09
топовая либа))

Anatoly
15.12.2017
09:14:37
нечто похожее есть у Symfony как компонент. у JS есть нативная реализация. у WP/Drupal оно встроено в ядро платформы. у RoR есть некие зачатки в Redmine. Но очень бедно и хрупко.
во всех вариантах есть успешный опыт применения как в рунете, так и у меня. а птм хочется понять есть ли что то подобное у Go сообщества.

Vany
15.12.2017
09:21:40
У нас такое тоже есть, поразвесестие, например, что делать, если один из хуков работает 20 секунд? а 20000 секунд ? =) у нас такой есть. Поэтому хуки приоритезируются и есть отдельная горутина для их выполнения.

Arch
15.12.2017
09:47:52
Народ, скажите, а в го есть какой-то инструментарий по контролю за горутинами? кроме каналов, как узнать сколько их сейчас крутится, список всех горутин, завершить определенные и тд и тп

Ilya
15.12.2017
09:50:10
без костылей никак

John
15.12.2017
09:52:44

Arch
15.12.2017
09:59:10

John
15.12.2017
10:00:15

Arch
15.12.2017
10:01:25
Я хочу проверять не осталось ли у меня зомби горутин))) после закрытия каналов
Чтобы память не утекала

Alexander
15.12.2017
10:02:29

Arch
15.12.2017
10:02:51
Понял)

Google

Vany
15.12.2017
10:09:02

Roman
15.12.2017
13:41:38
в Go 1.9 до сих пор существует overhead вызова C/C++ ?

Nick
15.12.2017
13:44:32
он существует у всех языков с gc

Kirill
15.12.2017
13:45:51

Nick
15.12.2017
13:46:19
чего не будет? gc ?

Kirill
15.12.2017
13:46:40
Оверхеда

Nick
15.12.2017
13:46:47
фантастика

Kirill
15.12.2017
13:46:53
Бинго
Да чего уж там, уже, можно сказать, скатился

Sergey
15.12.2017
14:03:21
чтобы скатиться нужно сначала подняться, а он даже не поднимался

?
15.12.2017
14:04:38
каааааааааааааааак?

Lucky
15.12.2017
14:07:39
И куда теперь с го?

?
15.12.2017
14:08:35
будем ждать, пока кто-то не создаст новый яп?

Tema
15.12.2017
14:08:35

Lee
15.12.2017
14:08:49
Из-за чего кипишь, воу!

Tema
15.12.2017
14:08:51
Rust называется

Lee
15.12.2017
14:09:18
Перестаньте разводить

Kirill
15.12.2017
14:09:52

Tema
15.12.2017
14:10:06

Google

Kirill
15.12.2017
14:10:07
Просто для профилактики жирных

Tema
15.12.2017
14:10:12
накинулся за просто так

Kirill
15.12.2017
14:10:21
Ну правильно, я теперь еще и тролль.

Lee
15.12.2017
14:10:46
Вот из-за таких как вы — приходится выключать уведомления и пропускать важную информацию.

Kirill
15.12.2017
14:11:16
Rust ну такое... там своих приколов хватает. Я понимаю, что есть целый слой Rustодрочеров, которые молятся на него, аки нацисты на пенис Гитлера, но от этого ни Гитлер лучше не становится, ни Rust
Вообще, сравнивать системный язык с языком общего назначения имхо не очень корректно

Admin
ERROR: S client not available

Tema
15.12.2017
14:13:19
ну про Rust было типа в контексте "новый язык"

Kirill
15.12.2017
14:14:58
А, просто какой-нибудь новый?))

Foxcool
15.12.2017
14:15:06
Перл 6
Ща будем перебирать (((:

Anatoly
15.12.2017
14:15:46

Nick
15.12.2017
14:16:24

Anatoly
15.12.2017
14:16:36

Nick
15.12.2017
14:17:24
наивный
рантаим сам себя не напишет

Arch
15.12.2017
14:24:45
А с Го - то что не так стало?
летом что-то про го2 писали

Tema
15.12.2017
14:25:12

Arch
15.12.2017
14:26:08
Кому медленно, попробуйте питон, там реал медленно)))) После питона - исполнение го как глоток свежего воздуха

Google

Dmitriy
15.12.2017
14:39:58
зато скорость разработки наоборот, после го как глоток свежего воздуха

?
15.12.2017
14:41:08
вот и хотелось новый язык
но я уже привык и к питону и к го и уж тем более к пхп?

Dmitriy
15.12.2017
14:42:22
руби попробуйте, если охота красивый язык

Sparrow
15.12.2017
14:42:37
бггг

Dmitriy
15.12.2017
14:42:50
бгг

?
15.12.2017
14:43:01
нет спасибо, там есть некрасивость одна... ща

Dmitriy
15.12.2017
14:43:24
питон норм, а руби бггг . ну ну

?
15.12.2017
14:46:10

Dmitriy
15.12.2017
14:47:25
одного порядка языки

?
15.12.2017
14:47:51
а тут например, посмотри end, if @names.nil? шта блин за @ и ?
class MegaGreeter
attr_accessor :names
# Create the object
def initialize(names = "World")
@names = names
end
# Say hi to everybody
def say_hi
if @names.nil?
puts "..."
elsif @names.respond_to?("each")
# @names is a list of some kind, iterate!
@names.each do |name|
puts "Hello #{name}!"
end
else
puts "Hello #{@names}!"
end
end
end
это вот еще @names.each do |name|

Dmitriy
15.12.2017
14:48:54
@names.nil? тут вообще не надо использовать. просто if @names

Dmitriy
15.12.2017
14:49:03
А что в сигилах не так?

?
15.12.2017
14:49:16
Хотя я Rust смотрел, там еще хуже...

Dmitriy
15.12.2017
14:50:39
@names.each do |name| - это передача блока. Пример убогий кстати

Lee
15.12.2017
15:02:22
Какого хрена?
Я уже подумал, что в чат питонщиков попал

?
15.12.2017
15:02:56