Question:
what is the difference between c, c+, c++, c#, turbo c, turbo c++, ANSI c?
suresh
2009-09-09 13:05:36 UTC
what is the difference between c, c+, c++, c#, turbo c, turbo c++, ANSI c?
Six answers:
james
2009-09-09 13:12:51 UTC
C is a very basic programming language, C+ is an extended version of the same language, C++ is the object oriented version of the language that is used commonly today (you will rarely see C or C+ used anymore) C# is the newest software and toolset that uses the C++ code, Turbo C++ is a quick set autofill version of C++ (used often by amature programmers this also color codes brackets and such for easy trouble shooting) Turbo c is obvious from the last answer, and I have no Idea what ANSI c is I have never heard of it.
?
2015-12-18 03:22:54 UTC
Wikipedia has good articles for both C, C++ and C#. Try reading them.



C is the first one, not object-oriented. It is still used today, regardless of what some may say. In fact, it's the base for many others (the Java JVM is written in C, so is most of the linux kernel, most of software drivers, scripting language interpreters, the android NDK, etc, etc, etc). It's simple, in that it gives you a lot of control over the machine. Newbies (or incompetentes) call it complicated because of that. You have to know what you are doing if you're going to use C. Alas, less and less programmers fit this category.



C++ is the object-oriented cousin of C. I say cousin, because C++ is *not* an extension to C. There are a lot of similarities, but some gotchas too. It's widely used although in the object-oriented arena maybe not so much.



I've never heard of C+ but i jokingly use it to describe code that is "C with classes", a bad practice of mixing C and C++ (they are that similar indeed).



C# is Microsoft trying to put it's paw on the C++-world as they try to do with everything else. They have indeed made it an open standard... there just don't seem to be C#-compilers for linux. C# has more features than C++ and it's one the main languages in .NET (along with VB something).



