Created on: 3/20/05 Last edited on: 3/20/05 LESSON 0 - INTRODUCTION So you want to learn how to program in C++, huh? Well, I'm going to try to help you along the way. This tutorial will be an attempt to get you familiar with the C/C++ languages, and also to learn some good programming techniques, AND teach you some object-oriented principals. Here are the requirements about this tutorial: a.) You must know the basics about a computer. IE: how to turn it on, how to open a program, how to operate the mouse, what a hard drive is, what a CD is. Seeing how you got to this document suggests that you have mostly met this requirement. b.) Basic understanding of algebra, and elementary math - addition, subtraction, multiplication, and division. You DON'T have to know about bitwise, logical operations, and about modulous math - I'll be explaining these later. c.) Some sort of C++ compiler. I myself use Microsoft Visual Studios .NET academic version. But you have to pay for that. There are plenty of FREE C++ compilers out there - GCC, some of the older Borland compilers, etc... I'll teach you how to create a C++ program in Visual Studios, and how to compile a program with GCC. d.) Determination, passion, patience, common sense, and a great amount of will - there will be times when you want to just give up. You will need the will power to just keep going on. But then again, you need the common sense to realise that you aren't going anywhere for the moment, and should call it day. e.) Capable of being able to put off learning something until later. I will, quite frequently, tell you that something exists, without teaching you much about it. You may feel very confused about it. This tutorial isn't meant to be understood until I finish writing it, and you finish reading it. For example, in Lesson 0-a, I will mention "pre-processor directives", but won't even tell you what they do. All you need to know is that these exist, and that you will understand the nature of these things in a latter lesson. f.) And of course, you must be able to read the English language. Here are some things that are NOT required, but are always nice to have: a.) Previous programming knowledge, from ANY language. Even if it's BASIC. This helps you to understand the concept of loops, variables, comments, etc... Just makes the learning process easier. b.) A debugger - this is where Visual Studios comes in REAL nice. If you have a debugger, it makes your job so much easier, and will save you many many long hours trying to find a typo, use of wrong variable, etc... etc... So anyways, you have chosen to learn C++. Good choice, there are many advantages to knowing how to program C++. Advantages to using C++: a.) C++ is one of the most popular programming languages. b.) Quite frequently, it is the language of choice in describing algorithms, and c.) C++ is one of the most powerful programming languages out there. d.) C++ is a very low-level high-level language (more on this later) e.) C++ gives you an incredible amount of freedom compared to other languages f.) many many others that may be added at later times... Disadvantages to using C++: a.) C++ is a very low-level high-level language (more on this later - no this is not a typo) b.) C++ gives you an incredible amount of freedom compared to other languages (also not a typo) c.) C++ is more difficult to understand, and it's code even appears to resist all attempts of being understood d.) C++, on it's own, is not capable of doing very many things. This is true of any high-level language. e.) many many others that may be added at later times...