Always a pleasure to hear these two do a presentation of new C# features. These changes are very welcome, records and the "with" syntax are fantastic, even exciting contributions to C#. Thank you Dustin and Mads, and thank you to the C# language teams and contributors
Not only that, it gives you a sense that everything you do should be part of some class and in a function. that is what OOPS in C# was all about. now it seems like they are trying to loosen up all the rules
@@SiddarthaKopparappu They're trying to make it as javascript as possible, or c? Whatever, I too am agree that it's not a cool feature they want it appear to be
Love the new features! I was confused by what the difference is between a init setter and a variable declared with a readonly modifier. A quick Google search returned the C#9.0 specification containing the motivation behind the feature. Love it! Less to type, less to read, and less that can go wrong. All great reasons!
It looked like he was presenting with one of those airpods or whatever you call the Apple iPhone flavored BT earbuds. Not any better, possibly worse for those of us with earbuds shoved into our ears instead of using the built-in speakers of our mobile devices because _nails on chalkboard_ But the genius tier thinkers/do-ers tend to be absent minded or aloof negate their focus lies in making the next best thing
I do front end development as a junior and want to learn backend but they use at my workplace ruby. Is c# a better language with more job opportunities
@@Argbeil Why remove something that is used across different languages? C++, java... Removing things sometimes, doesn't mean simpler... Specially when you have the ability to use or not.
@@nunooliveira9465 I dont' get your point. You're saying - it is not simpler. So this: using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } is simpler than that? using System; Console.WriteLine("Hello World!"); I really don't think so. Your're also saying that they should not remove ceremony-code that exists in other languages? Why not?
IMO this language, which used to be simpler, got way to complicated and full of inconsistencies. I used to love this language so much and now I'm moving on to newer more modern languages that don't look like a bunch of patches glued together. So far, F# is my favorite.
yep... that's nice... but just a small and anoretic code-candy... just allow the damn "TOP-LEVEL FUNCTIONS" we've have been waiting for so long... ah... and PUBLIC by default but accepting the PRIVATE directive (modulewise) oh... don't forget to provide a INLINE directive... sometimes is a must... if we are going for performance with refs+records... this is the next step! also if is not much to ask... how about a pre-processor that allow C-Like MACROS... whatever the newbies say,,, this is a great solution for... lots of problems (INLINE would mitigate this,,, but not replace)
Groan. Does the world really need another thing to look down on others about? Practically speaking, depending on the lighting in the room and the placement of windows, dark themes can be harder on the eyes than light.
@@ondrejsvorc8175 What do you mean by project? There is a whole F# ecosystem, there are OS projects, and it's being used in the industry, though on a smaller scale.
@@ondrejsvorc8175 It has the right defaults everywhere, it's safer therefore. Its syntax is minimalistic. C# has a lot of boilerplate code and very verbose (ugly?) Java-like syntax. You would be even better off if you would just use F# like C# but with the improved syntax. For example: constructors, shorter functions, F# extensions, object expressions etc. F# is, for example, awesome for domain modeling, DDD, data exploration (REST, JSON, SQL, etc.) via type providers and so on.
Always a pleasure to hear these two do a presentation of new C# features.
These changes are very welcome, records and the "with" syntax are fantastic, even exciting contributions to C#.
Thank you Dustin and Mads, and thank you to the C# language teams and contributors
Thank you Dustin and Mads. its pleasure to hear the presentation of new C# features.
The programming language that I loved... I'm loving it more
The love they have for their product is palpable.
I like the main function, it tells me where the program starts ;) So top level statements are just useless syntactic sugar to me.
Not only that, it gives you a sense that everything you do should be part of some class and in a function. that is what OOPS in C# was all about. now it seems like they are trying to loosen up all the rules
@@SiddarthaKopparappu They're trying to make it as javascript as possible, or c?
Whatever, I too am agree that it's not a cool feature they want it appear to be
It's for learners, not experienced developers.
@@mzg147 shouldn't a learner learn something the proper way first and then they can use this useless feature?
Love the new features! I was confused by what the difference is between a init setter and a variable declared with a readonly modifier. A quick Google search returned the C#9.0 specification containing the motivation behind the feature. Love it! Less to type, less to read, and less that can go wrong. All great reasons!
C# continues to shed its OOP legacy. I love it.
Mads, I love your work, but when you're presenting to thousands of developers, maybe consider not doing it with a laptop microphone?
Gracias ☺️😄💖
It looked like he was presenting with one of those airpods or whatever you call the Apple iPhone flavored BT earbuds. Not any better, possibly worse for those of us with earbuds shoved into our ears instead of using the built-in speakers of our mobile devices because _nails on chalkboard_
But the genius tier thinkers/do-ers tend to be absent minded or aloof negate their focus lies in making the next best thing
I do front end development as a junior and want to learn backend but they use at my workplace ruby. Is c# a better language with more job opportunities
Not sure whether I'm a fan of those inline record declarations or not...
How about a 3-way 'if' for numerical values ()? Language could really use this.
Remove the top level class...
Why?
What is the point...
You cannot see the closing backet and absets you?
Is that the hole idea of this new feature?
No, that was a joke. The idea was, to simplify the language.
@@Argbeil Why remove something that is used across different languages? C++, java...
Removing things sometimes, doesn't mean simpler...
Specially when you have the ability to use or not.
@@nunooliveira9465 I dont' get your point. You're saying - it is not simpler. So this:
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
is simpler than that?
using System;
Console.WriteLine("Hello World!");
I really don't think so.
Your're also saying that they should not remove ceremony-code that exists in other languages?
Why not?
You don't have to use the new syntax. You can keep using the old one. I think it's good thing to have two options here , no?
IMO this language, which used to be simpler, got way to complicated and full of inconsistencies. I used to love this language so much and now I'm moving on to newer more modern languages that don't look like a bunch of patches glued together. So far, F# is my favorite.
like what?
yep... that's nice... but just a small and anoretic code-candy...
just allow the damn "TOP-LEVEL FUNCTIONS" we've have been waiting for so long...
ah... and PUBLIC by default but accepting the PRIVATE directive (modulewise)
oh... don't forget to provide a INLINE directive... sometimes is a must...
if we are going for performance with refs+records... this is the next step!
also if is not much to ask... how about a pre-processor that allow C-Like MACROS...
whatever the newbies say,,, this is a great solution for... lots of problems (INLINE would mitigate this,,, but not replace)
init setter feels like fusion of readonly property and parameterized constructor.
merging F# into C# gradually :P
I like the new switch condition, and some lambda functions. but record and others things.... I so much like generic types but there are no updates :(
could not get rid of impression that c# 9 was developed by Python guys. If before I did not take much care what happens in IL but now I would.
actually, it's "F# guys"
Great Update
Why is .NET not cls compliant?
Do my idols really use the Light theme :( ?
I am pretty sure they are using the experimental version of it
Groan. Does the world really need another thing to look down on others about? Practically speaking, depending on the lighting in the room and the placement of windows, dark themes can be harder on the eyes than light.
Ada back?
Can I code in C# without a beard?
No.
It is a requirement you have to comply to.. So, it's a NO
So record is basically what a Struct is? Why?
I will create C#++
There should be an option for having top-level statements (and make this default) when creating a new project.
Seems as if C# and PlSQL had a baby
Or just use F# …
What for? Tell me some project, please.
@@ondrejsvorc8175 What do you mean by project? There is a whole F# ecosystem, there are OS projects, and it's being used in the industry, though on a smaller scale.
@@17plus9 I'm curious about the usage. What is F# better for than C#? What do industries use it for?
@@ondrejsvorc8175 It has the right defaults everywhere, it's safer therefore. Its syntax is minimalistic. C# has a lot of boilerplate code and very verbose (ugly?) Java-like syntax.
You would be even better off if you would just use F# like C# but with the improved syntax. For example: constructors, shorter functions, F# extensions, object expressions etc.
F# is, for example, awesome for domain modeling, DDD, data exploration (REST, JSON, SQL, etc.) via type providers and so on.
@@17plus9 Okay, thanks. :) I'll think about everything you've just said.
Cool
I spent 10 years in c# programming . lol.
C# == F# -> true
Again a lot of 'you know'. I hate it.