I for one, welcome our statically typed overlords.
At my day job, I’ve recently converted a medium-sized Angular application from JavaScript to TypeScript, and am extremely happy with the results. I’ve been working exclusively in dynamic languages up until this point, and I’ve found the benefits of TypeScript well worth the time investment.
Everyone talks about the type-checking safety aspects of TypeScript, and that is nice. But for me, the biggest win is the IDE integration with intellisense/smart autocomplete. Having APIs be discoverable through the IDE rather than always having to look up the documentation (or just remember/guess) is a huge productivity boost.
The conversion of this project has been so successful, that I’m recommending all new projects default to TypeScript unless we have a specific reason to do something else.
It also doesn’t hurt my credibility with the architects/management that I picked TypeScript for our Angular project before the announcement that Angular 2 will be written in TypeScript.
One pain point to be aware of is the state of type definition management. The Definitely Typed project is fantastic, but I’ve found tsd (the type definition package manager) a bit half-baked. The stable version is difficult to use, and the unstable version is, well, unstable.
I’ve been writing a lot of TypeScript in the last 2 weeks as I get ramped up on something. It has been pretty nice. It is interesting though to see how many holes there are in the compiler and what validation it does. I’ve found a few things and I’ll slowly spend the time to create a simple testcase and report them. (I did one earlier today.)
How much of an issue is tsd in relation to the benefits. I’ve been looking at redoing a project I’m on in typescript. I already have great autocomplete/ide features with extensive jsdocs (allows us to safely use the closure compiler), but I am really interested in having type checking. I’ve also been exploring ClojureScript as an alternative. Just to move away from some of the annoyances of vanilla js.
It’s not too much of a problem for me any longer. I’ve wrapped the tsd command into a couple of grunt tasks so that I don’t deal with it directly. For the record, this bug caused me the most pain. It’s in a beta version, so not a huge deal, but the lack of response is a little concerning.
I think as long as you stick to the stable version of tsd, you’ll be fine. Though for usability you may want to create some aliases.
I for one, welcome our statically typed overlords.
At my day job, I’ve recently converted a medium-sized Angular application from JavaScript to TypeScript, and am extremely happy with the results. I’ve been working exclusively in dynamic languages up until this point, and I’ve found the benefits of TypeScript well worth the time investment.
Everyone talks about the type-checking safety aspects of TypeScript, and that is nice. But for me, the biggest win is the IDE integration with intellisense/smart autocomplete. Having APIs be discoverable through the IDE rather than always having to look up the documentation (or just remember/guess) is a huge productivity boost.
The conversion of this project has been so successful, that I’m recommending all new projects default to TypeScript unless we have a specific reason to do something else.
It also doesn’t hurt my credibility with the architects/management that I picked TypeScript for our Angular project before the announcement that Angular 2 will be written in TypeScript.
One pain point to be aware of is the state of type definition management. The Definitely Typed project is fantastic, but I’ve found
tsd(the type definition package manager) a bit half-baked. The stable version is difficult to use, and the unstable version is, well, unstable.I’ve been writing a lot of TypeScript in the last 2 weeks as I get ramped up on something. It has been pretty nice. It is interesting though to see how many holes there are in the compiler and what validation it does. I’ve found a few things and I’ll slowly spend the time to create a simple testcase and report them. (I did one earlier today.)
How much of an issue is
tsdin relation to the benefits. I’ve been looking at redoing a project I’m on in typescript. I already have great autocomplete/ide features with extensive jsdocs (allows us to safely use the closure compiler), but I am really interested in having type checking. I’ve also been exploring ClojureScript as an alternative. Just to move away from some of the annoyances of vanilla js.It’s not too much of a problem for me any longer. I’ve wrapped the
tsdcommand into a couple of grunt tasks so that I don’t deal with it directly. For the record, this bug caused me the most pain. It’s in a beta version, so not a huge deal, but the lack of response is a little concerning.I think as long as you stick to the stable version of
tsd, you’ll be fine. Though for usability you may want to create some aliases.