Сообщение Re[35]: А что мешает заменить JS? от 24.03.2017 13:37
Изменено 24.03.2017 14:46 Serginio1
S>>В дарте тоже типизация опциональна.
V>Э, нет. В Дарте опционально отсутствие типизации.
Покажи ка эту опцию.
V>По-умолчанию всё типизировано.
Так и в TS типизация включена по умолчанию в TsConfig "noImplicitAny": true
https://angular.io/docs/ts/latest/guide/typescript-configuration.html
А вот кто эту опцию убирает, ССЗБ
V>>>Ведь не проблема была бы в некоем TS сделать нормальную типизацию. Это, как раз, не сложно. Фишка ведь в том, что имеющийся убогий JS-код должен быть валидным TS-кодом. Т.е., программист имеет принципиальную возможность продолжать писать убогие JS-конструкции в исходнике TS, это будет ОК с т.з. компилятора. А всё вместе это будет ж-па.
S>>Это зависит от программиста.
V>Именно!
V>А не хочу зависимости от человеческого фактора.
V>Я сам себе в первую очередь не доверяю на относительно больших проектах.
V>А уж кому-то еще... у-у-у-у )))
Так и Dart позволяет any по умолчанию. Его на свалку!
S>>Еще раз TS позволяет писать строго типизированные приложения с автоматическим выводом типа для результата функций и тд.
V>Что тебе вот до сих пор не понятно:
V>
Он может писать и на Dart писать без типов. Зачем ему тогда вообще TS использовать? ES6 это по сути не типизированный TS.V>имеющийся убогий JS-код должен быть валидным TS-кодом. Т.е., программист имеет принципиальную возможность продолжать писать убогие JS-конструкции в исходнике TS, это будет ОК с т.з. компилятора. А всё вместе это будет ж-па.
Ты то кстати на чем пишешь? Или из области не писал, но осуждаю?
Еще раз можно и на C# писать только на динамиках используя питоны и прочие динамические языки.
V>Не пора ли уже включить голову, а?
Во во. Если у меня все типизировано без any, да и any только по делу, а как правило это может быть составной тип string|number
Если же ты используешь JS это твои проблемы.
S>>В дарте тоже типизация опциональна.
V>Э, нет. В Дарте опционально отсутствие типизации.
Покажи ка эту опцию.
Читай ниже. Все таки нужно знать предмет о котором ты ведешь речь.
V>По-умолчанию всё типизировано.
Так и в TS типизация включена по умолчанию в TsConfig "noImplicitAny": true
https://angular.io/docs/ts/latest/guide/typescript-configuration.html
А вот кто эту опцию убирает, ССЗБ
V>>>Ведь не проблема была бы в некоем TS сделать нормальную типизацию. Это, как раз, не сложно. Фишка ведь в том, что имеющийся убогий JS-код должен быть валидным TS-кодом. Т.е., программист имеет принципиальную возможность продолжать писать убогие JS-конструкции в исходнике TS, это будет ОК с т.з. компилятора. А всё вместе это будет ж-па.
S>>Это зависит от программиста.
V>Именно!
V>А не хочу зависимости от человеческого фактора.
V>Я сам себе в первую очередь не доверяю на относительно больших проектах.
V>А уж кому-то еще... у-у-у-у )))
Так и Dart позволяет any по умолчанию. Его на свалку!
S>>Еще раз TS позволяет писать строго типизированные приложения с автоматическим выводом типа для результата функций и тд.
V>Что тебе вот до сих пор не понятно:
V>
Он может писать и на Dart писать без типов. Зачем ему тогда вообще TS использовать? ES6 это по сути не типизированный TS.V>имеющийся убогий JS-код должен быть валидным TS-кодом. Т.е., программист имеет принципиальную возможность продолжать писать убогие JS-конструкции в исходнике TS, это будет ОК с т.з. компилятора. А всё вместе это будет ж-па.
Ты то кстати на чем пишешь? Или из области не писал, но осуждаю?
Еще раз можно и на C# писать только на динамиках используя питоны и прочие динамические языки.
V>Не пора ли уже включить голову, а?
Во во. Если у меня все типизировано без any, да и any только по делу, а как правило это может быть составной тип string|number
Если же ты используешь JS это твои проблемы.
Еще раз читаем про твой любимый Dart
https://www.dartlang.org/articles/language/optional-types
переведу Гугл переводчиком
Использование типов
Как вы используете типы зависит от вас. Если вы ненавидите типы, вам не нужно их вообще использовать. Вы не получите никаких предупреждений типа, и вы можете развиваться в том стиле, в котором вы чувствуете себя комфортно на других динамических языках. Вы по-прежнему можете пользоваться типами, потому что библиотеки Dart имеют сигнатуры типов, которые сообщают вам, что они ожидают и что они возвращают. Если вы запустите проверенный режим и передадите плохие аргументы в библиотеку, проверочный режим обнаружит это в том месте, где вы допустили ошибку.
Если вы любите типы, вы можете использовать их везде, как на статически типизированном языке. Однако даже тогда вы не получите такой же уровень статической проверки. Правила Дарта гораздо менее жесткие. Мы ожидаем предоставления дополнительных инструментов, которые могли бы интерпретировать аннотации типов более строго для тех, кто любит такие вещи.
Мы не рекомендуем ни одну из этих крайностей. Используйте типы, в которых они имеют смысл. Самое ценное, что вы можете сделать, это добавить типы в заголовки публичных членов ваших библиотек. Далее, сделайте то же самое для частных. Даже если никто не должен поддерживать код, вам будет полезно, если вы оставите код и вернетесь через несколько недель или месяцев. В обоих случаях вам необязательно добавлять типы в тела методов или функций. Пользователи библиотеки получают значение из сигнатур типов, даже если они не точны на 100%.
В рамках функций функций он может не всегда оплачивать аннотации объявлений. Иногда код достаточно прост, что на самом деле не имеет значения, и типы могут просто создавать беспорядок.
Как правило, вы должны разрабатывать свой код, не позволяя соображениям типа влиять на ваш дизайн. В некоторых случаях существуют альтернативные проекты, один из которых лучше работает с типами, чем с другим. Например, вместо того, чтобы передавать строки, обозначающие имена функций, которые вызывают, если вы можете передать функцию, ваш код будет более эффективным и более простым для проверки типов. Дарт отговаривает безвозмездное использование отражения другими средствами. Однако вы не должны стесняться использовать отражение, когда оно действительно имеет смысл.