So having finally decided to learn C# / .NET in earnest, and having been using it for a while now I’ve there are some aspects of C# I find exotic.
I come from a long and exclusive C++ background, I’ve been a C++’er for 10 years give or take, some things in C# feel just plain wierd: –
- Not matching delete‘s with my new‘s
- Not worrying so much about memory management
- Having to use the ref keyword when calling a method with a reference parameter
- Mixed implementation / definition, as opposed to header and implementation files
- The non-deterministic nature of object destruction, excepting the use of the using keyword for object disposal
On the whole though, I find I quite like it, although I have a sneaking suspicion that, in some way, .Net and/or C# is encouraging me towards sloppy programming practices, or perhaps it’s just that C++ feels stricter in some way.