I read your post again an I think I know what you are talking about by "extreme". C is a very lightweight compiled language with all kinds of ways to hang yourself with memory allocation, type casts, etc. C# is a strictly object-oriented and strictly type-enforced "interpreted" language. Yes yes, it's not interpreted directly, but uses an "intermediate language, or IL" to convert from C# to IL. Everything is an object, so you can manage items as objects with lists, dictionaries, stacks, etc. It's pretty cool IMHO. There's LOTS of other differences I'm sure some other people can expand upon. Get yourself a cheap C# book and check it out.