URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 95224
[ Назад ]

Исходное сообщение
"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."

Отправлено opennews , 04-Апр-14 09:48 
Компания  Microsoft опубликовала (http://blogs.msdn.com/b/typescript/archive/2014/04/02/announ...) первый стабильный выпуск языка программирования TypeScript 1.0 (http://typescriptlang.org/), который позиционируется в качестве расширяющего возможности JavaScript языка для разработки web-приложений. Код компилятора, транслирующего код TypeScript в представление JavaScript, распространяется (http://typescript.codeplex.com/) под лицензией Apache, разработка ведётся в публичном репозитории через сервис  CodePlex. Спецификации (http://go.microsoft.com/fwlink/?LinkId=267121) языка открыты и опубликованы в рамках соглашения Open Web Foundation Specification Agreement (http://www.openwebfoundation.org/legal/the-owf-1-0-agreement...).

В отличие от развиваемого компанией Google проекта Dart (http://www.opennet.me/opennews/art.shtml?num=39207), TypeScript не является кардинальной переработкой  JavaScript, а лишь расширяет возможности JavaScript, оставаясь полностью обратно совместимым, что сводит к минимуму затраты на адаптацию существующих приложений. От JavaScript новый язык отличается возможностью явного определения типов, поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей. Статическая типизация позволяет избежать многих ошибок в процессе разработки, даёт возможность задействовать дополнительные техники оптимизации, упрощает отладку и делает код более читаемым и простым для доработки и поддержки сторонними разработчиками.

Основной принцип языка - весь существующий код на JavaScript совместим с TypeScript, т.е. в программах на TypeScript можно использовать стандартные JavaScript-библиотеки и ранее созданные наработки. Более того, можно оставить существующие JavaScript-проекты в неизменном виде, а данные о типизации разместить в виде аннотаций, которые можно поместить в отдельные файлы, которые не будут мешать разработке и прямому использованию проекта (например, подобный подход удобен при разработке JavaScript-библиотек). Кроме аннотаций данные о типах могут быть определены с использованием "generic", что позволяет  вводить специальные дополнительные параметры типов, которые дают возможность выявлять ошибки в реализации классов, интерфейсов и методов без дополнительных аннотаций типов (например, генерик для функции map позволяет считать, что переменные создаваемые конструкциями в которых используется map можно рассматривать как числовые).
<center><a href="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/communit... src="http://www.opennet.me/opennews/pics_base/0_1349168351.png" style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border="0">


Итоговое приложение на TypeScript компилируется в обычный JavaScript, который можно выполнить в любом современном web-браузере или использовать совместно с серверной платформой Node.js. Редактировать код можно в штатных редакторах, например, файлы для восприятия расширенного синтаксиса TypeScript уже подготовлены для Vim и Emacs. Для разработки с использованием TypeScript предлагаются плагины для интегрированных сред разработки Eclipse (https://github.com/palantir/eclipse-typescript) и Visual Studio 2012. Начиная с весеннего обновления Visual Studio 2013 и Visual Studio Web Express 2013, поддержка TypeScript включена в базовую поставку.  Файлы с декларациями статических типов подготовлены для некоторых популярных JavaScript-библиотек, среди которых jQuery.


URL: http://blogs.msdn.com/b/typescript/archive/2014/04/02/announ...
Новость: http://www.opennet.me/opennews/art.shtml?num=39488


Содержание

Сообщения в этом обсуждении
"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 09:48 
Очень крутая штука для больших проектов, где строгая типизация решает.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 09:56 
А что js уже поддерживает строгую типизацию или TypeScript транслировать в asm.js? Если конечный язык а это js не поддерживает строгой типизации то и профит не велик.
А вообще расскажите чем строгая типизация решает в больших проектах?

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено imprtat , 04-Апр-14 10:29 
>>А вообще расскажите чем строгая типизация решает в больших проектах?

Строгая типизация позволяет предотвратить множество ошибок на этапе написания кода, что существенно сокращает затраты времени на дебаг и багфикс. Самое плохое что из-за ошибки с неправильным типом приложение может работать (не падать), возможно даже правильно, жить такой баг может очень долго, а когда кодовая база увеличится искать ошибку будет сложнее. По этому лучше получить ошибку на этапе компиляции, чем узнать про нее слишком поздно или никогда.
Для IDE работа с JS вообще катастрофа, например, без типа переменных они не могут определить можно ли передать ее в качестве аргумента ф-ии, в добавок к этому множество контекстов с ссылками на другие контексты создают ад в котором сложно найти ф-ии/переменные доступные из текущего контекста.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 11:00 
опять все перемешали читайте  http://habrahabr.ru/post/161205/

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Rodegast , 04-Апр-14 15:31 
Учи матчасть. Строгая и Статическая типизация это абсолютно разные вещи.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rshadow , 04-Апр-14 16:01 
> Считаете нужным исправить - исправьте

Скальпель в студию!


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено angra , 04-Апр-14 19:57 
Строгая типизация позволяет дурачкам быть уверенными, что у них все правильно, даже если на самом деле есть ошибка. Если в функцию передали не ту переменную или переменные не в том порядке, но при этом тип совпал, то данный вызов не станет корректным с точки зрения логики, но будет таковым с точки зрения транслятора и дурачок будет радоваться, что его программка собралась.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 23:11 
Компилируется == Работает

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено тоже Аноним , 06-Апр-14 11:12 
Работает != Делает то, что имел в виду программист

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 05-Апр-14 17:45 
Дурачок не понимает что в одном случае можно отловить определённый класс ошибок, а в другом - принципиально нельзя. А то что кто-то делает вывод о корректности программы только на основании отсутствия ошибок компиляции - это вы других по себе судите.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено imprtat , 06-Апр-14 00:37 
> Строгая типизация позволяет дурачкам быть уверенными, что у них все правильно, даже
> если на самом деле есть ошибка. Если в функцию передали не
> ту переменную или переменные не в том порядке, но при этом
> тип совпал, то данный вызов не станет корректным с точки зрения
> логики, но будет таковым с точки зрения транслятора и дурачок будет
> радоваться, что его программка собралась.

Конечно, но при динамической типизации ф-ия может "работать" как с аргументом нужного типа, так и с "левым". В посте выше я ошибся, говоря про статическую типизацию, но при сравнении динамической типизации со строгой проявляются те же проблемы.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Вячеслав , 30-Апр-14 12:11 
Строгая типизация позволяет на этапе компиляции избавиться от тех ошибок, которые пришлось бы искать и отлаживать уже в запущенной программе.

И да, ТОЛЬКО дурачки уверены, что раз программа собралась, то все работает, ибо статическая типизация - не панацея, а инструмент, позволяющий предотвратить множество ошибок.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено fi , 04-Апр-14 22:29 
Только что наш разработчик прошелся по граблям со строгой типизацией в php aka '===', тут вот грабли и поперли - код то работает, то не работает, в зависимости откуда идут данные - то там строка вида '1', то тоже самое целое.

Так что не панацея, 100%!


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Вячеслав , 30-Апр-14 12:12 
Не панацея, но инструмент.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rob pike , 04-Апр-14 10:32 
>больших проектов, где строгая типизация решает

Нет, не решает.
Серебряной пули не существует.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rob pike , 04-Апр-14 15:04 
Является ли целью разработки ПО упрощение жизни разработчикам?

Можно вот, как Сиверс, просто всех посылать с их патчами - это еще более упрощает жизнь.

Вопрос - повышается ли от этого качество или иные параметры разработки.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rob pike , 04-Апр-14 16:23 
Ну зачем же так? Вы бы лучше подумали над тем что вам говорят.
Проблемы не заключаются в типизации per se. А в квалификации разработчиков, сложности проекта и многих иных вещах.
И если вы соберете ваш проект без единого warning-a, это не является не только гарантией чего бы то ни было, но и даже индикатором того что вероятность его падения в рантайме стала сколько-нибудь меньше. Если вам нравятся иллюзии - ваше право, конечно, особенно если именно это вы имели в виду говоря об упрощении жизни.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rob pike , 04-Апр-14 18:40 
>У каждого решения, у каждого типа типизации свои преимущества и недостатки

Какие мудрые слова. И как же это сообразуется с выдвинутым прежде тезисом о том что типизация исключительно упрощает жизнь?


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Michael Shigorin , 04-Апр-14 20:38 
> Очень крутая штука для больших проектов, где строгая типизация решает.

С таким мышлением было бы логично сразу двигать на ocaml, а не застревать на полумерах.  Но на самом деле логика за высказыванием могла отличаться...


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 09:58 
Чем он лучше, CoffeScript ?

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 11:29 
Он не лучше, он другой. Cofe - синтаксический сахар в стиле Ruby, Type - в стиле C#.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rob pike , 04-Апр-14 15:06 
Только ClojureScript, только хардкор


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Вячеслав , 30-Апр-14 12:13 
Фишка кофескрипта - синтаксический сахар, а тайпскрипта - статическая типизация.

Для крупных проектов это очень важно.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено John , 04-Апр-14 10:22 
Обычный подход этой конторы: влезть и "улучшить" (завязать на себя). Мне любопытно: неужели до сих пор на это кто-то ведётся?

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Отражение луны , 04-Апр-14 10:34 
Каким образом TypeScript завяжет кого-то на Майкрософт? Это не замена js, предлагаю сначала разобраться, а потом уже начать хейтить.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 11:02 
> Каким образом TypeScript завяжет кого-то на Майкрософт? Это не замена js, предлагаю
> сначала разобраться, а потом уже начать хейтить.

Разобрались, CoffeScript появился куда раньше и выглядит гораздо лучше


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Вячеслав , 30-Апр-14 12:14 
Если вам нужен сахар - берите кофескрипт, если нужна проверка типов - берите тайпскрипт.

Эти языки не конкурируют, а решают разные задачи.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Michael Shigorin , 30-Апр-14 18:40 
> Если вам нужен сахар - берите кофескрипт, если нужна проверка типов -
> берите тайпскрипт.

С учётом того, что на js скорее не пишу, а проверку типов проходил на Modula-2 -- сейчас бы скорее сдул пыть с книжки по ocaml, если уж нужны строгие типы.  Потому что они и впрямь разумней с выведением, а не самому гоняться с мухобойкой.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 11:31 
Стратегия МС: Embrace, Extend, Extinguish.

Сначала embrace: "ого, джаваскрипт! круто! свободно! опенсорсно! как же легко и приятно следовать стандартам!".
Теперь вот попытка extend: "давайте чуть-чуть расширим вот здесь и здесь, будет еще лучше! конечно же, все останется обратно совместимым, честно-честно!".
Extinguish, как нас уже учила не раз история (Kerberos, IE6, Java - первое, что пришло на ум) будет заключаться в том, что вот про это "честно-честно!" однажды (или постепенно - это неважно) возьмут и забудут. И все.

Противиться тупескрипту можно уже на основании вышесказанного. Кто не знает свою историю, тот обречен ее повторить.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено клоун Стаканчик , 04-Апр-14 12:14 
А теперь приложительно к systemD, пожалуйста.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 12:55 
И на системды управа найдётся, не переживай.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 17:58 
...а вот и первый поциент! Тебе, как первому - зонд только на полшишечки.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 11:01 
Просто оставлю это здесь:
http://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 11:06 
думаешь хомячкам это нужно? Пусть жрут кактус со вкусом ванили дальше

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено анонимус , 04-Апр-14 11:43 
> Компания Microsoft опубликовала первый стабильный выпуск языка программирования TypeScript 1.0, который позиционируется в качестве расширяющего возможности JavaScript языка для разработки web-приложений

До сих пор пытаются использовать стратегию Embrace, Extend, and Extinguish?


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено rob pike , 04-Апр-14 15:07 
А что, она перестала работать?

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 12:13 
Сначала прочитал как TrueCrypt, потом увидел Microsoft, потом у меня чуть не произошёл приступ паранойи :)

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 12:34 
Скоро у любой компании будет собственный язык программирования, не важно какой, главное что без его наличия нельзя будет получить признание пользователей

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Lain_13 , 04-Апр-14 15:16 
Данунахрен, если вносить глобальные улучшения, то давайте сразу Dart, а не это огрызочное решение.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Тот_Самый_Анонимус , 04-Апр-14 15:24 
Когда замену готовит гугел, то все фапают на гугел, когда майкрософт, то все ядом исходятся, хотя абе фирмы - акулы. Что творится с миром?

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Lain_13 , 04-Апр-14 16:03 
У Гугла реально переработанное решение, которое касается далеко не только типизации и классов, но затрагивает даже DOM. В принципе TS не плох в качестве сиюминутной меры, но в долгосрочной перспективе Dart смотрится лучше.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Crazy Alex , 04-Апр-14 16:31 
Так и TS можно дальше развивать - возможно ещё и с дальнейшим сохранением обратной совместимости. Не то, чтобы я был против дарта - но философия typescript - "давайте типизируем как можно больше - для компилятора и человека", а у дарта - "давайте типизируем там, где деваться некуда - для компилятора". Лично мне первое ближе.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Lain_13 , 04-Апр-14 17:09 
У Дарта же «давайте приведёт в порядок для всех то, что представляет из себя кучу мусора и временных решений». Вон в JS сколько разных функций для выбора элемента на странице, в Dart же оставили только querySelector и querySelectorAll, коих более чем достаточно. Множества потомков в DOM же стали настоящими массивами, а не притворяются таковыми. Так что Dart куда больше «для людей», чем TS. Причём уже, а не «можно дорабатывать». Сохранение же обратной совместимости только усугубляет проблемы с JS. В принципе можно заменить JS на TS как очередную обратно совместимую заплатку на косяки JS и ввести параллельно Dart. Собственно никто и не предлагает _заменить_ JS на Dart.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Вячеслав , 30-Апр-14 12:16 
Тайпскрипт можно использовать уже сейчас, а дарт еще не скоро.

"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Lain_13_too_lazy_to_login , 30-Апр-14 13:59 
> Тайпскрипт можно использовать уже сейчас, а дарт еще не скоро.

Сборки Хрома с Дартом уже есть, компиляция в обычный JS в качестве временного решения тоже есть. Сиди да пользуйся сколько влезет. В чём проблема-то? А выкатывать хоть сколько-то серьёзный код ни на TS, ни на Dart пока не время и раньше, чем поддержка оного из них появится во всех хоть сколько-то серьёзных браузерах, говорить об их использовании смысла имеет мало. А экспериментировать — это всегда пожалуйста прямо хоть здесь и сейчас.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 18:02 
>

"Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого. Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие."

13 лет прошло с момента написания, а ведь поди ж ты - не стареет, как сказка о рыбаке и золотой рыбке.


"Увидел свет TypeScript 1.0, продвигаемый Microsoft в качеств..."
Отправлено Аноним , 04-Апр-14 20:27 
MS уже поздно http://coffeescript.org/ ну и Dart