Can you post a summary when the video is done, please? At least of the bits that most worry you. (Edit: I can now view the video, but I’d like to hear what I missed, and I’m sure others who read this later would like to know what it contained.)
+1 for the “hope Emb are paying attention” bit…
I was just in time for ?. – why oh WHY haven’t Emb done this yet? I’ve asked them several times!
“People were writing workaround to [do certain unimplemented feature]. We should do the workaround in the compiler… that’s what we’re here for!” Hear hear. *This* is why Emb needs to work on the language and this is the attitude they need.
Old: String.Format(“”The value {0} is {1}”, VarName, VarValue);
New: $”The value {VarName} is {VarValue}”
– Lambdas for functions and property getters
public override string ToString() => $”({X},{Y})”
– NameOf(someproperty) instead of ‘someproperty’
– ? as NULL check operator
– Pluggable code checkers that put squigglies in the code if your code checker think you are doing something stupid. Allows for guiding the user around your library.
With C#6 and VS2015, comes a new compiler (called Roslyn). And, Roslyn is open source(on GitHub), and people can contribute to it(although the changes are reviewed by Microsoft, for quality and to make certain that it will not break something else). Also, Roslyn is written in C#.
Stefan Glienke – Aside from the “old” C#6 news (combined try except finally blocks, exception filtering, ) – the VS has a lot of nifty new mechanisms to quality check your code. The pluggable validators come with a large set – which finds unnecessary using statements, suggest code simplifications, etc. The code completion and parameter help now is really sweet in VS.
Writing and changing code while debugging is insane. I assume it is a background compiler that performs this magic. Passing lambdas in Watches is possible.
Lars Fosdal The thing is that enough people are demanding that in the C# community. There are also certain things that would have cost them more time than it would be worth it (I remember Eric Lippert mentioning one feature once – I just cannot remember what it was) so they didn’t do it. But as long as most Delphi developers are those that drop their components on the form and code like in D7 days it would be illogical for EMBT to invest into language features. On many conferences I’ve been in the past years many people still were not using the “new” post D7 features although they had XEx versions. As long as that does not change I will not see much improvement in that area.
Can you post a summary when the video is done, please? At least of the bits that most worry you. (Edit: I can now view the video, but I’d like to hear what I missed, and I’m sure others who read this later would like to know what it contained.)
+1 for the “hope Emb are paying attention” bit…
I was just in time for ?. – why oh WHY haven’t Emb done this yet? I’ve asked them several times!
“People were writing workaround to [do certain unimplemented feature]. We should do the workaround in the compiler… that’s what we’re here for!” Hear hear. *This* is why Emb needs to work on the language and this is the attitude they need.
– String.Format now compiler magic:
Old: String.Format(“”The value {0} is {1}”, VarName, VarValue);
New: $”The value {VarName} is {VarValue}”
– Lambdas for functions and property getters
public override string ToString() => $”({X},{Y})”
– NameOf(someproperty) instead of ‘someproperty’
– ? as NULL check operator
– Pluggable code checkers that put squigglies in the code if your code checker think you are doing something stupid. Allows for guiding the user around your library.
“It’s no longer unexpected to have tuples in a mainstream language” – related nicely to the tuple conversation going on here: https://plus.google.com/+HoracioJoseCavalcantiFilho/posts/g8mxzNsUm9D
Didn’t watch the video – what was it about (the reason you were referring to Embt)? C#6 is old news.
I think is better to compare Delphi with VB.Net due their syntaxes are very similar. Delphi is as verbose as VB.Net.
With C#6 and VS2015, comes a new compiler (called Roslyn). And, Roslyn is open source(on GitHub), and people can contribute to it(although the changes are reviewed by Microsoft, for quality and to make certain that it will not break something else). Also, Roslyn is written in C#.
Stefan Glienke – Aside from the “old” C#6 news (combined try except finally blocks, exception filtering, ) – the VS has a lot of nifty new mechanisms to quality check your code. The pluggable validators come with a large set – which finds unnecessary using statements, suggest code simplifications, etc. The code completion and parameter help now is really sweet in VS.
Writing and changing code while debugging is insane. I assume it is a background compiler that performs this magic. Passing lambdas in Watches is possible.
nuget C# Essentials in the VS2015 RC to see some of the new stuff.
Lars Fosdal Is the new GetIt equivalent to NuGet?
They are similar.
Tuples are indeed on the Roslyn list for C#7
https://github.com/dotnet/roslyn/issues/2136
Lars Fosdal The thing is that enough people are demanding that in the C# community. There are also certain things that would have cost them more time than it would be worth it (I remember Eric Lippert mentioning one feature once – I just cannot remember what it was) so they didn’t do it. But as long as most Delphi developers are those that drop their components on the form and code like in D7 days it would be illogical for EMBT to invest into language features. On many conferences I’ve been in the past years many people still were not using the “new” post D7 features although they had XEx versions. As long as that does not change I will not see much improvement in that area.
Stefan Glienke – I fear you are right, and it is a bit depressing :/
I’m so glad with this new C# version! Makes much of my work a lot easier.
I would love to be able nameOfProperty in Delphi
Me too. That would save me tons of code (I positively hate string literal references to properties).
Delphi was out Delphi-ed years ago…