Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.10.2012, 21:20
Новичок на форуме
Отправить личное сообщение для F_Z_14 Посмотреть профиль Найти все сообщения от F_Z_14
 
Регистрация: 12.05.2011
Сообщений: 8

TypeScript. Впечатления от нового языка
Кто уже пользовался?)
Расскажите, какие впечатления от нового языка Хейлсберга?

Последний раз редактировалось F_Z_14, 09.10.2012 в 21:29.
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2012, 00:46
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Это JavaScript.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2012, 06:04
Новичок на форуме
Отправить личное сообщение для F_Z_14 Посмотреть профиль Найти все сообщения от F_Z_14
 
Регистрация: 12.05.2011
Сообщений: 8

Сообщение от Nekromancer Посмотреть сообщение
Это JavaScript.
Это не только тот Javascript, который есть сейчас) еще реализация фишек Ecmascript 6 (классы, модули, лямбды и т.д. ) + опциональная статическая типизация.
В релиз еще должны обобщения включить.
Ответить с цитированием
  #4 (permalink)  
Старый 10.10.2012, 07:43
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Открыл их демку.
Передал в конструктор заместо строки массив.
Редактор подчеркнул мне это дело, но успешно сгенерировал JS-код а котором не было ни слова о "типизации", и который спокойно съел массив заместо строки.
Спасибо, но моя IDE так уже умеет.
Закрыл демку
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2012, 07:49
Новичок на форуме
Отправить личное сообщение для F_Z_14 Посмотреть профиль Найти все сообщения от F_Z_14
 
Регистрация: 12.05.2011
Сообщений: 8

Они вроде информацию о типе намеренно не включают в скомпилированный js, чтобы не загрязнять код. Сейчас на эту тему дискуссия ведется.
Компилятор TypeScript просто не скомпилирует этот код и сругается, укажет где ошибка. Да и в машинных кодах тоже информации о типе нет)
И ваша IDE так не может уметь) Она может подсветить ошибку, но у вас поддержки со стороны компилятора не будет.

Последний раз редактировалось F_Z_14, 10.10.2012 в 07:53.
Ответить с цитированием
  #6 (permalink)  
Старый 10.10.2012, 08:36
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от F_Z_14
Компилятор TypeScript просто не скомпилирует этот код и сругается, укажет где ошибка.
Вы читали что я писал выше?
Их он-лайн редактор подсветил мне ошибку, но все равно выдал рабочий JS-код с этой ошибкой
Сообщение от F_Z_14
И ваша IDE так не может уметь) Она может подсветить ошибку, но у вас поддержки со стороны компилятора не будет.
Да, именно так. У них все ровно то же самое - компилятор успешно скомпилировал код с ошибкой.
Сообщение от F_Z_14
Да и в машинных кодах тоже информации о типе нет)
Правда что ли?
Давно писали хотя бы на ассемблере?
Неужели ADD и FADD компилируются в одинаковый машинный код?
Ответить с цитированием
  #7 (permalink)  
Старый 10.10.2012, 08:45
Новичок на форуме
Отправить личное сообщение для F_Z_14 Посмотреть профиль Найти все сообщения от F_Z_14
 
Регистрация: 12.05.2011
Сообщений: 8

Откройте Visual Studio, установите плагин под ts.
Компилятор не скомпилирует код с ошибками.
Ответить с цитированием
  #8 (permalink)  
Старый 10.10.2012, 09:04
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 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[]'
И в результате успешно скомпилированная программа
Ответить с цитированием
  #9 (permalink)  
Старый 10.10.2012, 09:47
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Сообщение от F_Z_14 Посмотреть сообщение
Это не только тот Javascript, который есть сейчас) еще реализация фишек Ecmascript 6 (классы, модули, лямбды и т.д. ) + опциональная статическая типизация.
В релиз еще должны обобщения включить.
CoffeeScript это тоже JS, и этот. Никаких фишек он не добавляет, а просто предоставляет сахар для синтаксила и то, что уже давно умеет JSDoc и Google Closure Compiler.

Собственно по вашей логике все, что компилируется в JS -- есть новый язык. Возможно в какой то мере и можно так говорить, но как заметили выше -- TypeScript не генерирует ничего дополнительного в JS, он отдает его почти как есть, превращая классы в стандартные обертки.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #10 (permalink)  
Старый 11.10.2012, 03:22
Новичок на форуме
Отправить личное сообщение для F_Z_14 Посмотреть профиль Найти все сообщения от F_Z_14
 
Регистрация: 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.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск