Главная страница
Конфиденциальность
Информация для авторов
Наши контакты

НОВЫЕ ФИЛЬМЫ И СЕРИАЛЫ ОБНОВЛЕНО СЕГОДНЯ

 





Формат Размер Скачать

Информация о видео


Название :  
Продолжительность :  
Пользователь :  id 793288641471
Дата публикации :   ript src=
Просмотры :   layer\/9383995e\/www-embed-player.vflset\/www-embed-player.js
Понравилось :   1,268
Не понравилось :   68


Кадры из видео




Комментарии к видео



@pick-pock
На сегодня проект закрыт. Артём, спасибо за попытку сделать лучше 👍🏼
Комментарий от : @pick-pock


@dmitry4337
Пример #1 на ts V 4.9 пофикшен уже выводится number | undefined, пример с id очень легко типизировать через шаблон ```const id = <T>(x: T): T => x;```, проблемы связанные со структурной типизацией решаются брендированием
Комментарий от : @dmitry4337


@user-fg6ng7ej6w
такие доклады очень круты - выявляют проблемные места распиареных технологий. не всё так гладко в мире TS.
Комментарий от : @user-fg6ng7ej6w


@jeststk3257
А как без проверки типов в рантайме валидировать/типизировать приходящие с сервера данные?
Комментарий от : @jeststk3257


@mephistotel87
Очень крутая идея! С интересом слежу за вашим проектом. Но до успеха ему, в лучшем случае, лет 4-5 нужно будет.

Как финансируется проект? Или это хобби проект на энтузиазме?
Если вы читаете .d.ts файлы - как обрабатываются их Typescript типы, например тот же any?

Комментарий от : @mephistotel87


@rustonelove
В общем, перед сном решил для протокола разобрать примеры автора - godbolt.org/z/NDLy1c Очевидно, что сравнения с растом не получилось - это дерьмо не может ни во что. Там я привёл пару пруфвов против тезисов автора(там на тему вывода типов в расте для лямбд). Этого будет достаточно. Посмотрим на ответы автора.
Комментарий от : @rustonelove


@rustonelove
Давайте не будем спорить. Лучше поговорим о типизации. Вы там хотели доказательств того, почему система типов раста говно - вот показываю пример, о котором я уже множество раз говорил. Берём кресты: godbolt.org/z/sRmWZv
Я даже не буду говорить о какой-то там выразительности и том, что это бездарное дерьмо никогда не сможет в подобное. Сейчас не об этом. Хотя выразительность в данном случае так же обусловлена системой типов и её мощностью, но то тоже ладно.
Проблема здесь следующая. С++ знает, что есть несколько типов трансформаций и несколько типов контейнеров. Вектор является RA-контейнером. Если мы применим к нему трансформацию, которая сохраняет RA - оно будет работать. transform - это ваш map.
А вот фильтр не сохраняет RA и после нельзя применить [], которые подразумевают RA. RA в данном случае - random access, т.е. доступ по индексу за O(1).
У вас была примитивная вариация такого подхода - это пример с model. Дак вот - раст в такое не может. Там нету вывода типов. И пародия на них в лябмдах никак не помогает, потому как это не С++/js-лямбды и их применение крайне ограничено. Да даже в C++ применение лямбд ограничено, как и в js.

Комментарий от : @rustonelove


@rustonelove
38:40 - никакого подхода раста не существует. Ну ведь автор ничего не знает про раст и типизацию - зачем он пользуется тем, что его ЦА не знает ещё больше? Раст на 90% состоит из динамического диспатча как по интерфейсам так и по юнионам. Для того, что-бы такое делать - нужно знать типы в рантайме. Тоже самое пусть автор погуглит про std::any, typeid и прочее. Либо почитает про С++ откуда всё это было взято.
В любом случае раст никакого отношения к языком "полностью типизированным" не относится. Типизация там хуже, чем в TS.
38:50 - можно. Но это не про раст и не про js.
39:35 - как хорошо быть жертвой пропаганды. Ничего не знает, но экспертно заявляет. В расте всё это есть. И null pointer и какой угодно поинтер. И к системе типов это не имеет никакого отношения.
39:40 - невежество в массы. Никаких null pointer exception в С++ нет и быть не может. Автор перепутал с жавой. И к типизации это не имеет никакого отношения. Это как деление на ноль. Или ещё любая другая рантайм-ошибка. Которая никак не обрабатывается убогой системой типов автора. И аналогичной оной системой типов раста.
39:45 - хорошая система и проверка типов? В расте? Ну про жертву пропаганды я уже говорил.
39:46 - всё что нужно знать об данном эксперте. Раст уже не нормальный язык, потому как там есть any. Как же так?

Комментарий от : @rustonelove


@rustonelove
31:40 - пошла жара. TS действительно имеет проблему, но она там взялась не из-за того, что авторы TS идиоты. Структурная типизация даёт множество фишек, а в замен даёт одну проблему. И из этого никак не следует, что решение плохое и его нужно поменять. Просто нужно добавить хинт.
Но, автор опять пытается всех обмануть. Его примитивная система типов не способна дать то, что может дать TS. И она попросту убога. Но что же он говорит? Он говорит, что так и нужно. Нужно убого. Он опять пытается выдать слабость за фичу.
32:10 - враньё переходит уже все границы. Автор показывает некую особенно TS и говорит "нельзя" и вы думаете, что действительно нельзя. Но всё можно - id<T>(x: T) {return x;}. Причём это не является проблемой, потому как если функция будет объявлена в контексте, где уже описана её сигнатура - она возьмёт сигнатуру из контекста. А если ты вне контекста хочешь создать генерик-функцию - объяви это явно. Это поведение обусловлено совместимостью с js.
34:15 - это не зависимые типы. К тому же, сразу видно костыли убогой системы типов. Для получения каких-либо трансформаций типов убогой систему типов нужна магия. Нормальной же системе типов - нет. И лучше бы он нам показал как реализована его магия. Ну и по поводу TS - враньё - вот пруф: bit.ly/3ffQFzR

