team badass. dennis m. ritchie 1967 he became an employee at bell labs mid 1960s bcpl was...
TRANSCRIPT
Programming Language C
Team Badass
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
Creation Rationale
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.
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”
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.
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.
C Features
Programmer Oriented Flexible Portable Efficiency
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
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
Pros and Cons
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
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.
Applications Involving C
UNIX
Unix is an operating system
Multitasking was introduced
Portability Customizable Revolutionized
computer programming
Linux
Popular operating system
Based off of UNIX Open source Used heavily for
programming Many servers are
ran by Linux
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…
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
HeXen Series
Another series created by id Software
Very similar game to Doom
Was not as popular as Doom or Wolfenstein 3D
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.
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