Как стать автором
Обновить

Комментарии 36

Вот если бы как-ниубдь скрестить typescript с coffeescript — получился бы суперязык!
Я после года разработки на кофе уже не смогу наверное привыкнуть назад ко всем этим фигурным скобочкам…
Нет, пожалуйста, не надо :)
Я наоборот, плохо воспринимаю языки, которые не используют скобки для разделения блоков.

Да и сам CoffeeScript неплох.
Особенно, если к нему прибавить еще и IcedCoffeeScript
Думаю, имея такого «конкурента», CoffeeScript тоже начнет динамичнее развиваться.
Я наоборот, плохо воспринимаю языки, которые не используют скобки для разделения блоков.

К отсутствию скобок так быстро привыкаешь, что потом «за уши не оттянешь»
Возможно. Но теперь и перепривыкать не надо. TypeScript явно дает больше.
Самое главное — это те кто стоят за TypeScript.
Не удивлюсь если нативная поддержка появится скоро в браузерах.
Появится. С выходом  EcmaScript 6 :)
Ну Вы же сами по-моему говорили, что TypeScript это не совсем ECMA6, хотя и близок.
Советую обратить внимание на LiveScript
Ну LiveScript все же больше функциональщина и для решения повседневных задач мало подходит.
Да и не решает большинства проблем.

Кстати еще одной уникальной особенностью TypeScript является, что они не только написали компилятор, но и language tools, которые позволяют добавить настоящий auto-complete в любой редактор малой кровью.
Я понял о чем вы.
Однако добавить полноценный автокомплит в сторонний редактор, который бы работал с проектом и скопом не так просто.
Да я обращал на него внимание, но особенного смысла переходить на него не вижу, так как по сравнению с CoffeeScript это просто еще более сладкий синтаксический сахар)
В TypeScript же привлекают модули и типизация.
То есть, когда я говорию о том, что неплохо бы было скрестить CoffeeScript и TypeScript, то подразумеваю кофе с типами :-)
Ну да, тут мы ждем ES6
TypeScript в целом и есть реализация ES6. По крайней мере они очень тесно общаются с комитетом.
Есть сходсто некоторое синтаксических конструкций (классы, лямбда-выражения, деструктуризация, сплаты и пр.), но к сожалению многих вещей нет и не планируется в ближайшее время. К примеру set/get, которые уже имплементированы в некоторых форках.
Get/Set есть.
Он считается уже частью языка JavaScript, а как известно, любой JavaScript — это уже TypeScript.

В общем, вот.
Честно говоря, лучше бы они просто сделали нормальный билдер ES6=>ES5|ES3 вместо полукостыльного полунового языка.
Anders Hejlsberg достаточно опытный и уважаемый человек и не первый раз занимается инструментами для разработчиков. Думаю, пусть лучше он решает.

Но в свою очередь они стремятся к очень высокой совместимости с ES6

Другое интересно, никто не спросил про asm.js, а судя по обсуждениям, это тоже в планах.
Так что теперь из-за того что он уважаемый человек я не имею права иметь своё мнение?
Он и решил. И, имхо, он ошибся. Тот же Коффии сейчас куда популярнее. ТайпСкриптом пользуются только редкие маргиналы.
Вы торопите события. TypeScript до сих пор в preview и первый публичный релиз состоялся лишь в ноябре.

И да, вы имеете право иметь свое мнение. Но мнение Андерса авторитетней. Все же опыта у него побольше, согласитесь.
Такие решения должны приниматься в рамках комитетов по стандартизации, а не единолично, если что.
Судьба CoffeeScript или LiveScript разве решается в рамках комитетов по стандартизации?
Если вы обратили внимание, то CoffeeScript очень медленно развивается в плане имплементации новых возможностей (к примеру set/get, опциональный return, перечисления через ,).
Сообщество устало стучать в глухую дверь и многие перешли на LiveScript.

