8 ms·
I could quibble with the conflation of correlation w/ causation for a lot of the comments this post makes about es6/babel or coffeescript. But each time i re-r
by knowtheory 10y ago
I could quibble with the conflation of correlation w/ causation for a lot of the comments this post makes about es6/babel or coffeescript.
But each time i re-read this post, the cohesive point that pops out most is that this post is basically a Donald Trump speech about Typescript.
The claim is that it's bigger, it's better, and everyone else is a bit sad. It disingenuously claims that it's not about about competition and then literally ends with "Typescript Won".
So, lemme offer some rhetorical advice:
1) pick to a POV & stick to it. It's a competition or it's not. You either think it's worth highlighting how much better Typescript is over other technologies, or you don't.
2) Most of the points made in the post aren't assertions about the benefits of Typescript or the decisions it makes. Not everyone agrees that the existence of a static type checker is an unqualified benefit (and there are many dimensions to that conversation). If you want to make the assertion that Typescript makes your life easier/better because it has a type checker, assert the benefits of having a type checker (and the decision making for AngularJS's adoption of Typescript on the basis of having a type checker could use a citation).
3) Related to 1., this post comes off as MEGA passive-aggressive because you keep on mentioning how much you also love other technologies at the same time talking about how they are inferior to Typescript on a variety of shifting bases. Because of that you're not telling a cohesive story about Typescript. You're just talking about how you think other technologies are bad.
- mordocai 10y agoOn point 2, I don't think an optional type checker has any real downsides that I can think of (optional because with typescript you don't have to add type annotations to your code). It helps with debugging and possibly performance but you can choose not to use it. The rest of your comment I agree with.
- doodpants 10y agoI have no experience with TypeScript, but in general the downside of optional language features is when you're working with a team, and different people end up using different dialects of the language.
- chimeracoder 10y agoThat doesn't really apply here, because type annotations have no runtime effect. They're effectively comments.
- SonicSoul 10y agoyou could say that about any high level language. i.e. that it's effectively metadata few levels above metal ignored at runtime. But it is relevant here because the relevant part is working with application code within a team half of which may choose to use optional features
- jaredklewis 10y agoThe content of comments isn't enforced by the compiler, so I would say they are not very comment-like.
- Touche 10y agoIt's just weird to compare philosophically different languages. ClojureScript fans are never going to switch to TypeScript. So saying TypeScript has won the transpiler wars is hilariously wrong. Comparing TypeScript to transpilers in the same space, like Flow and Dart makes sense. They're trying to accomplish similar goals at least.
- ratbeard 10y agoA downside is everyone on your team has to learn how to use it.
- verroq 10y agoI don't know what any of this has anything to do with Trump.
- knowtheory 10y agoDonald Trump, well aside from the content of his speeches, has been noted for his rhetorical style. As i stated, this bears some resemblance.
- atom-morgan 10y ago> this post is basically a Donald Trump speech about Typescript.
- nathancahill 10y agoLow energy.
- ssmoot 10y agoI can't think of any downsides of an optional type checker. Can you? Just curious if there's an argument I hadn't heard before.
- softawre 10y agoIf it's TypeScript versus pure JavaScript (not versus Babel), there's a transpile time hit you must consider.
- WorldMaker 10y agoPure (vanilla) JavaScript will remain a bit of a rare unicorn in large projects, though, at least until HTTP/2 and maybe even after HTTP/2 for whatever other reasons [1]. Just about every large project has a bundler and/or minifier step and the Typescript transpilation fits right in there, instead of in the browser. [1] People will always still want to shave bandwidth, and the new hotness is Tree Shakers which shave bandwidth and computation/JIT time for the browser...
- Touche 10y agoJust about every large project has a bundler step for production. Many have for dev as well, but this is unequivocally an undesirable thing. You can't beat Refresh for dev workflows.
- WorldMaker 10y agoIn dev workflows you can deal with the extra few milliseconds of transpilation time just like you deal with the extra few milliseconds of overhead from any of your other dev tools. Plus, even a bunch of dev workflows are increasingly using tools like gulp-watch in the background of their refresh cycle (for whatever reasons), and Typescript's watch support has gotten very good.
- Touche 10y agoYou can "deal with" a lot of things, but that doesn't make them desirable. It's not like the community has evolved towards build scripts because build scripts are great, it evolved in that direction because the ecosystem has changed faster than the web has been able to keep up. Once the web catches up on the module front you'll definitely see the refresh workflow regain some lost popularity.
- emodendroket 10y agoBut that's kind of what the article is about, isn't it? TypeScript is a way of having types and yet existing in a typeless world.