Team Badass. Dennis M. Ritchie 1967 He became an employee at Bell Labs Mid 1960s BCPL was...

21
Programming Language C Team Badass

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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