onauc said:
There are many versions of C and C++ built by many different
companies.
So, which version :
1. more easier to learn
2. more easier to remember
3. more easier to debug
4. helps me find errors fast and professionally
5. more portable
6. has the biggest community
7. has more tutorials widely available
8. has it's source code all over the internet
9. and so on
With C, there is a distinction between the language proper, the standard
library, and the platform-specific libraries that ship with most compilers.
With a few minor variations, the language proper is stable, and is the same
whichever compiler you buy. The standard library is also, as the name
implies, the same. You need to learn both of these to be a C programmer.
Platform-specific libraries tend to be very large, and few programmers know
all the details of any one library. I have my opinions on which libraries
are well-designed and which are a pig in a poke, but I will keep them to
myself.
An IDE (integrated development environment) also comes with most commercial
compilers. This shouldn't be confused with the compiler proper, which takes
in an ASCII source file, written in any editor, and spits out an executable,
running entirely without any graphical output. IDEs generally come with
debuggers, online documentation, source control systems, maybe tools like
memory leak detectors.
Which IDE you use depends on which platform you run, and how much money you
have to spend. Microsoft .net is probably the most widely-used on PCs, and
for professional development is effectively essential, because of the way
Microsoft have managed to tie the operating system and third party products
into their compiler. However if you can get another compiler much cheaper it
will probably be perfectly adequate for home use.
If C++ is an extension of C then why isn't it called the new version of
C instead of having a different name ?
Because the C subset remains a language which people use, for various
reasons it is often better to reject the C++ extensions.
And, why isn't it called C+ instead of C++ ?
The name is a cute bit of marketing. in C, "C++" means "increment C".
Was there ever a C+ ?
Not that I know of.
Who created the C++ and why couldn't they give a different name instead
of copying the name from C ?
The name is a little bit unfair to C programmers, since it implies that we
are using an inferior language. I actually failed a job interview once
because of this. I said I preferred C, and the interviewer, who obviously
wasn't very adept technically, seemed tog et the impression that this was
because I was incapable of understanding C++.
The name C++ implies "a better C". Since both languages are open standards
there is no-one around to hire lawyers, so Bjarne Stroustrup, who invented
C++, was allowed to get away with it.
Anything else I should know ?
From the questions you ask you are obviously at a very early stage of
learning about C programming. For the purpose of the newsgroup, the most
important thing to be claer about is the distinction the langauge proper and
the standard library, both of which are on-topic, and work the same way on
all platforms, and the tools and extensions, which we don't deal with here.