On Tuesday, 11 September 2012 at 16:49:45 UTC, Manuel wrote:
On Tuesday, 11 September 2012 at 08:10:21 UTC, Andrei
Alexandrescu wrote:
On 9/11/12 1:28 AM, Manuel wrote:
Citation? I'm using C# 5.0 with Visual Studios 2012 on
Windows 8 right
now and ref/out are still required at the call sight of
functions.
I have Visual Studio 2012 RC and can confirm, that ref and out
are still required even with C# 5.0 (but maybe there is some
compiler switch to disable this ??)
Erik Meijer didn't get back to me yet about that with a link,
but he did mention that the relaxation was only allowed for
COM calls.
Andrei
OK, i see. For COM calls that might make sense, since binary
COM modules are mostly written in C/C++ and must also not
depend on any feature of any programming language so that the
calling should be easily possible from any language. There
these C# specific annotations are of no use since you don't get
any additional safety and you just have to write more code
which at the end gains you nothing.
In general, i can understand the objections against adding
these syntax annotations at the call site. When i started
programming in C#, coming from a C++ background, i found
writing these additional annotations rendundant and annoying
and a complete waste of time.
Having used Turbo Pascal before I was doing C, I never understood
why so many developers cry for this at the call site.
I never had any problem with "var" parameters on Turbo Pascal (or
other languages from Wirth), nor with references in C++.
As I am not language religious, I just use them the way the
language provides them.
--
Paulo