Комментарий от : @rustonelove


@rustonelove
29:45 - пошло враньё. Автор здесь пытается вам обмануть, а именно выдать убогость своего вывода типов за фичу. Если проще - то, что здесь показано - это не слабость TS - это специальные фичи, которые расширяют типизацию. А автор показывая вам своё изваяние называет дефолтное поведение фичёй.
Строгость типизации никак не относится к явно. Когда вам говорят обратное - вас пытаются обмануть. Задача типизации полностью покрыть рантайм-логику. И если в рантайм-логике этот неявный каст существует - он должен быть описан на уровне типов. Автор же просто не осилил и решил выдать слабость за фичу.
Это очень просто проверяется - почему же он не показал ОШИБКИ, которые допустим ts неявными кастами? Правильно, потому что их нет.
29:56 - А далее автор опять пытается всех обмануть. То, что твоя примитивная система описания типов не позволяет учитывать неявные трансформации типов - это проблема твоей типизации(убогой). И автор убогость выдаёт за фишку.
30:30 - это позор. Автор просто начал манипулировать. Следим за руками. Контекст у нас "различия между моим и ТС" и тут бам - он показывает что-то. И мы должны думать, что в TS всё не так. Но нет - там всё так же. И зачем этот пример привёл автор?
30:46 - здесь автор совсем поломался. js скриптуха и никак не может быть полностью типизирован, потому как типы в нём вторичны. По этой причине все рантайм-проверки не должны учитывать типизацию - это базовое правило. Авторы TS его осилил, а данный эксперт нет. Да, оно бесполезно.

Комментарий от : @rustonelove


@rustonelove
Меня не перестаёт удивлять то как веб-гении с ничтожными познаниями берутся рассуждать о расте, С++. Понимаю, что там с тебя никто не спросит, но всё же.
9:58 - C++ не имеет вывода типов в твоём понимании. Типизация в С++ - это совершенно другая реальность, которая настолько сильно превосходит всё, что ты знаешь.
10:00 - никакого вывода типов в расте нет. Как же эпично обманул вас этот эксперт. В расте есть вывод типов(ну как вывод - огрызок для примитивных кейсов) только для лябд.
10:02 - типы не проаннотированы и в С++. Пациент либо не знает, либо в очередной раз пытается вас обмануть. Дело в том, что в C++ auto - это не только типовая аннотация. Это ещё и признак декларации. И везде он используется именно как признак декларации - как аннотация он не имеет смысла. И о чудо, если мы уберём эту аннотацию - мы потеряем признак декларации. И это решается костылём let, которого нет в С++. А let - это говно, по определению. Причина тому проста. Признаком декларации в С++ является любая аннотация, а не только auto.
И если мы желаем написать string x; - мы там и пишем. В костыльном let-говне мы так не можем. Мы обязаны оставить let и получить let x: string.

Комментарий от : @rustonelove


@vladikboldakov2901
Сколько раз он выпил водички в конце?)))
Комментарий от : @vladikboldakov2901


@telychkomykola
Крутой чувак . Смотрел стримы как он разрабатывал этот типизатор .
Комментарий от : @telychkomykola


@sergeyvolkov9061
Это было очень круто, спасибо!
Подписался, поддержу

Комментарий от : @sergeyvolkov9061


@Mazai58
Артём красава!
Комментарий от : @Mazai58


@ivankochurkin1720
По поводу youtu.be/GIHrPm_YAIc?t=209 - в C# и Java также будет ошибка во время рантайма, смотри gist.github.com/KvanTTT/e3d75635d67620e5769a96376b597516 И там точно индекс 2 имелся в виду, а не 1? Если массивы индексируются от 0, то ошибка возникнет до проверки типов, индекс вне диапазона.
Комментарий от : @ivankochurkin1720


@dmitry7464
доклад можно было переименовать: "До чего доводит flow"
Комментарий от : @dmitry7464


@rselivanov
Не могу отделаться от ощущения что про статическую типизацию в JS мне рассказывает Лев Против >_<'
Доклад отличный!

Комментарий от : @rselivanov


@dimontd
Ссылка на полезные ссылки из доклада
github.com/JSMonk/hegel-literature

Комментарий от : @dimontd


@SuperArtgun
Отличный инженерный подход, красавчик !
Комментарий от : @SuperArtgun



Похожие на видео



Генсек НАТО рассказал о борьбе с коронавирусом | В России объяснили отказ Украины от договоренностей по Донбассу | Раскрыты подробности смерти 39 летнего мужчины с коронавирусом | Украинский фотограф поснимала «единственную красавицу в семье Кардашьян» в бикини | Заболевшего коронавирусом на закрытой базе российского атлета госпитализировали | Названо условие спада заболеваемости коронавирусом в России | Число зараженных коронавирусом в мире достигло 1 миллиона | Число жертв коронавируса в мире превысило 50 тысяч человек | В Москве умер 39 летний мужчина с коронавирусом | В России предложили начать национализацию | В Подмосковье усилили меры по борьбе с коронавирусом | Благодарные итальянцы приготовили российским врачам борщ и посеяли раздор в сети | Двух офицеров МВД задержали за крупную взятку в Москве | Макгрегор отреагировал на отмену боя Нурмагомедова с Фергюсоном | Саудовскую Аравию убедили резко снизить добычу нефти