09.10.2012, 21:20
|
Новичок на форуме
|
|
Регистрация: 12.05.2011
Сообщений: 8
|
|
TypeScript. Впечатления от нового языка
Кто уже пользовался?)
Расскажите, какие впечатления от нового языка Хейлсберга?
Последний раз редактировалось F_Z_14, 09.10.2012 в 21:29.
|
|
10.10.2012, 00:46
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Это JavaScript.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
10.10.2012, 06:04
|
Новичок на форуме
|
|
Регистрация: 12.05.2011
Сообщений: 8
|
|
Сообщение от Nekromancer
|
Это JavaScript.
|
Это не только тот Javascript, который есть сейчас) еще реализация фишек Ecmascript 6 (классы, модули, лямбды и т.д. ) + опциональная статическая типизация.
В релиз еще должны обобщения включить.
|
|
10.10.2012, 07:43
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Открыл их демку.
Передал в конструктор заместо строки массив.
Редактор подчеркнул мне это дело, но успешно сгенерировал JS-код а котором не было ни слова о "типизации", и который спокойно съел массив заместо строки.
Спасибо, но моя IDE так уже умеет.
Закрыл демку
|
|
10.10.2012, 07:49
|
Новичок на форуме
|
|
Регистрация: 12.05.2011
Сообщений: 8
|
|
Они вроде информацию о типе намеренно не включают в скомпилированный js, чтобы не загрязнять код. Сейчас на эту тему дискуссия ведется.
Компилятор TypeScript просто не скомпилирует этот код и сругается, укажет где ошибка. Да и в машинных кодах тоже информации о типе нет)
И ваша IDE так не может уметь) Она может подсветить ошибку, но у вас поддержки со стороны компилятора не будет.
Последний раз редактировалось F_Z_14, 10.10.2012 в 07:53.
|
|
10.10.2012, 08:36
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от F_Z_14
|
Компилятор TypeScript просто не скомпилирует этот код и сругается, укажет где ошибка.
|
Вы читали что я писал выше?
Их он-лайн редактор подсветил мне ошибку, но все равно выдал рабочий JS-код с этой ошибкой
Сообщение от F_Z_14
|
И ваша IDE так не может уметь) Она может подсветить ошибку, но у вас поддержки со стороны компилятора не будет.
|
Да, именно так. У них все ровно то же самое - компилятор успешно скомпилировал код с ошибкой.
Сообщение от F_Z_14
|
Да и в машинных кодах тоже информации о типе нет)
|
Правда что ли?
Давно писали хотя бы на ассемблере?
Неужели ADD и FADD компилируются в одинаковый машинный код?
|
|
10.10.2012, 08:45
|
Новичок на форуме
|
|
Регистрация: 12.05.2011
Сообщений: 8
|
|
Откройте Visual Studio, установите плагин под ts.
Компилятор не скомпилирует код с ошибками.
|
|
10.10.2012, 09:04
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Без понятия как это выглядит в студии, так как их плагин криво встроился в студию, и никаких новых проектов не появилось.
Зато в курсе как это выглядит в ихнем компиляторе на Node.js
Цитата:
|
c:\Projects\ts>tsc helloworld.ts
c:/Projects/ts/helloworld.ts(12,18): Supplied parameters do not match any signature of call target:
Could not apply type 'string' to argument 1, which is of type 'number[]'
|
И в результате успешно скомпилированная программа
|
|
10.10.2012, 09:47
|
|
Профессор
|
|
Регистрация: 06.05.2009
Сообщений: 1,163
|
|
Сообщение от F_Z_14
|
Это не только тот Javascript, который есть сейчас) еще реализация фишек Ecmascript 6 (классы, модули, лямбды и т.д. ) + опциональная статическая типизация.
В релиз еще должны обобщения включить.
|
CoffeeScript это тоже JS, и этот. Никаких фишек он не добавляет, а просто предоставляет сахар для синтаксила и то, что уже давно умеет JSDoc и Google Closure Compiler.
Собственно по вашей логике все, что компилируется в JS -- есть новый язык. Возможно в какой то мере и можно так говорить, но как заметили выше -- TypeScript не генерирует ничего дополнительного в JS, он отдает его почти как есть, превращая классы в стандартные обертки.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
|
|
11.10.2012, 03:22
|
Новичок на форуме
|
|
Регистрация: 12.05.2011
Сообщений: 8
|
|
Сообщение от Nekromancer
|
CoffeeScript это тоже JS, и этот. Никаких фишек он не добавляет, а просто предоставляет сахар для синтаксила и то, что уже давно умеет JSDoc и Google Closure Compiler.
Собственно по вашей логике все, что компилируется в JS -- есть новый язык. Возможно в какой то мере и можно так говорить, но как заметили выше -- TypeScript не генерирует ничего дополнительного в JS, он отдает его почти как есть, превращая классы в стандартные обертки.
|
Все верно. А может быть как-то иначе?) Язык новый, предлагает новые возможности, компилируется в Ecmascript 3 или 5, в зависимости от настроек компилятора. Появится в браузерах поддержка Ecmascript 6, будет компилиться в 6 с классами и модулями. Суть в том, что можно использовать его уже сейчас, в то время как Ecmascript 6 еще будет везде нескоро. Пишите на чистом js, никто же не заставляет писать на ts.
http://social.mirgames.ru/blog/html5/41.html - вот статья интересная по теме
Последний раз редактировалось F_Z_14, 11.10.2012 в 03:32.
|
|
|
|