@ahejlsberg
At the outset , i want to say that the Idea behind typescript is great. But using typescript for long term project is a waste of resource.
I am a developer in a medium sized software company developing web based software. Few years back we have converted our one of our product development with typescript. We have successfully converted the product and we were happy with typescript features. The product has grown and the number of typescript files grown and typescript type safety compilation took 3 minutes and every developer in our team started loosing patience. So we did a case study and here is an extract from the result
Typescript compilation of our product took 3 minutes and if a developer compiles 30 times per day it is 90 minutes per day. For a year with 200 working days it is 18000 minutes. Approximately 37.5 days. If you pay 25$ per hour for a developer it costs it is 7500$. Assume you have 10 developers working on typescript product it will cost 75000$. So you waste 37.5 days, 75000$ on salary + electricity + cpu processing power + hard disk space for +1 ts file + cryptic js files hard to debug, etc.,. This does not include continuous build deployment. This clearly proves that using using typescript is a waste of resource. By not using typescript we save energy and in this world it is money..if you think beyond this ultimately you save environment.
I bet you guys have done the study about this already? Thats why you have come up with Incremental Building? However event after doing that i think it is a waste of resource. Can you convince me why i should still use TypeScript. I may be wrong. If you have a case study saying it is not waste of resource and it is profitable for long term project?
Thank You for the Hard Work Guys.
typescript type safety compilation took 3 minutes
Laughs in 20+ minute cold build times
Did you all check how much time the static type system has saved, thanks to all the warnings and errors you get before you even run the code?
What about the time saved thanks to types serving as a companion to documentation, and in many real-life cases, being the only documentation?
And thanks to that, the time saved ramping up new developers?
What about the time saved thanks to the ability to aggressively refactor parts of the code base and know when you've messed up?
What about being able to be more precise with your constraints because TS literally has one of the most expressive (while remaining accessible) static type systems coming from a "mainstream" programming language?
If you've built a large enough project that you're getting 3 minute compile times (cold build), then you should have noticed all the benefits your team has received thanks to TS.
I feel like you should put those pros and cons on a scale before being so dismissive.
if a developer compiles 30 times per day
Like you've brought up, composite projects, incremental builds, and watch mode speed things up significantly for subsequent builds, because you don't have to build from scratch (usually)
if you think beyond this ultimately you save environment.
Reminds me of C++, where the cost to host servers is far higher than the cost of developers. And C++ let's you use a small amount of CPU cycles, saving on energy costs, saving the planet. Can someone find that talk?
In addition to the incremental compilation, you can also consider use the https://github.com/TypeStrong/fork-ts-checker-webpack-plugin.
@AnyhowStep thanks for your reply. Finally after so many edits You are able to understand my concern.I am closing this because it is not a bug and a question so moved it to stackoverflow.
Most helpful comment
Laughs in 20+ minute cold build times
Did you all check how much time the static type system has saved, thanks to all the warnings and errors you get before you even run the code?
What about the time saved thanks to types serving as a companion to documentation, and in many real-life cases, being the only documentation?
And thanks to that, the time saved ramping up new developers?
What about the time saved thanks to the ability to aggressively refactor parts of the code base and know when you've messed up?
What about being able to be more precise with your constraints because TS literally has one of the most expressive (while remaining accessible) static type systems coming from a "mainstream" programming language?
If you've built a large enough project that you're getting 3 minute compile times (cold build), then you should have noticed all the benefits your team has received thanks to TS.
I feel like you should put those pros and cons on a scale before being so dismissive.
Like you've brought up, composite projects, incremental builds, and watch mode speed things up significantly for subsequent builds, because you don't have to build from scratch (usually)
Reminds me of C++, where the cost to host servers is far higher than the cost of developers. And C++ let's you use a small amount of CPU cycles, saving on energy costs, saving the planet. Can someone find that talk?