Brian Kernighan and Dennis Ritchie invented C because they didn't like programming their pdp-11 in assembler back in the early '70s.
Bjarne Stroudstrup added OO extensions on top of C, and called it C++ (a cute pun on the C increment operator). But because of backward compatibility issues, C++ is not really an OO language, it's C with extensions.
On Linux you get GNU C++ called gcc, which I believe is pretty much ANSI C++
A similar environment to what you get on Linux, but runs on Windows is Cygwin http://www.cygwin.com/
Microsoft made proprietary extensions to C++ and called it Visual C++
Sun lead a consortium to develop an all new OO language called Java and trademarked the name. Nobody can make proprietary extensions to the language and still call it Java. They also built a Development Kit for Java http://java.sun.com/products/
Of course, Microsoft made extensions and called it Java, Visual J++, etc. Sun sued them for violating the trademark.
Microsoft invented a completely new language for Windows.Net and called it C#. But if you look at it, C# looks remarkable like Java with Microsoft propietary extensions.