Another major project moving from flow to typescript
Another major project moving from flow to typescript
However I certainly take the point that flow has been developer hostile. When we have had issues it has been impossible to get a response (here is a demo, is this a bug or in the pipeline?).
Though flow is v0.91 and Typescript is 3.2, i don't know if i can really fault them that much?
I don't trust TS, they are too much 'move fast and break things'.
(I had projects that started with TS < 1.0 and they all still parse and compile today, albeit with tons of lint warnings, particularly to use a better module system than AMD with pre-ES2015 TS imports, and all sorts of new type strictness options to turn on to make them all the more type safe.)
Even if you don't believe in the old Unix adage that "worse is better", Typescript today isn't that demonstrably worse than Flow. Depending on your metrics, such as general availability of community-supported type information, Typescript in increasing ways better.
I've yet to find anything he's done/worked on that I don't like, one of my programming heroes actually.
I agree that Flow had better capabilities around soundness. But the tooling around Typescript really made me jealous, specifically in VSCode.
Near the end of working with Flow, Typescript was getting some cool capabilities like refactoring JSX for React apps.
Nowadays I can easily say that Typescript is a far better experience than Flow. There are updates every two months, adding some neat features that you might find in other languages.
Then you add in the power of surrounding tools and their ecosystems like TSLint and it really feels like a next-level coding experience where the tools start writing the mundane code for you, driven the core TS static analysis.
Most of not all of the issues had with types have been solved.
Flow had some major tooling/developer comfort issues from day one and none of those are solved. Not to mention a really closed development roadmap (understandable perhaps, but nonetheless bad).
As a developer, I'm glad TypeScript won. I want more tool/compiler/language/etc makers to understand that the developer experience matters. If someone makes a tool that only works well under one very specific setup and ignores everyone else, that's just very limiting.
/* @flow */
interface HasIdentityFunction {
id<A>(a: A): A
}
class Example implements HasIdentityFunction {
id<A>(a: A): number {
return 42;
}
}
var x: string = (new Example(): HasIdentityFunction).id("hello")
[1] https://twitter.com/puffnfresh/status/1077072700609159168Seems like Flow works just fine for them, they just want to make it easier for others to contribute.