BRITANY PEDDY
hacker, expert, recovery
Although I understand the value of TypeScript (TS), JavaScript (JS) is native to the browsers and find it easier to debug than TypeScript. Does it matter? I think depends on the framework you are using. But understand... I despise both of them, just try to pick JS when I can, and if not end up using TS. For framework I do like using VueJS + Vuetify (you can build a nice web application quickly), not a huge fan of React.
Thank you for the insightful blog post on TypeScript! I especially appreciate your emphasis on the rich developer experience and the ability to use one language across the entire stack. I'm definitely convinced that TypeScript is the way to go for modern JavaScript development.
No, you do not need Typescript. What you need, is a dictionary, that would enlighten you that the definition of "need" is "require (something) because it is essential or very important rather than just desirable.". You need oxygen to live. You don't need TypeScript to live a successful good life. Explicit typing is not necessary nor essential. C, Ruby, Perl, PHP - even PHP - live pretty well without explicit typing. Go tell Facebook that they need strong typing in their PHP, otherwise they won't be happy nor successful, they will make mistakes, and will suffer through all 9 circles of hell. Oh poor Facebook engineers. Yuck. Amazing how hard it is for some people to accept that their mantra might not be the One Universal Truth. Just deal with it. That's the only thing you really need to do in this case.
I am using typescript, and I regret for using it.
If you support typescript, that means you have not came to a point where typescript becomes pain and you begin to use ts-ignore comments yet
Types may be exist, but world is not perfect, every module has not been written in typescript.
Using TS looks as if it is trying to tame wild JS.
Good take on the recent Twitter drama caused by DHH.
I think everyone should take their own decisions about what tech to use that serves their use case.
The whole thing of beef as marketing is something that's worked for DHH previously, so I guess that's what they do.
Good read. You have legit writing talent!
It's worth noting TS influencers (I hate that that's now a thing in the engineering world) who know nothing about Turbo were freaking out creating internet drama and trashing DHH all while not realizing removing TS changed nothing for the library's users - you don't interface with Turbo through JavaScript. Turbo API is HTML. Removing TS was strictly to make the maintainer's job easier.
Your article... These arguments in support of TS are nothing new and I'm not suggesting they're wrong or bad, but there's strong counter-arguments to these that are universally ignored by folks who feel a strong affinity toward TS. They are:
Yes, types already exist in JavaScript - let's use them! And create your own and use those too: if (color instanceof Color) setPaintBrush(color);
There are dozens of features built into JavaScript that developers are unfamiliar with and don't use because they have been taught you need TS to do those kinds of things
Tests are still 100% necessary. "But it compiled" is a bit of a joke even among strongly typed language communities like Java. It is a common misunderstanding of junior engineers that compiled = no bugs. TS hype reinforces this misunderstanding (not suggesting your article does that, but there's massive amounts of unbridled TS hype out there misleading developers)
Intellisense and autocomplete is as good and often better with JSDoc
I say better because all the TS projects I have worked on have no comments at all. Developers mistakenly assume typedefs and interfaces tell other developers everything they'll need to know. That's frequently not the case. In healthy codebases TS typedefs ironically have JSDoc comments to provide helpful and necessary information that TS can't, which is shown by intellisense
Intellisense and autocomplete is powered by the same ts engine built into the IDE so the developer experience with JSDoc is the same as TS - the UI in my IDE is identical between the two
You get type warnings with JSDoc too. Again, it's powered by the same ts engine built into the IDE
TS adds bloat to your app bundle
TS requires a build step and as such slows down your builds
TS requires ongoing configuration and updates, JSDoc requires nothing whatsoever - it's just vanilla JavaScript comments made magical by the IDE
TS makes zero guarantees about runtime safety, which is what really matters
TS can do nothing about more common bugs like CSS and logical errors
I tracked bugs for almost 3 years on a medium-sized app and out of 68 (I think that was the total) only 1 could have been prevented with TS
We need to stop getting emotionally attached to technology. I'm guilty of this too🫣 It's weakening the software engineering culture and it moves important objective facts off the table
Typescript gona stay here for some time, This js vs typescript trend will be dropped when another hot topic arises.
Meanwhile PHP is dead 🤗.
I completely agree with you Alex
Good one! I think one big difference is also if you build an application or a framework. I do understand that using TS in frameworks can get quite complicated.
I use one repository still in JS and it is so easy to miss basic things like missing imports, not available parameters, etc. I can't think of working only with JS again.
TROPICAL DELIGHT RECOVERY IS THE ONLY VERIFIED LICENSE COMPANY.
Are you looking for a way to recover cryptocurrency you misplaced or had stolen? I'm pleased to inform that Tropical Delight Recovery Hacker has resolved the issue that nearly caused my house to fall since I spent the monies my spouse wanted to utilise to start a business. I lost $1.4 million in bitcoin and etherium to these scammers. They excel at what they do and are the leading certified cryptocurrency recovery company. They can be reached instantly at: @ tropicaldelightrecoveryhacker on Telegram and @ tropicaldelightrecoveryhacker.93 on Signal. The email address is TropicalDelightRecoveryHacker @ out look .com.