Okay, so we just talked some about Dennis Ritchie. Let me put up his web page from the Wikipedia. Okay. We can say Dennis, he was born in 1941, died 2011. Let's say an American computer scientist. He created the C programming language and with the colleague Ken Thompson, Unix operating system. That's his picture towards the end of his life. As I mentioned before, he was awarded the Turing Award in '83 which is computer sciences equivalent to the Nobel prize and he also got a Hamming medal and a National Medal of Technology. Then another critical thing was he was the R in Kernighan and Ritchie, the C programming language which was the original bible for the language. So C was created by Dennis Ritchie. He was working with Ken Thompson at Bell Labs and this was 1972. Some of the characteristics of the language that make it useful and powerful was it was small as we'll see. A number of concepts you need to understand to fully learn; C is much smaller than current languages. C++ is at least three times the size of this language when you use a metric like keywords. Keywords are critical to understanding language. They're reserved for special meanings. We'll talk explicitly about them shortly. It was low level. Low level is used when you need a great deal of efficiency and access to all the machine resources. So it's job was to build an operating system, namely the Unix operating system. Now is the joint project of Thompson and Ritchie with the one of Turing. Then the other thing it was, was highly efficient. It was easy to translate from C. Sometimes C is called a portable assembler into the actual machine code regardless of what Machine we're running on. C is sometimes referred to as a systems implementation language. Later it got to be used as general purpose language. But it was originally used to replace languages like B, its predecessor, and BCPL which was B's predecessor. Which were also being used to implement small operating system and they were also critically reliant on the design of Algol 60. Algol 60 was a language codified by an international group of computer scientists in 1960 right at the beginning of where there is Computer Science. If you're interested in majoring in computer science or are computer scientist, I highly recommend for the majors that you go back and look at Algol 60. Many of the concepts that we still are heavily using started with Algol 60. So when we examine C, we're going to see a first program that was made famous by the Kernighan and Ritchie C programming language; the Bible, and indeed it's one of the books I recommend especially if you're a computer scientist because it's somewhat sophisticated; and while my book, a book on C; is more didactic, more tutorial, this is a very thin book for people who already understood programming. So it was written for people who know other programming languages just to expose them to the C language. It was written beautifully, largely influenced by the first author who's an excellent writer, Brian Kernighan. In that language; in that first program, we see include standard io.h which is a library for input-output, then we see one of these key words; int includes a keyword. Now all inclusive preprocessor keyword, int main. Main is always a function that we use. It's where the program begins and then these brace pairs. Well, those are parentheses, then this is a curly brace. We sometimes indicate that that's the beginning of a piece of code, and then we have this function out of the standard library for IO where it prints to the screen print f quote, this string; "hello world" and we have this funny little backslash n, and that's silent character, backslash n means instead of printing something, advance to a new line. Then we also have return zero which says we're going to finish the program and a special value zero is going to be indicated to the operating system. Meaning everything has completed correctly and then we have the closing brace. So one of the things you're going to be exposed to in programming is making sure you have matching braces, making sure you keep to your punctuation. There's matching parentheses. There's matching quotes. The semicolon is heavily used because the semicolon always indicates the end of a statement. So we'll have in our grammar and the syntax for the language, things like punctuation which are very important special characters and punctuation. Semicolon being most important, braces being incredibly important, and parentheses. If we mismatch these, sound like writing an essay, the compiler immediately basically Issues an error and says it won't compile code.