I think that typescript's type refinement is extremley useful to know whether you've covered all the cases for the types of data as it flows through your system.
With the advent of typescript and other things like it... types are now back in vogue but for how long?
The universe is a four dimensional loop. Programming, like history, like life, moves in an endless flat circle. It's all so predictable... Because This ENTIRE thread represents a precursor to the inevitable and impending oscillation back to the beginning of the circle. Types will fall out of vogue and history will repeat.
Probably until startups and organizations that use more flexible languages race past those who strongly type things. Just like in the early days of the web and actually for ~2 decades in which everyone who used loosely typed languages raced past those who strongly typed stuff due to the ease of use and flexibility. If typing was the way to go, already existing typed languages would rule the roost. But they didn't.
The end users dont care about any engineering concerns that we have. They care whether they can do what they want with an app or service. And organizations that can ship code fast will keep their strong advantage.
C is not a strongly typed language. Did you mean statically typed?
> I challenge you to provide a modern framework that doesn't provide types
Ruby on Rails
There are decades of literature on the matter.
You simply have to look for it.
Statically typed languages are known to lead to slower initial development times, because languages are inherently more complex and there are more concepts to grasp.
usually thy also need to be compiled, which makes times even longer and setups harder.
Good news is that long term they tend to be associated with easier maintenance, but it's not totally clear if it's due to static types or the team getting more accustomed to the code base and tools having more metadata to help the programmer.
One thing that is unquestionable it's that statically typed languages scale better in large teams.
if anything goes well, of course , if you OTOH happen to end up working in places where they use types to build gigantic taxonomies, all the advantages are gone.
> Today, almost every Node.js framework supports Typescript out of the box
it doesn't follow that TS is great though.
It simply says that people building frameworks want to sell them to the larger audience possible.
If they could support Java or C++ or Rust, they would.
Many Java libraries or frameworks still support Java 8, doesn't mean Java 8 is the greatest Java out there.
I hear people saying that, but I'm not sure I buy it. Is there any research that supports that, and if so, for which languages? Also, what does "initial development" mean here? The first day, week, month, year? And unless your project is trivial, isn't it somewhat important that as much of the initial work as possible provides a solid foundation for the future of the project so it wouldn't pay off skimping on this?
see conclusions
intuitively static typing is less forgiving and forces programmers to write code in a specific form
think how much time has been wasted writing Java boilerplate code.
Any time you lose writing type hints you gain back from better IDE support and fewer bugs.
It's really a no brainer. I can only assume everyone here arguing against it works on one-man projects using Notepad.