Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was...
-
Upload
johnathan-hutchinson -
Category
Documents
-
view
215 -
download
0
Transcript of Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was...
![Page 1: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/1.jpg)
Programming Language C
Team Badass
![Page 2: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/2.jpg)
History
Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin
Richards for the Multics Project The B language was then developed by Ken
Thompson for developing the UNIX system 1971 Ritchie extended the B language and
this was the first incarnation of C 1973 UNIX was written in C
![Page 3: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/3.jpg)
Creation Rationale
![Page 4: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/4.jpg)
Faults with B
Dennis Ritchie worked with the language B before developing C.
The “UNIX community” mainly used B for programming.
Most didn’t like B because of its restrictions. “Its character handling mechanism is
awkward, floating-point arithmetic is not handled well, and there is too much overhead dealing with pointers.”
The biggest problem with this language was its typeless nature.
![Page 5: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/5.jpg)
New B
Dennis Ritchie wanted to improve B and so he started extending it. He had no intention of creating a new language at first.
One of the first things he did to extend the language was to add types to the language. The first extension of B included the two types Int, and Char.
This first extension had more “new” aspects to it other than the two variable types, but the typing was the most significant.
This extension of the language was called “New B”
![Page 6: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/6.jpg)
C
B was extended to such an extent that Ritchie finally decided that it was so different from B that it could now be considered a new language.
This new language was called C because it was the next letter in the alphabet after B.
There were 7 different variable types included in the C language by the time the first version released.
C is considered as a very portable language because it is easy to write compilers for the language for different systems.
![Page 7: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/7.jpg)
UNIX
In 1973 the UNIX kernel was rewritten in C by Dennis Ritchie.
When this happened, popularity for UNIX skyrocketed.
C made the UNIX system portable with most universities at the time because of C’s portability.
C gained a huge amount of popularity due to UNIX being written in the language.
It was so popular that there was a compiler for nearly every system available at the time.
![Page 8: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/8.jpg)
C Features
Programmer Oriented Flexible Portable Efficiency
![Page 9: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/9.jpg)
C provides three ways to manage memory Static memory allocation allocated at compile time before
program is executed Automatic memory allocation
automatically allocates and de-allocates
Dynamic memory allocationuses blocks of memory to be used at
run- time and released for reuse
![Page 10: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/10.jpg)
C was created because of the previous problems with the prior language B
Not only was there problems with the language itself, the compiler made it yield programs slower than assembly language
This led to the development of C which made for a more powerful, faster, and effective language
The C language and compiler allowed UNIX to be created which allowed multi-tasking and multi-user
![Page 11: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/11.jpg)
Pros and Cons
![Page 12: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/12.jpg)
Pros
Smaller package Faster run-time Its ability to communicate with
assembly and communicate directly with controllers, processors and other devices.
High performance Highly adaptable
![Page 13: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/13.jpg)
Cons
doesn’t have good type safety, which is the extent at which a program discourages typos.
Doesn’t have the versatility of its cousins.
Needs a C compiler Requires more work in coding than
other languages.
![Page 14: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/14.jpg)
Applications Involving C
![Page 15: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/15.jpg)
UNIX
Unix is an operating system
Multitasking was introduced
Portability Customizable Revolutionized
computer programming
![Page 16: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/16.jpg)
Linux
Popular operating system
Based off of UNIX Open source Used heavily for
programming Many servers are
ran by Linux
![Page 17: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/17.jpg)
id-tech Series
Extremely popular at the time and still is now
Also known as the “Doom engine” Later changed language to C++ for
stronger programming Created games that revolutionized
computer gaming forever. For example games such as…
![Page 18: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/18.jpg)
Doom Series
Created by the company id Software
One of the first computer games that involved 3D graphics
Revolutionized first person shooters
Very memorable game
![Page 19: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/19.jpg)
HeXen Series
Another series created by id Software
Very similar game to Doom
Was not as popular as Doom or Wolfenstein 3D
![Page 20: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/20.jpg)
Quake
id-tech 1 upgraded to id-tech 2 and it was called the “Quake Engine”
First person shooters are based off of this very game.
TF2, Left 4 Dead, Counter Strike.
![Page 21: Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was developed by Martin Richards for the Multics Project](https://reader030.fdocuments.in/reader030/viewer/2022032600/56649dca5503460f94ac0bab/html5/thumbnails/21.jpg)
MAME (Multiple Arcade Machine Emulator)
Allows recreation Games are called
“ROMs” Currently written
in C++, but was developed in C
Able to play any type of arcade game on a computer