1.1, Аноним (-), 09:48, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Очень крутая штука для больших проектов, где строгая типизация решает.
| |
|
2.2, Аноним (-), 09:56, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
А что js уже поддерживает строгую типизацию или TypeScript транслировать в asm.js? Если конечный язык а это js не поддерживает строгой типизации то и профит не велик.
А вообще расскажите чем строгая типизация решает в больших проектах?
| |
|
3.6, imprtat (ok), 10:29, 04/04/2014 [^] [^^] [^^^] [ответить]
| –2 +/– |
>>А вообще расскажите чем строгая типизация решает в больших проектах?
Строгая типизация позволяет предотвратить множество ошибок на этапе написания кода, что существенно сокращает затраты времени на дебаг и багфикс. Самое плохое что из-за ошибки с неправильным типом приложение может работать (не падать), возможно даже правильно, жить такой баг может очень долго, а когда кодовая база увеличится искать ошибку будет сложнее. По этому лучше получить ошибку на этапе компиляции, чем узнать про нее слишком поздно или никогда.
Для IDE работа с JS вообще катастрофа, например, без типа переменных они не могут определить можно ли передать ее в качестве аргумента ф-ии, в добавок к этому множество контекстов с ссылками на другие контексты создают ад в котором сложно найти ф-ии/переменные доступные из текущего контекста.
| |
|
4.36, Rodegast (??), 15:31, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Учи матчасть. Строгая и Статическая типизация это абсолютно разные вещи.
| |
|
|
Часть нити удалена модератором |
6.39, rshadow (ok), 16:01, 04/04/2014 [ответить]
| +2 +/– |
> Считаете нужным исправить - исправьте
Скальпель в студию!
| |
|
|
4.53, angra (ok), 19:57, 04/04/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
Строгая типизация позволяет дурачкам быть уверенными, что у них все правильно, даже если на самом деле есть ошибка. Если в функцию передали не ту переменную или переменные не в том порядке, но при этом тип совпал, то данный вызов не станет корректным с точки зрения логики, но будет таковым с точки зрения транслятора и дурачок будет радоваться, что его программка собралась.
| |
|
5.58, Аноним (-), 17:45, 05/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Дурачок не понимает что в одном случае можно отловить определённый класс ошибок, а в другом - принципиально нельзя. А то что кто-то делает вывод о корректности программы только на основании отсутствия ошибок компиляции - это вы других по себе судите.
| |
5.59, imprtat (ok), 00:37, 06/04/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Строгая типизация позволяет дурачкам быть уверенными, что у них все правильно, даже
> если на самом деле есть ошибка. Если в функцию передали не
> ту переменную или переменные не в том порядке, но при этом
> тип совпал, то данный вызов не станет корректным с точки зрения
> логики, но будет таковым с точки зрения транслятора и дурачок будет
> радоваться, что его программка собралась.
Конечно, но при динамической типизации ф-ия может "работать" как с аргументом нужного типа, так и с "левым". В посте выше я ошибся, говоря про статическую типизацию, но при сравнении динамической типизации со строгой проявляются те же проблемы.
| |
5.61, Вячеслав (??), 12:11, 30/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Строгая типизация позволяет на этапе компиляции избавиться от тех ошибок, которые пришлось бы искать и отлаживать уже в запущенной программе.
И да, ТОЛЬКО дурачки уверены, что раз программа собралась, то все работает, ибо статическая типизация - не панацея, а инструмент, позволяющий предотвратить множество ошибок.
| |
|
4.56, fi (ok), 22:29, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Только что наш разработчик прошелся по граблям со строгой типизацией в php aka '===', тут вот грабли и поперли - код то работает, то не работает, в зависимости откуда идут данные - то там строка вида '1', то тоже самое целое.
Так что не панацея, 100%!
| |
|
|
2.7, rob pike (?), 10:32, 04/04/2014 [^] [^^] [^^^] [ответить]
| +3 +/– |
>больших проектов, где строгая типизация решает
Нет, не решает.
Серебряной пули не существует.
| |
|
|
Часть нити удалена модератором |
4.31, rob pike (?), 15:04, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Является ли целью разработки ПО упрощение жизни разработчикам?
Можно вот, как Сиверс, просто всех посылать с их патчами - это еще более упрощает жизнь.
Вопрос - повышается ли от этого качество или иные параметры разработки.
| |
|
|
Часть нити удалена модератором |
6.42, rob pike (?), 16:23, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну зачем же так? Вы бы лучше подумали над тем что вам говорят.
Проблемы не заключаются в типизации per se. А в квалификации разработчиков, сложности проекта и многих иных вещах.
И если вы соберете ваш проект без единого warning-a, это не является не только гарантией чего бы то ни было, но и даже индикатором того что вероятность его падения в рантайме стала сколько-нибудь меньше. Если вам нравятся иллюзии - ваше право, конечно, особенно если именно это вы имели в виду говоря об упрощении жизни.
| |
|
|
Часть нити удалена модератором |
8.52, rob pike (?), 18:40, 04/04/2014 [ответить] | +3 +/– | Какие мудрые слова И как же это сообразуется с выдвинутым прежде тезисом о том ... текст свёрнут, показать | |
|
|
|
|
|
|
2.55, Michael Shigorin (ok), 20:38, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Очень крутая штука для больших проектов, где строгая типизация решает.
С таким мышлением было бы логично сразу двигать на ocaml, а не застревать на полумерах. Но на самом деле логика за высказыванием могла отличаться...
| |
|
|
2.18, Аноним (-), 11:29, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Он не лучше, он другой. Cofe - синтаксический сахар в стиле Ruby, Type - в стиле C#.
| |
2.63, Вячеслав (??), 12:13, 30/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Фишка кофескрипта - синтаксический сахар, а тайпскрипта - статическая типизация.
Для крупных проектов это очень важно.
| |
|
1.5, John (??), 10:22, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +9 +/– |
Обычный подход этой конторы: влезть и "улучшить" (завязать на себя). Мне любопытно: неужели до сих пор на это кто-то ведётся?
| |
|
2.8, Отражение луны (ok), 10:34, 04/04/2014 [^] [^^] [^^^] [ответить]
| –2 +/– |
Каким образом TypeScript завяжет кого-то на Майкрософт? Это не замена js, предлагаю сначала разобраться, а потом уже начать хейтить.
| |
|
3.14, Аноним (-), 11:02, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Каким образом TypeScript завяжет кого-то на Майкрософт? Это не замена js, предлагаю
> сначала разобраться, а потом уже начать хейтить.
Разобрались, CoffeScript появился куда раньше и выглядит гораздо лучше
| |
|
4.64, Вячеслав (??), 12:14, 30/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Если вам нужен сахар - берите кофескрипт, если нужна проверка типов - берите тайпскрипт.
Эти языки не конкурируют, а решают разные задачи.
| |
|
5.67, Michael Shigorin (ok), 18:40, 30/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Если вам нужен сахар - берите кофескрипт, если нужна проверка типов -
> берите тайпскрипт.
С учётом того, что на js скорее не пишу, а проверку типов проходил на Modula-2 -- сейчас бы скорее сдул пыть с книжки по ocaml, если уж нужны строгие типы. Потому что они и впрямь разумней с выведением, а не самому гоняться с мухобойкой.
| |
|
|
3.20, Аноним (-), 11:31, 04/04/2014 [^] [^^] [^^^] [ответить]
| +3 +/– |
Стратегия МС: Embrace, Extend, Extinguish.
Сначала embrace: "ого, джаваскрипт! круто! свободно! опенсорсно! как же легко и приятно следовать стандартам!".
Теперь вот попытка extend: "давайте чуть-чуть расширим вот здесь и здесь, будет еще лучше! конечно же, все останется обратно совместимым, честно-честно!".
Extinguish, как нас уже учила не раз история (Kerberos, IE6, Java - первое, что пришло на ум) будет заключаться в том, что вот про это "честно-честно!" однажды (или постепенно - это неважно) возьмут и забудут. И все.
Противиться тупескрипту можно уже на основании вышесказанного. Кто не знает свою историю, тот обречен ее повторить.
| |
3.49, Аноним (-), 17:58, 04/04/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
...а вот и первый поциент! Тебе, как первому - зонд только на полшишечки.
| |
|
|
|
2.15, Аноним (-), 11:06, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
думаешь хомячкам это нужно? Пусть жрут кактус со вкусом ванили дальше
| |
|
1.21, анонимус (??), 11:43, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Компания Microsoft опубликовала первый стабильный выпуск языка программирования TypeScript 1.0, который позиционируется в качестве расширяющего возможности JavaScript языка для разработки web-приложений
До сих пор пытаются использовать стратегию Embrace, Extend, and Extinguish?
| |
1.25, Аноним (-), 12:13, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сначала прочитал как TrueCrypt, потом увидел Microsoft, потом у меня чуть не произошёл приступ паранойи :)
| |
1.27, Аноним (-), 12:34, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Скоро у любой компании будет собственный язык программирования, не важно какой, главное что без его наличия нельзя будет получить признание пользователей
| |
1.34, Lain_13 (ok), 15:16, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Данунахрен, если вносить глобальные улучшения, то давайте сразу Dart, а не это огрызочное решение.
| |
1.35, Тот_Самый_Анонимус (?), 15:24, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Когда замену готовит гугел, то все фапают на гугел, когда майкрософт, то все ядом исходятся, хотя абе фирмы - акулы. Что творится с миром?
| |
|
2.41, Lain_13 (ok), 16:03, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
У Гугла реально переработанное решение, которое касается далеко не только типизации и классов, но затрагивает даже DOM. В принципе TS не плох в качестве сиюминутной меры, но в долгосрочной перспективе Dart смотрится лучше.
| |
|
3.43, Crazy Alex (ok), 16:31, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Так и TS можно дальше развивать - возможно ещё и с дальнейшим сохранением обратной совместимости. Не то, чтобы я был против дарта - но философия typescript - "давайте типизируем как можно больше - для компилятора и человека", а у дарта - "давайте типизируем там, где деваться некуда - для компилятора". Лично мне первое ближе.
| |
|
4.45, Lain_13 (ok), 17:09, 04/04/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
У Дарта же «давайте приведёт в порядок для всех то, что представляет из себя кучу мусора и временных решений». Вон в JS сколько разных функций для выбора элемента на странице, в Dart же оставили только querySelector и querySelectorAll, коих более чем достаточно. Множества потомков в DOM же стали настоящими массивами, а не притворяются таковыми. Так что Dart куда больше «для людей», чем TS. Причём уже, а не «можно дорабатывать». Сохранение же обратной совместимости только усугубляет проблемы с JS. В принципе можно заменить JS на TS как очередную обратно совместимую заплатку на косяки JS и ввести параллельно Dart. Собственно никто и не предлагает _заменить_ JS на Dart.
| |
|
|
6.66, Lain_13_too_lazy_to_login (?), 13:59, 30/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Тайпскрипт можно использовать уже сейчас, а дарт еще не скоро.
Сборки Хрома с Дартом уже есть, компиляция в обычный JS в качестве временного решения тоже есть. Сиди да пользуйся сколько влезет. В чём проблема-то? А выкатывать хоть сколько-то серьёзный код ни на TS, ни на Dart пока не время и раньше, чем поддержка оного из них появится во всех хоть сколько-то серьёзных браузерах, говорить об их использовании смысла имеет мало. А экспериментировать — это всегда пожалуйста прямо хоть здесь и сейчас.
| |
|
|
|
|
|
1.50, Аноним (-), 18:02, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
>
"Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого. Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие."
13 лет прошло с момента написания, а ведь поди ж ты - не стареет, как сказка о рыбаке и золотой рыбке.
| |
|