C# Development Fundamentals Path Pluralsight

C# Development Fundamentals Path Pluralsight

I really did not need to do this course. In fact, I teach it in person to my juniors better than this course teaches it. But while I have a Pluralsight subscription, I figured I might as well put it on in the background and see if I learn something. It was better than listening to Heart FM while I work, I tell myself.

It is not very practical as far as courses go. These days a lot of people are coming to C# as their first programming language and well it's not a good introduction because programmers tend to be very practical. Especially those that are learning through a course like this and not at university. I have juniors write me text-based games to start. So they're actually doing coding rather than hearing about it. I actually don't know a coder who learns better from hearing than they learn from doing. It works because it is very practical. Before long, I am asking them to "research" how to generate a random number in C#, so not only do they learn how to program, but also how to be independent. It's a very practical process and uses the skills they would use in the field, but this course has you sit and watch the teacher do it. I don't think that is best suited to the audience. I think this course would be a lot better if it were practical. I note to the contrary that the Introduction to Types has some downloadable exercise code so there is stuff you can do, I just think a few more structured exercises would be better.

It was a good opportunity to look at structs and records since I hardly use these, but with 5 years' experience and having worked for an architect who got me to read the language specification, there was little in the course I didn't know already. It's funny how you learn all these structures and statements and then there never seems to be an opportunity to use them. I get excited when there's actually a chance to use a do-while loop or more commonly a select statement. Something so fundamental yet often just ends up referenced as a for-loop or while-loop.

I did actually learn something I hadn't come across before since we are using a newer C# version. I learned target-typed new expressions. This is where if you use a specifically typed variable like myObject below, which is specifically typed to be MyClass, you can omit the type when calling the constructor with the new keyword.

MyClass myObject = new(parameter);
// instead of
MyClass myObject = new MyClass(parameter);

Graeme