People who primarily program in C are probably not writing the same kinds of programs that people who program in PHP, Java or C# are making. C people are writing for performance, compactness, an embedded system or for an OS. PHP people are probably mostly web services type people. C# makes it very easy to put together something to stick in front of someone's face. For example I recently put together a GUI front end in C# that makes calls to a REST based API on a web based management tool, because it was hosted off site, slow and required a lot of navigation to get what you wanted. The clicking, and wait 10 to 15 seconds then click again was replaced by a series of combo boxes in a windows form so that you could select what you wanted to do, type in a parameter that gets input validated before the web call is made and hit submit. Things that were on separate web pages were all front and center. Of course Java is for portability, serverlets, and Android applications. If you know Java, you can pick up C# and vice versa. I've converted simple applications C# to Java and simple Java to C# by pasting the Java code into visual studio as-is (or the C# code into Netbeans as-is) and started doing find and replace for most of the obvious stuff. Hit compile and see what error came up, ok need to replace "string" with "String", Console.Write with System.Out.Print. Replace a TryParse with a parse and a Try/Catch. In the end they start to look more and more alike. If your IDE is a fairly helpful kind, it will auto-fix silly things like capitalization along the way. Heck I love how easy it is to decompile C# and Java so I can see how other people do stuff when it's a closed source application.