C is the language that was created to help create UNIX. It is a language that is close to assembly, but not quite assembly - it's a medium level programming langauge. It's good for if you really want to get every last bit of performance out of your application without resorting to using assembly, but you'll end up having to juggle memory - great for making operating systems but sometimes tedious when trying to make applications. C++ is the language created based off of C. It is a higher level programming language and introduces object-oriented programming. Because of this, it is harder to create something like UNIX as it manages memory for you, but it's not completely impossible, as BeOS was written with C++.
I personally like C over C++ because I'm not an object-oriented programmer, and C seems less confusing and more uniform in syntax than C++. iostream.h just ticked me off because it uses completely different syntax to do simple tasks. Where did ">>" come from? If that is supposed to represent a Germanic double arrow quotation mark why do you still need to use English dash quotes? Why can't you just use the same simple function syntax from its predecessor?
Each compiler for the langauge is different - and have slightly different syntaxes to do the same thing if you are going outside ANSI standard libraries like stdio and stdlib. GNU GCC is more oriented towards *nix systems and so its syntax and libraries reflect that. It's free and tries to be as compliant as possible with standards. Visual C++ (also compiles C) has a syntax that is more in the Microsoft style of dumping standards and making their own - at least in some previous versions. I don't know if .NET is any less standards bending. Borland compilers are okay, though the DOS versions have bent syntax in order to speed up compiling time.
Reply