4 ms·
I'd say it's two things: 1. Typescript has to work with Javascript, which inherently makes things difficult and you have to choose between correctness or ergon
by valenterry 5y ago
I'd say it's two things:
1. Typescript has to work with Javascript, which inherently makes things difficult and you have to choose between correctness or ergonomics. TS went for the latter, which probably was a good decision, otherwise no one would use it now.
2. While I have a lot of respect for the creators of TS, the language is not very consistent and uses a lot of "special cases" or "special features" to solve specific problems. But it also means that it becomes hard to ensure that all these features work together well and in the way that users expect. Other languages lack features that TS offer, but they feel more "consistent" or reliable.
- nuerow 5y ago> [TypeScript] is not very consistent and uses a lot of "special cases" or "special features" to solve specific problems. That's very interesting. Could you please provide an example that showcases that inconsistency?
- valenterry 5y agoThis very post is a good example. Typescript has destructuring and control-flow analysis/refinement. But as you can see from the issues that are fixed by this PR, these two things haven't worked together very well. This comes from trying to fix 1) compiler errors in conditions where the code is safe but the compiler can't understand that and 2) destructuring products/co-products. Even if both features work on their own and help in certain cases, combining them leads to undesired results.
- bryanrasmussen 5y ago>as you can see from the issues that are fixed by this PR, should there be a link to a PR in there somewhere?
- nextaccountic 5y agoThe PR is the article submitted in this thread, https://github.com/microsoft/TypeScript/pull/46266 https://github.com/microsoft/TypeScript/pull/46266
- bryanrasmussen 5y agoah ok, thanks. The phrase 'this PR' confused me.
- vesuvianvenus 5y agoJust a side note / counter note: >"While I have a lot of respect for the creators of TS," Creators of TypeScript are Microsoft. To any readers unfamiliar with TypeScript and Microsoft's ethics, be sure to research their past corporate ethics to understand whether or not they are trustworthy as a company (or at least those who lead their overarching market strategies. Here is one example, and to me, it describes where TypeScript is going (imho): "The strategy's three phases are: ---> Embrace: Development of software substantially compatible with a competing product, or implementing a public standard. ---> Extend: Addition and promotion of features not supported by the competing product or part of the standard, creating interoperability problems for customers who try to use the "simple" standard. ---> Extinguish: When extensions become a de facto standard because of their dominant market share, they marginalize competitors that do not or cannot support the new extensions." https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... For this reason, out of sheer convictions in anti-unethical corporate behavior, I steer clear of TypeScript, and I encourage others to do so as well-- especially those who care about corporate ethics.
- valenterry 5y agoWhat I meant is, I respect the technical competency of the people who designed TS the programing language. I agree that Microsoft's influence should be observed and considered carefully.