News for hackers. Stuff that matters.
Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by goto11 on Tuesday October 15, 2019 @05:42AM (#21256917)
Structural typing is different from dynamic typing. C# supports structural typing in the form of tuples and anonymous types. But you can't return an anonymous type from a method. This is a significant limitation.

As for "free" functions: C# already recognizes the usefulness of this in the "using static" directive. This is useful for a lot more than "hello world".

Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by moron4hire on Tuesday October 15, 2019 @08:43AM (#21257769)
You can't return an anonymous type, but the syntactic difference between an anon type and a tuple is two characters: parens instead of curly braces.
Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by Faark on Tuesday October 15, 2019 @04:05PM (#21263072)
And the little "new" in front of it. I actually preferred the curly braces version and would have loved for them improve it instead of creating a replacement.

And well, I'd expect them to get it right eventually. It is at least their third evolution of that feature... there was a System.Tuple as well. Wonder if they ever come out and officially deprecate their earlier attempts.

Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by SideburnsOfDoom on Wednesday October 16, 2019 @09:00AM (#21269852)
> Wonder if they ever come out and officially deprecate their earlier attempts.

That (mostly) doesn't happen.

I would say that .NET Core was the sole attempt to deprecate a lot of the framework. And most of it came back anyway; see the title of the parent article.

Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by goto11 on Wednesday October 16, 2019 @07:40AM (#21269273)
I don't think C# have ever deprecated language features. You can still use the old "delegate{}" syntax even though we have the more concise arrow syntax.
Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by manigandham on Tuesday October 15, 2019 @06:33PM (#21264723)
Why are "free" functions useful? What actual real difference does it make compared to putting an extra word in front to call the method?
Re:.NET Core 3.0 Concludes the .NET Framework API Porting Pr... by goto11 on Wednesday October 16, 2019 @06:51AM (#21268986)
You don't need to put the extra word in front since "using static" was introduced. But you still need to define a useless static class.