Anders Hejlsberg, Steve Lucco, and Luke Hoban: Inside TypeScript
channel9.msdn.com
channel9.msdn.com
The lambda syntax from C# is also nice to see, and something I miss when writing JS.
I think the solo presentation is better here: http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-...
Dart is different, since it has a runtime.
TS allows you to use any JS library off the bat. If you want stronger type checking the you can define an interface to the library, but it's not necessary.
I think that's a much better place to be rather than create a whole new ecosystem.
yes, you can - i.e.:
$('h1').hide() //javascript
$('h1').hide() #coffeescript > There are many libraries written in CoffeeScript that are
> difficult to use in plain JavaScript due to the use of
> its class syntax.
No, there aren't. I can only name one, and it's a willful-on-their-part-oversight that could be easily fixed by adding a function like this: Model.extend = (child) -> child extends Model
... > You can use Underscore.js to get around this
No, you can't. Underscore.js has nothing to do with inheritance. > Of course, using TypeScript libraries in JS will likely
> have this same issue.
Yep -- TypeScript implements a very similar inheritance function, and the potential workaround for subclassing TypeScript constructors from JavaScript should be equally easy.I get it, thanks.
That said, I think they've done a reasonably good job of making it painless. Even if it weren't required, I quite like the idea of explicitly listing the 'global' dependencies a particular script has. I think it's going to make unit testing it more pleasant, i.e. because you declare the dependencies your script has, it's obvious what you need to mock out from the environment to unit test it.
We are a new startup working on making content more accessible through summaries, here is the HN discussion : http://news.ycombinator.com/item?id=4602377