Что же касается TypeScript, то тут все серьезней, им занимаются на более высоком уровне с привлечением высококлассных специалистов.
И если TypeScript выстрелит, то избежать создания комитета по стандартизации им не удастся.
На самом деле над TypeScript работает достаточно немного людей. И Андерс в том числе совмещает сейчас архитектора C# и занимается TypeScript.

Мне видится вся ситуация вот как:
В начале 2000-ых Микрософт сделали ставку на C# и .Net, для этого сманили видного архитектора из Borland и отца Delphi. Платформа получилась замечательная (особенно для enterprise рынка), была проделанна огромнейшая работа над ошибками Java. Язык вышел современный, хорошо припудренный сахаром.
Но в целом платформа не стала мега-популярной (уровня php, ruby).
Возможно, отчасти в этом причина в закрытости системы — закрытые исходники и лок на Windows.

Сейчас же геополитика сильно меняется — платформ становится больше, Windows больше не монополия и у бизнеса есть серьезный запрос на крос-платформенные инструменты. Таковыми могут стать html5+JavaScript — пожалуй, единственная технология, которая может стать компромиссом. Но JavaScript лишен многих прелестей «серьезных» языков, особенно это сказывалось в отсутствии хороших инструментов (я лет 5 наблюдал, и даже слал баг-репорты в команду разработки Visual Studio по поводу JavaScript) и им с огромным трудом давалось написать нормальный intellisense (честное автодополнение) из-за динамичности языка.
И посмотрев на все эти вызовы, возможно микрософт решил попробовать сыграть по новому и «модному» — открытые исходные коды, полная прозрачность, работа с сообществом, изначальная кросс-платформенность. Если ближайшее время это выстрелит, то нас ждет еще более бурный рост JavaScript (потому что по сути они не пытаются заменить JavaScript) и на это действительно будет кинуто гораздо больше сил.

В свою очередь, еще одной положительной тенденцией видятся последние изменения в iOS SDK в JavaScriptCore — теперь можно из JavaScript вызывать нативные функции достаточно прозрачно (и вроде как наоборот).

Не говоря о том, что под Windows 8 можно вообще приложения писать на html5+JS.

Из всего этого выйграют все, в том числе и CoffeeScript, и LiveScript, и стандарты и даже ES6 (все же мы живем в web и знаем, что стандарты не могут идти впереди прогресса).

Все же JavaScript is Assembly Language for the Web
Как вы видите себе реализацию опционального return?
В LiveScript это решили так:

!(x, y) -> alert x + y

Что будет транслировано в:

(function(x, y){
  alert(x + y);
});
Я вкурсе что get/set есть в ES 5.1, которые большинство современных движков поддерживает, речь шла о CoffeeScript, в котором такой поддержки пока нет
Если я что-то не так сказал, прошу дать мне об этом знать, возможно меня не так поняли
Мне почему-то показалось, что у вас изначально было написано CoffeeScript, если это не так, прошу прощения )
Очень надеюсь на то, что повышение производительности — правда. 0.8.3 в студии любил ужасно лагать даже на мелких проектах и работать с ним было невозможно.
Из замеченных сразу плюсов — теперь импорты работают адекватно с функциями, изменяющими прототип (sugarjs). Раньше автокомплит легко показывал несколько тысяч перегрузок в зависимости от количества включений файла, теперь всё, кажется, ок.
НЛО прилетело и опубликовало эту надпись здесь
Товарищи на видео (и конкретно Хейслберг) обсуждают эту область как вторую по популярности просьбу (первая — generics — выполнена). В версии 1 этой фичи точно не будет — причина в недостаточной определённости текущего драфта ECMAScript 6 в смежной области, насколько я понял: без продвижения этого драфта сгенерированный из конструкций async / await JS код будет сильно отличаться от оригинального TS, а это входит в противоречия с намереньями авторов TS.
В версии 0.9.0 файл typescript.js теперь весит 2,44 МБ, что существенно больше, чем в предыдущей версии (в версии 0.8.3 он весил 1,12 МБ). Нет ничего удивительного в том, что версия для Node.js стала работать медленнее, потому что 2,44 МБ – это очень большой объем кода (даже для движка V8).
Да, с tsc.js та же история.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории