On Thursday, 29 April 2021 at 22:47:08 UTC, Alain De Vos wrote:
What is the importance of type-annotations in which cases.

Specifying invariants which becomes very important when refactoring code. Further it aids as documentation to understand the structures behind.

@X @Y @Z makes code sometimes unreadable.

You mean something like `List!(HashMap!(String,T))`, yes, but I like it in productive code. It's often the case that verbosity becomes a plus in productive software development, as more people have to read code that to write it, a reason why Java is so successful

Sometimes there is a good reason

Mostly for prototyping and obvious cases. But the most important point of that is to write faster, I wish the IDE would help for this instead of the compiler's inference.

I even think D doesn't even profit very well for inferred types, you need anyway to specify auto which only saves work for large type(application)s. But when they are large, you probably want to prefer annotating the type for the variable.

Instead, I want to point to some interesting solution C# offers to save typing and also being explicit about the type:
https://devblogs.microsoft.com/dotnet/welcome-to-c-9-0/#target-typed-new-expressions

In fact, one could imagine that they overload the new operator (at compiler level) to infer the type from the call site type annotation.

Reply via email to