
Вася
27.10.2018
15:28:20
ну тебе наверное димон про это более подробно расскажет (@ZeroBias ), или например климов. но вот тебе с обывательской точки зрения выводы
мне такая типизация, которую дает тс - в хуй не всралась ?
точнее ее вывод типов

Viktor
27.10.2018
15:29:35

Google

Вася
27.10.2018
15:29:50
ну тут и кроется проблема ?
попробуй написать меееелкий юай, но на тс и на флоу
одно и то же
есстественно редактор настрой нормально

Wthigo
27.10.2018
15:30:46
Но мб в моей голове чуть хронология нарушилась того что он говорил

Вася
27.10.2018
15:31:16
там в вс код, насколько я знаю, проблемы, но в виме это легко свитчися
если юзаешь вим, то даже тебе могу скинуть переключалку с флоу на тс (есствественно с оговорками ? )

Viktor
27.10.2018
15:31:59

Вася
27.10.2018
15:32:58
у меня месяц назад болело - для styled-components есть типы для веба, а для нэтива нету

Google

Wthigo
27.10.2018
15:33:49
Ну я писал год назад с флоу, все клево выводится, но тайпингов действительно готовых было порой мало

Вася
27.10.2018
15:34:00

Wthigo
27.10.2018
15:34:02
И во флоу тайпд или как там репа называется порой такой шлак с any был

Вася
27.10.2018
15:34:24
ну и в тс есть такое

Viktor
27.10.2018
15:34:35

Speed of
27.10.2018
15:35:31
а вот в чем главное отличие Vue от React? Ну или не главные, но существенные

Viktor
27.10.2018
15:35:35
говорят, там ошибки несколько странно изложены (знаю, к такому можно привыкнуть, TS не особо лучше, валит по 30 строк зачастую, хотя я так привык уже парсить их бытро глазами), и что они вылетают изнутри node_modules

Speed of
27.10.2018
15:36:48
если задавать этот вопрос челу которйы пишет на вью, его ответ будет - потому что всью лучше (обобщен)

Wthigo
27.10.2018
15:36:48
Потомки во флоу енамы завезли?

Вася
27.10.2018
15:36:58
ну и кстати, по поводу тс
я на самом деле очень хуевый программист, и не знаю всех пинципов ооп, и хуй мое, но для меня малька дико выглядит когда кенты в тс описывают props для функционального компонента как interface
прям до сих пор в голову не могу уложить почему

Viktor
27.10.2018
15:40:03

Вася
27.10.2018
15:40:20
> Props и Interface
чевой?
а, ок =)
ну вот, ебаная дуальность
для меня всегда интерфейс был описанием примерного поведения класса
но видимо я чета перепутал
точнее ожидаемого поведения класса

Google

Viktor
27.10.2018
15:42:50
Я отредактировал там уже, задумался и опечатался :)
interface'ы - это ленивый вывод типов (это свойство требуется очень редно, например, чтобы описать некоторые специфические рекурсивные структуры), упрощенный вывод ошибок (interface вываливает меньше своих внутренностей, хотя мне вообще на это начхать) и "интерфейсная авторасширяемость"
в 99% задач разницы нет

Вася
27.10.2018
15:43:17
так и какой ленивый типо может быть для пропсов?
я пока отойду на 10 минут, сорян, Виктор

Viktor
27.10.2018
15:44:37
для меня всегда интерфейс был описанием примерного поведения класса
джаваскрипт вообще сильно повлиял на мое монимание программирования, потому что там все концепции жутко смешаны, и мне приходилось долгое время выделять какие-то метаязыковые общности (то, что существует вне границ конкретного языка программирования) чтобы как-то соотносить вещи с терминологией из других языков (и ярко выраженных в них парадигм)

Вася
27.10.2018
15:45:10
ну тут дима должен ворваться со своей неновистью к абстракциями

Viktor
27.10.2018
15:45:20
в JS невозможно четко привязаться к структуре, потому что каждый др*чит как хочет, выражая API в каком-то собственном стиле

Default
27.10.2018
15:45:46

Вася
27.10.2018
15:45:56

Viktor
27.10.2018
15:46:01

Вася
27.10.2018
15:46:07
ладно, 10 мин
ставь меня в форвард - прийду - отвечу
точнее в реплай

Default
27.10.2018
15:46:24
А, нет, он тут

Viktor
27.10.2018
15:46:38
сейчас будет рейд-босс??

Default
27.10.2018
15:46:55
Если хотите – призывайте :)

Viktor
27.10.2018
15:49:11

Wthigo
27.10.2018
15:54:24
так, ладно, кажется меня поплавило и климов топит за флоу, но предлагает писать на ангуляре, но его гребцы пишут на реакте. Ошибся, каюсь
https://www.youtube.com/watch?v=Jn9ZIE9Bjaw

