, magicalclick wrote

if this is really your first language, I highly recommend getting at least two classes from community college, especially take at least one C++ to know how memory works. Because even though C# took care of a lot of memory work for you, you still need to be aware many memory basics.

I disagree whole-heartedly. Understanding how memory works and is laid out in a C# program is outrageously complicated for someone just starting out in the language, and since the language goes to so much effort to shield you from it, that sounds like a baffling way to start.

C# is about algorithms, not about performancememory or anything else.

And optimising your programs for memory or performance before you even properly understand the language is a recipe for disaster; a little knowledge often is worse than none at all when it comes to these things (for instance, if he decides to pinvoke to "strlen" because "pinvokes are faster than managed code" he'll be in for a nasty surprise).