Turbo* is a family of IDEs/compilers, kinda obsolete (unless of course you're doing software archaeology).



ANSI is a standard, not a language. ANSI C is C code that is portable, i.e., you can (should eb able to) compile it in any architecture (x86, amd64, arm, ...)



Again, your favorite search engine and wikipedia can take you a long way.
Joseph
2015-09-26 04:12:51 UTC
ANSI C is mostly used in the embedded software development - every other PIC or MPU using the C language may need to be integrated through it's datasheet using the ANSI C libraries for cross platform to bring the functioning code to live in the peripheral transfer world where things come to life from the binary from source code - example the CCS or Hitech embedded complier mostly used by Microchip to integrate cross platforms between the PIC and IDE is the ANSI C libraries and the PIC libraries that is basically the datasheet of how the PIC really works - there are many ways to understand the Embedded world but also trying microchip.com - but most IDE's are so advance that they automatically doing the linking on cross platform for you and you may never hear this ANSI C libraries it is usually the engineers or hardware designer that go into core hardware and software extrapolation. This is not to be mixed up with VHDL for FPGA development off course it is totally different because VHDL and C may have the same structure for coding but the hardware works totally difference but it is not impossible to link the two - also these cross platform in the VHDL is not to be mixed up with stuff from SystemC which is a big subject on it's own, I am not touching this today - it really takes a hardware design and software engineer to understand what I have said here and I hope I was clear enough, if it is not clear I have tried got to run (Joe)
?
2016-04-11 04:41:13 UTC
Henni is partly right. C is a family of languages, not a single language. ANSI C is one of those languages, and is far from obsolete. In chronological order: Classic C, also called "K&R C" or "Unix C", is a group of C implementations provided mostly on Unix platforms in the late 1970s and early to late 1980s. The only "official" documentation on Dennis Ritchie's powerful little language was a book "The C Programming Language" by Kernighan and Ritchie. Listed in that order, "K&R" became a synonym for the language, and many people thought that Brian Kernighan had something to do with the creation of the language. He didn't. "ANSI C" is another name for the 1989 ANSI standard that fixed many (not all) of the flaws in K&R C. That exact standard was adopted as a worldwide standard by the ISO in 1990. This language is also called C89 or C90 for that reason. These are the same language. These are also the only C language standard that is completely implemented by either Visual C++ or GNU C, so far. So much for obsolete. This is also the language that later versions of Turbo C/C++ compilers implement. This is the first version of C to have a standardized library and header files. "C99" is the name for a substantial upgrade to both the C language and the Standard C Library, adopted by the ISO in 1999, and later by ANSI (reversing the 1989/90 order). It has been controversial ever since then. The C compiler developers are, for the most part, also C++ compiler developers. The C++ folks did not seem to care much for C99. Partly, they wanted to work on C++ features, and not pretty up the C features that they were/are trying to hide anyway. Also, some of the common language features diverged from the C++ standard development over the same time period, and realigning the two languages is difficult on that basis. C11 is the most recent standard, and is sort of a step backwards. It makes some of the more contentious features "optional"...which is useless for portable development. (And, if you don't care about portability, you never needed a standard in the first place.) Who knows what will become of this standard. The compiler developers are busy with C++11 (see below). Turbo C is a compiler and was the first widely-available IDE for the C language. Later versions compare to modern IDEs (for C) in terms of just about everything, so I don't know where Henni gets the "lousy IDE" notion. C++ is also a family of languages, mostly created by Bjarne Stroustrup. "C with Classes" and some other names were tossed around before settling down on C++ (a name that shows as much misunderstanding of the C language as much of the rest of Stroustrup's design.) There were a number of compilers tracking the "AT&T C++" compiler being developed by Stroustrup and his team at Bell Labs. Thus AT&T C++ became an unofficial first standard for portable C++. Turbo C++ versions tracked this standard. C++98 refers to the first true standard for the language, adopted by the ISO in 1998, and ANSI in 1989. It introduced a surprising number of new features late in the standardization cycle. Namespaces, a change in standard library header names, the standardization of a truly useful string class, all of these effectively obsoleted all of the ATT&T compilers--and almost "overnight". This includes Turbo C++. C++11 is the latest standard. The current versions of Visual C++ and GNU C++ implement much, but not all of this standard. That's a thumbnail sketch of C/C++ and how the Turbo compilers fit in. Turbo C is still a decent implementation of the C language. It's runtime support is lacking, though, since it was last updated when WIndows 95 and Windows NT were the new kids on the Microsoft block. As I said before, the language is C89, aka "ANSI C", and that's the standard to program to if you want your program to run on any current compiler. Turbo C++, on the other hand, is obsolete. You can't even write the minimal standard cout<<"Hello" app to compile on both TC++ and a modern compiler like, say, GNU C++, If you want to learn C++ as it's coded in the 21st century, Turbo is a poor place to start.
Ohad
2009-09-09 13:25:42 UTC
C, C+, C++ and C# are different programming languages. C+ isn't used anymore, C is a very basic and low-level programming language. C++ is like an "upgrade" of C - It's almost the same with the big difference of allowing Object Oriented Programming - making classes, objects and using Polymorphism.

C# is a totally different language - it's a .NET language made by Microsoft, and is considered to be "Microsoft's answer to Java". It's very similar to Java, both of them are compiled to a middle-language before being compiled to direct binary orders for the computer. C# is supposed to be compatible for every OS, just like Java, but it's still problematic on most of the non-Windows OS as Linux, since the .NET Framework, which compiles the middle-language code to binary codes, is available for Windows only AFAIK.



Turbo C is an IDE and compiler for C, it's considered old and almost isn't used anymore.

Same for Turbo C++.



ANSI C are certain standards for the C language. There are 3 ANSIs - C89, C90 and C99. Of course, C99 is the most recent ANSI and every new compiler is following C99.



If you wanna start learning programming - first choose a language. C is a great language to start with, as it teaches you the basics of programming and includes certain options C# doesn't provide, as using pointers. On the other hand, C# is easier, it's IDE and compiler are very nice and convenient, and it has a lot of built-in functions which make the programming with it very easy and nice.



Also, you might wanna know C# is a lot slower than C and C++, although with the mega-computers nowadays the difference is very small, and unless you really need it to be fast - I suggest you learn C#.
gaiacarra
2009-09-09 13:13:35 UTC
C was a procedural language made in 1972 which soon became pretty popular for writing operating systems and applications.



C++ was an upgrade to C made in the eighties to incorporate object-oriented programming into C. It is now basically the definitive application programming language.



C+ doesn't exist.



C# is something made by Microsoft in the late nineties as a rip-off of Java, and nobody really cares about it except Microsoft.



The turbo variants are pretty much just dialects of C and C++ to make it go faster. I'm not sure if it was a change to the languages themselves or just revamped compilers.



ANSI C is some sort of standardization thing. I don't think it's a different language, just a series of rules for writing C code - but don't quote me on that, I only just looked it up now.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...