Дмитрий
27.10.2018
15:55:26

Viktor
27.10.2018
15:55:53

Google

Viktor
27.10.2018
15:56:09
надо будет - пересяду, хотя и нехотя :)

Дмитрий
27.10.2018
15:56:28

Вася
27.10.2018
15:57:50

Viktor
27.10.2018
15:58:48
дело в том, что в океане структурной тайпскриптовской типизации, enum'ы - номинальные типы

Дмитрий
27.10.2018
15:59:24
Цифры
Номинальные типы топчик, но не такие

Вася
27.10.2018
16:00:13
- (тс) - пссс, парень, у нас есть енамы
- (флоу) - э, братан, у тебя тут возможная дуальность, не хочешь пофиксить
- (ты) - я точно уверен что там не прийдет ничего, кроме того что приходет сейчас
- (флоу) - да мне похуй, я тебе как не верил, так и не верить буду. ты пиздобол. проверя
- (ты) - ок
---- через месяц ----
пупупурупум, лупану сюда еще один аргумент (проперти, че угодно)
- (флоу) - ага, засранец, я жу говорил
вот так это обычно бывает

Viktor
27.10.2018
16:00:44
Цифры
там и цифры и строки (в качестве ключей) поддерживаются, и это одна из конструкций в TS, которая транспилируется в код (еще одна - namespace's)
Номинальные типы топчик, но не такие
я не имею широкого опыта в номинальных. Сейчас мне кажется (в рамках js), что структурное совпадение типов на уровне сигнатур свойств и методов - достаточно для типобезопасности и очень удобно

Вася
27.10.2018
16:02:48

Viktor
27.10.2018
16:03:08
- (тс) - пссс, парень, у нас есть енамы
- (флоу) - э, братан, у тебя тут возможная дуальность, не хочешь пофиксить
- (ты) - я точно уверен что там не прийдет ничего, кроме того что приходет сейчас
- (флоу) - да мне похуй, я тебе как не верил, так и не верить буду. ты пиздобол. проверя
- (ты) - ок
---- через месяц ----
пупупурупум, лупану сюда еще один аргумент (проперти, че угодно)
- (флоу) - ага, засранец, я жу говорил
?

sb_
27.10.2018
16:03:10
export default ({
error = null,
fixtures = [],
isFetchingMain = false,
handleClick = () => {},
}) => {
return (
<Fragment>
<button onClick={() => handleClick('this is console logged')}>getPopularMain</button>
{isFetchingMain && "LOADING..."}
{error && ((error.response || {}).data || error.message || 'Request Failed!')}
{!!fixtures.length && fixtures.map(main => <li>{main.homeTeamName} vs {main.homeTeamName}</li>)}
</Fragment>
)
}

Вася
27.10.2018
16:03:30

Дмитрий
27.10.2018
16:04:19
Я просто не расцениваю типы как нечто обособленное; ошибка в src? Поправь, ошибка в flow-typed? Даже не думай что-либо менять ?

Viktor
27.10.2018
16:04:20

Дмитрий
27.10.2018
16:04:30
Ну ну

Вася
27.10.2018
16:04:59

Google

Viktor
27.10.2018
16:05:04

Вася
27.10.2018
16:05:08
не так давно сталкиался

Viktor
27.10.2018
16:05:17
в JS то типы всегда есть, даже если мы не пишем аннотации

Дмитрий
27.10.2018
16:05:21

Viktor
27.10.2018
16:05:30
но кто об этом задумывается?

Дмитрий
27.10.2018
16:05:45
нет, я отказываюсь воспринимать заголовочные файлы как что-то отдельное, это просто часть кодовой базы

Viktor
27.10.2018
16:07:05
любой тип - это всего лишь множество значений, которые к нему можно подсунуть, а это чистейшая абстракция

Вася
27.10.2018
16:07:49

Viktor
27.10.2018
16:07:50
то есть тип - это абстрагирование от конкретного значения, вот что я хочу сказать

Дмитрий
27.10.2018
16:07:56
Не любой тип
В этом ключевая разница

Andrey
27.10.2018
16:08:14

Дмитрий
27.10.2018
16:09:14
Есть типы у которых для тебя принципиально нет никакой формы
Есть типы к которым подобное понятие вообще не применимо

Viktor
27.10.2018
16:10:13

Дмитрий
27.10.2018
16:10:56
Теория множеств — это ошибочный ориентир, у типов другие законы, которые изучаются теорией типов

Wthigo
27.10.2018
16:12:17
Я пришел на проект где весь проект был покрыт any на флоу (ток примитивы пропы для реакт компонентов были написаны). И я чет психанул выпилил, так как практической пользы ноль (а opaque типы я как-то мимо себя пропустил хотя мб когда я писал еще их не было)

Viktor
27.10.2018
16:12:28

Andrey
27.10.2018
16:12:42