230 likes | 581 Views
Team Badass. Programming Language C. 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
E N D
Team Badass Programming Language C
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
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 allocation uses 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 • 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.
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