У этого доклада, ровно те-же проблемы что и у подкаста веб-стандарты: люди которые его делают, не разбираются в том, о чем они рассказывают. Все о чем говорит автор доклада *не имеет никакого отношения к JavaScript* Автор доклада рассуждает о проблемах API существующего в браузере. Это API не имеет никакого отношения к языку, кроме разве что того, что язык имеет возможность его вызвать. То есть ни setTimeout ни наличие EventLoop ни особенности его работы - не являются частью языка JavaScript. Это части HOST системы, которая выполняет RunTime, который обеспечивает работу в рамках спецификации JS. То есть автор доклада, рассуждает о проблемах реализации конкретной HOST системы, а не о JS. *JavaScript это встраиваемый язык у которого нет и не может быть своего ввода вывода* Я могу запустить рантайм JS в любой системе реального времени. Например minix которая сертифицирована как система реального времени для использования на атомных эллектростанциях, в критически важных для точно выполнения задачах. И внезапно, через API получать там время с точностью до наносекунд. Почему? Потому, что EventLoop как я сказал уже выше, это часть стандарта HTML5. И все особенности его работы связаны только с этим стандартом. А не с JavaScript. Разработчик который встраивает RunTime в HOST систему, вправе сделать так как ему хочется, в том числе сделать очереди срабатывающие с точностью которые есть у HOST системы. 00:14:54 *Реализация setTimeout в V8* То, что показывает автор доклада, это не реализация setTimeout в V8. Более того это вообще не V8. То что показывает автор, это пример, который лежит в дереве исходников V8, простой интеграции V8 в любую HOST систему. Иначе говоря, автор доклада смотрит в исходники примера простой реализации шела для V8, которая собирается как d8. Более того, если бы автор дал бы себе труд, хоть чуть чуть разобраться в исходнике, он бы увидел, что реализация setTimeout для d8 представляет из себя заглушку, которая срабатывает сразу же, как только вызывается setTimeout, игнорируя задержку. В V8 не существует реализации setTimeout. В JavaScript не существует setTimeout. В V8 не существует EventLoop. В JavaScript не существует EventLoop. *В JavaScript принципиально не может существовать подобных технологий, потому что это язык в котором нет и не будет своего ввода/вывода* *ИГОГО* Это позорище а не доклад. Он не только демонстрирует некомпетентность автора, но и вводит в заблуждение слушателей, что многократно хуже.
00:16:36 *Рассуждения про await* Докладчику показалось мало того, как он перепутал исходники, он еще решил не оставить ни у кого сомнений в том, что он еще и ничего не понимает в самом JavaScript. await это конструкция, которая выполняет одну единственную функцию - выполнение yeild из async функции, которая является генератором. И ожидание разрешения промиса в любое из состояний. На уровне await НЕ МОЖЕТ существовать никаких оптимизаций. Потому, что в противном случае это приведет к несовместимости со спецификацией и как следствие отсуствию гарантий, что HOST система Node выполняет код JavaScript в соответствии со стандартами. Все оптимизации, о которых фантазирует автор, могли бы быть сделаны только на уровне самого API. Потому, что самому языку JS не нужны подобные оптимизации. 00:16:52 *Сейчас все пишут Await-ами* У меня для докладчика плохие новости. await тами пишут только молодые программисты, которые не умеют в асинхронность. И чтобы не сломать себе мозг, они пишут асинхронный код как синхронный. Чем не только просаживают свой код в производительности (async awaite это сахар над генераторами, которые очень сложно поддаются оптимизации) но и теряют все преимущества, которые дает асинхронный код. По этой причине, любой код написанный профессиональным разработчиком в JS начисто лишен async await ов. Простите но дальше слушать это я не могу. Автор некомпетентен и не имеет никакого права делать подобные доклады.
И это очень хорошо годится при разработке систем электронных очередей на приёмы и прочие события, а также расписания мероприятии в режиме реального времени. Одна из систем должна быть построена на вебе!
@@albrehtdurer557 электрон не движется быстрее скорости света. электрический ток это не 1 электрон. когда на проводнике возникает разность потенциалов. то все электроны движутся одновременно. ток возникает сразу на всем протяжении проводника. скорость света тут вообще не причем.
Хороший доклад, такие интересные аспекты раскрыли.
У этого доклада, ровно те-же проблемы что и у подкаста веб-стандарты: люди которые его делают,
не разбираются в том, о чем они рассказывают.
Все о чем говорит автор доклада *не имеет никакого отношения к JavaScript*
Автор доклада рассуждает о проблемах API существующего в браузере.
Это API не имеет никакого отношения к языку, кроме разве что того, что язык имеет
возможность его вызвать.
То есть ни setTimeout ни наличие EventLoop ни особенности его работы - не являются
частью языка JavaScript. Это части HOST системы, которая выполняет RunTime, который
обеспечивает работу в рамках спецификации JS.
То есть автор доклада, рассуждает о проблемах реализации конкретной HOST системы,
а не о JS.
*JavaScript это встраиваемый язык у которого нет и не может быть своего ввода вывода*
Я могу запустить рантайм JS в любой системе реального времени. Например minix
которая сертифицирована как система реального времени для использования на атомных эллектростанциях,
в критически важных для точно выполнения задачах.
И внезапно, через API получать там время с точностью до наносекунд.
Почему? Потому, что EventLoop как я сказал уже выше, это часть стандарта HTML5. И все особенности
его работы связаны только с этим стандартом. А не с JavaScript.
Разработчик который встраивает RunTime в HOST систему, вправе сделать так как ему хочется,
в том числе сделать очереди срабатывающие с точностью которые есть у HOST системы.
00:14:54 *Реализация setTimeout в V8*
То, что показывает автор доклада, это не реализация setTimeout в V8. Более того это вообще не V8.
То что показывает автор, это пример, который лежит в дереве исходников V8, простой интеграции V8
в любую HOST систему.
Иначе говоря, автор доклада смотрит в исходники примера простой реализации шела для V8, которая собирается как d8.
Более того, если бы автор дал бы себе труд, хоть чуть чуть разобраться в исходнике, он бы увидел,
что реализация setTimeout для d8 представляет из себя заглушку, которая срабатывает сразу же,
как только вызывается setTimeout, игнорируя задержку.
В V8 не существует реализации setTimeout. В JavaScript не существует setTimeout.
В V8 не существует EventLoop. В JavaScript не существует EventLoop.
*В JavaScript принципиально не может существовать подобных технологий, потому что это язык в котором нет и не будет своего ввода/вывода*
*ИГОГО*
Это позорище а не доклад.
Он не только демонстрирует некомпетентность автора, но и вводит в заблуждение слушателей,
что многократно хуже.
00:16:36 *Рассуждения про await*
Докладчику показалось мало того, как он перепутал исходники, он еще решил не оставить ни у кого
сомнений в том, что он еще и ничего не понимает в самом JavaScript.
await это конструкция, которая выполняет одну единственную функцию - выполнение yeild из async функции,
которая является генератором. И ожидание разрешения промиса в любое из состояний.
На уровне await НЕ МОЖЕТ существовать никаких оптимизаций. Потому, что в противном случае это приведет
к несовместимости со спецификацией и как следствие отсуствию гарантий, что HOST система Node выполняет
код JavaScript в соответствии со стандартами.
Все оптимизации, о которых фантазирует автор, могли бы быть сделаны только на уровне самого API. Потому, что
самому языку JS не нужны подобные оптимизации.
00:16:52 *Сейчас все пишут Await-ами*
У меня для докладчика плохие новости. await тами пишут только молодые программисты, которые не умеют
в асинхронность. И чтобы не сломать себе мозг, они пишут асинхронный код как синхронный. Чем не только
просаживают свой код в производительности (async awaite это сахар над генераторами, которые очень сложно
поддаются оптимизации) но и теряют все преимущества, которые дает асинхронный код.
По этой причине, любой код написанный профессиональным разработчиком в JS начисто лишен async await ов.
Простите но дальше слушать это я не могу.
Автор некомпетентен и не имеет никакого права делать подобные доклады.
Хороший доклад. Вывод - точное время практически невозможно
И это очень хорошо годится при разработке систем электронных очередей на приёмы и прочие события, а также расписания мероприятии в режиме реального времени. Одна из систем должна быть построена на вебе!
Было интересно. Спасибо.
Кто всё-таки пишет в ту самую виртуальную память время? Куда эта виртуальная память замаплена?
Т.е. сначала RTC, а если что - NTP-сервер.
Никита молодец!
Не просто так мне нравится Никита, когда он соведущий "Веб-стандартов", который мне нравится слушать;-)
Доклад хороший, но как по мне слишком много воды. Я так и не понял, как нормально показывать попап о том, что сессия закончилась.
хороший, но непонятный. класс.
так и было задумано - напиздеть ниочем на 57 минут....
про скорость света и скорость электрона - поучи физику. доклад понравился
А у Вас, ....в той физике.... которую Вы "поучили" электроны быстрее света могут двигаться?))
@@albrehtdurer557 электрон не движется быстрее скорости света. электрический ток это не 1 электрон. когда на проводнике возникает разность потенциалов. то все электроны движутся одновременно. ток возникает сразу на всем протяжении проводника. скорость света тут вообще не причем.
@@dmitryfokin5205 Спасибо Кэп ! ))