The C language was developed in 1972 by Dennis Richie at Bell Telephone laboratories, primarily as a systems programming language. That is, a language to write operating systems with. Richie’s primary goals were to produce a minimalistic language that was easy to compile, allowed efficient access to memory, produced efficient code, and did not need extensive run-time support. Despite being a fairly low-level high-level language, it was designed to encourage machine and platform independent programming.
C ended up being so efficient and flexible that in 1973, Ritchie and Ken Thompson rewrote most of the UNIX operating system using C. Many previous operating systems had been written in assembly. Unlike assembly, which ties a program to a specific CPU, C’s excellent portability allowed UNIX to be recompiled on many different types of computers, speeding it’s adoption. C and Unix had their fortunes tied together, and C’s popularity was in part tied to the success of UNIX as an operating system.
In 1978, Brian Kernighan and Dennis Ritchie published a book called “The C Programming Language”. This book, which was commonly known as K&R (after the author’s last names), provided an informal specification for the language and became a de facto standard. When maximum portability was needed, programmers would stick to the recommendations in K&R, because most compilers at the time were implemented to K&R standards.
In 1983, the American National Standards Institute (ANSI) formed a committee to establish a formal standard for C. In 1989 (committees take forever to do anything), they finished, and released the C89 standard, more commonly known as ANSI C. In 1990 the International Organization for Standardization adopted ANSI C (with a few minor modifications). This version of C became known as C90. Compilers eventually became ANSI C/C90 compliant, and programs desiring maximum portability were coded to this standard.
In 1999, the ANSI committee released a new version of C called C99. It adopted many features which had already made their way into compilers as extensions, or had been implemented in C++.
C++ (pronounced see plus plus) was developed by Bjarne Stroustrup at Bell Labs as an extension to C, starting in 1979. C++ was ratified in 1998 by the ISO committee, and again in 2003 (called C++03, which is what this tutorial will be teaching). A new version of the standard, known as C++11 has been made available since the time these tutorials were written — updates to the tutorial to cover C++11′s additions will be made in the appendix.
The underlying design philosophy of C and C++ can be summed up as “trust the programmer” — which is both wonderful, because the compiler will not stand in your way if you try to do something unorthodox that makes sense, but also dangerous, because the compiler will not stand in your way if you try to do something that could produce unexpected results. That is one of the primary reasons why knowing how NOT to code C/C++ is important — because there are quite a few pitfalls that new programmers are likely to fall into if caught unaware.
C++ adds many new features to the C language, and is perhaps best thought of as a superset of C, though this is not strictly true as C99 introduced a few features that do not exist in C++. C++’s claim to fame results primarily from the fact that it is an object-oriented language. As for what an object is and how it differs from traditional programming methods, well, we’ll cover that in just a few sections.
0.4 — Introduction to development
|
Index
|
0.2 — Introduction to programming languages
|
0.4 — Introduction to development
Index
0.2 — Introduction to programming languages
Pheww.
I’m glad I didn’t start off with C.
I did, and C is 5 times easier to learn then C++.
I did’nt read this.I hate History.
So did I.
Gee, I sure hope the majority of these comments aren’t made by kids.
I really like this tutorial! Really easy to understand and doesn’t automatically assume I know how to make the next Spore with my eyes closed. Now I finally have an idea of what I am doing! :)
So… “chapter” 3 and I’m ready to start learning how to do this! Very well written so far. Also appreciate the history.
Its a good intro but am actually intrested in programming concepts of c++.im finding it bit difficult as compare to c.
I THINK THIS BOOK IS VERY GOOD…
Why use allcaps? Have a reason? Kids are life’s annoyance.
What makes you think he’s a kid? You can’t accurately guess someones age because they used all-caps in a comment.
I’d have to agree.
If you’re apprehensive about reading this, read it anyway, you may actually appreciate what’s said here afterwards.
[...] 2007 Prev/Next Posts « 0.3 — Introduction to C/C++ | Home | 0.5 — Installing an Integrated Development Environment (IDE) » Sunday, May [...]
[...] 2007 Prev/Next Posts « 0.1 — Introduction to these tutorials | Home | 0.3 — Introduction to C/C++ » Sunday, May 27th, 2007 at 10:42 [...]
this is good
Very nice the way you are laying out the history behind hte language before getting involved into the language specifics itself.
Sick…. i tried learning Ansii C first… that didn’t worked quite well. plus, why learn Ansii C when everything is getting done around with C++ ? This sounds like a good tutorial, let’s c if it works :D
so nice I hope that many students visit this site
Always good to know where something comes from, thanks!
Love Love Love to the author from Danni :)]
It rocks
Great site, but after reading some of the post, it makes me wonder if I should learn C first?
No, there really isn’t any point in learning C first unless you have a job that requires you to work in C and not C++. Although, as it turns out, the first 7 chapters of this tutorial are primarily C concepts. It isn’t until chapter 8 that we really get into all the stuff that makes C++ awesome.
I’m not a big fan of modern history. But who knows, this may come in handy xD
yeah! :D im 13 years old and i can learn C++ from here FREE!
now i can start making games…
this is good because without any coaching we can learn language
I am new user and very unknown to c++,but i want to learn c++, and will make my self to a successful programmer.
After reading this, and it’s very informative, I wonder how C came to be developed. Before C, there was only machine code and assembler, right? So… how was C developed? Did it come out of assembly or did the people actually use machine code or..? That is what I’m now pondering over. :)
Awesome. I am 11 and I wanna learn what makes stuff like games and mmos work
You can do that by shutting up until you reached the age of 18, then you may comment. Kids are such horrible comments. Also, having them use XBLA with a microphone should be illegal.
Agreed.
What a highly stereotypical comment. It looks to me as if he just wanted to learn something.
Ironically, there is an 11 year old somewhere that knows more about code than you ever could. Plus I don’t remember Bill Gates as being the age of majority when he created Microsoft. If someone had told him to wait until he was 18 that Microsoft OS you may or may not being using wouldn’t exist. Also the funny thing is that people complain about todays children being uneducated.
i am 15 and very interested in learning c,c++ and c# to make programs and games, so far this tutorial has been very easy to understand and very interesting!!!!
thanks a lot for the valued information,,,,,I have question what the different amang /* and // during use c++ are.
why i cant coment here it is reyaley easy to use and youches all about computer and of course free
I think ur correct arun ya ur ofcourse corect
how do I get a compiler?
you can download it at http://www.softonic.com
Wow, I’m so glad I found this site.. this is really great// Thanks alot.
Did you notice half the kids ages 16 and under want to learn just to create/hack games.
I noticed it too, and I feel like I’m too old to be on this website thanks to the comments.
Its true because im under 16 and all i want to do is create games
If C++ doesn’t let me do something unorthodox that makes sense, what programming languages should I take to study? I really want to do something like that, something leads to unexpected results.
“The C language was developed in 1972 by Dennis Richie…” It’s Dennis Ritchie. Just so you know. (:
Oh my…
I have been reading and reading. Already bored.
This will take years.
its not that good as shown.
That’s funny, but i have to say.. I’m fifteen and I don’t care much for video games. I’m more into computer software. Imho xD.. Great tutorials on this site, none the less.
Incase no one knows, I’m also know as Waffleego. Yes, I have a youtube account.
I love alex sir for giving his valuble information in a easy manner.It is very easy for beginers in c++.Thank u sir.
“C’s excellent portability allowed UNIX to be recompiled on many different types of computers, speeding it’s adoption.”
Typo: “it’s” => “its”.
I noticed this same typo elsewhere.
Other than that, thank you very much for this nice tutorial.
im with zach Im not interested in making/hacking games im learning so I can work on open souce projects like DSO.
if you think you have the c++ basics nailed and if you want to write a program but dont where to start hackthissite.com has really good missions for beginners. they have every thing from writing a program to unscramble words to writing irc bots.
sweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeet
cool this is kool and it may be kool but i think it is kool also i think it is cool and is this kool or is it cool i think it is kool XD
what….
Crazy xDD
Hey guys, just wanted to say that you shouldn’t really classify all kids as annoying and only wanting to learn c++ for hacking video games. I’m 15 years old and I am actually planning on studying computer programming. I’m very serious about programming. Yes, I’m a gamer. And yes, I’d like to learn how to create videogame hacks or even videogames. But I want my life to be programming.
So I dare you to call ME a stupid kid now.
Ok whats up with YYTGgyugsdc? Seriously, everyone was a kid once right?
Sooo if he wants to insult the world then go ahead lol.
But thats not true that all kids want to create or hack games. Maybe i’m 17 and getting ready to be a software engineer, maybe i want to learn the language now to get a head start? To be honest, seems like everybody was fine with sharing their opinions until this dude started going off on the kids. Just relax dude, nobody knows what anyone is trying to get out of learning this programming, so dont judge people. PEACE
great material…really easy to understand for beginners!!
What really added points to these great material are the comments….specially by “YYTGgyugsdc”….makes me wanna finish each section of the tutorial then read the comments….keep it up YYTGgyugsdc!….you really are a great spice
why if i enter more than Ten numbers , the console look like as the following picture
http://lulzimg.com/view/12c4ecee60.jpg
plz any body me how can i learn c++
This is great! Thank you, I have been looking for a c++ or C tutorial for ages now!
have just started to use C++ for flight simulatorx. I have been watching a few youtube videos but they seem to move to quickly and there is not enough explanation so I am starting here. this looks good to me.
For those who are concerned about kids posting meaningless comments, don’t worry. They may be posting now while all seems straight forward and exciting. But once they confront having to understand the complexities of C++, those that are childish will most likely have given up because they are quite immature and want everything to be layed out for them for them. Don’t worry, in a few more pages they will have gone and we’ll be left with the more mature people who are serious about programming, not wasting time having pointless rants when we could be discussing important issues we have on coding and helping eachother. Then we can discuss our quieries in an appropriate manner, look forward to conversing with you guys later on so see you then. ;) Good Luck.
There’s no point in asking anything at his early stage because, well you know ^^. I’m not saying that all people who are under 18 are immature and will give up (1′m 16) but those who are immature and not serious about programming will most likey find it quite difficult and those who are serious about programming will be able to converse without any ill manoured comments. I wish you all the best, whatever age you happen to be.