A short essay about the origins of the C programming language and why it became so popular so quickly. The C programming language and its direct descendants are by far the most popular programming languages used in the world today. Most competent programmers know how to use C, and usually C is a programmer's language of choice. This structurally tiny language originated at Bell Labs in order to write the first Unix operating system for a DEC PDP-7 computer with only 8K bytes of memory. In spite of its small beginnings, C has scaled up to run on powerful super-computers with gigabytes of memory. The language is extremely portable; it is possible to write a program in C for just about every platform in existence. Yet, if one takes a more in depth look at C, one realizes that it is rather weak and has an extremely small vocabulary. How did C become so popular despite its deficiencies? This paper will explore the history of the C programming language and discuss the different aspects of the language in an attempt to determine why this language has thrived in spite of there being more powerful and better structured object oriented languages in existence. Portions of this paper get a little technical, but it is beyond the scope of this essay to teach the reader all the intricacies of C; however, the reader unfamiliar with C will still be able to follow the arguments, and thus come away with an understanding of how C was born and why it is so popular. Before we can examine the history of C, we must first take a look at Unix's History. "The history of C and that of the Unix operating system itself are intertwined to such a degree that you might almost say that C was invented for the purpose of writing the Unix system."[McGilton, 11] The seeds of Unix began in 1965 with the completion of a project at MIT called Project MAC, making it one of the first time-sharing computer systems. It allowed simultaneous use of the same computer, for at most thirty people, by using one of 160 typewriter terminals placed around campus and in the homes of faculty. It became so overloaded that MIT decided to embark on a more ambitious time-sharing system as a joint venture with General Electric and Bell Labs. This project is known as MULTICS which stands for Multiplexed Information and Computing Service [Campbell-Kelly, 214]. Bell Labs became the software contractor because the company had many talented programmers. As a government regulated monopoly, however, they were not allowed to function as an independent company. At the start of the project, MIT wanted to use IBM's System/360 computers, however, IBM had not yet built time-sharing into their computers. This opened the door for GE to use its computers. The trio worked on this project for a few years but in 1969, Bell Labs decided to discontinue the project because MULTICS was too expensive and would take to long to complete. At this point, an informal group of Bell Labs employees, led my Ken Thompson, started to investigate alternatives. "When Bell Labs pulled out of the Multics project in 1969, [Ken] Thompson and [Dennis] Ritchie were left frustrated because working on Multics had provided them with a rather attractive programming environment."[Campbell-Kelly, 219] According to historians Jean Yates and Rebecca Thomas, Thompson and his group started designing an "operating system that would support coordinated teams of programmers in the development of products, and would simplify the dialog between human and machine."[Yates, 18] He began writing this skeleton system and he named it Unix, which is a rather bad pun on Multics. At the time, developers enjoyed being able to write programs in high level languages such as PL/I or BCPL. A high level language is one which abstracts the hardware away from the programming environment so that instead of worrying about bits in memory and esoteric assembly language codes, as is necessary when using assembly language, a programmer can concentrate on other parts of a program leaving the language to handle the bits and the bytes. Thompson decided that Unix needed a high-level system language. However, he couldn't just pick one that already existed. He was restricted by the computer he was working on, the PDP-7, which had only 8K bytes of memory [Ritchie, 673]. This was such a problem that at the start of the project he could not even program on the PDP-7. Instead, he had to compile his program on the more powerful GE-635 machine and transfer the program to the slower computer using paper tape [Ritchie, 672]. Thompson had had some previous experience with the BCPL system language, which was invented by Martin Richards in the mid-1960s, however it was too slow and lacked the run-time support that Thompson thought was necessary [Pratt, 472]. So, Thompson took his experience of BCLP and created his own language which he called B. The language is not really a new language. More correctly it is, "BCPL squeezed into 8K bytes and filtered through Thompson's brain. The name most probably represents a contraction of BCPL, though an alternate theory holds that it derives from Bon, an unrelated language created by Thompson during the Multics days."[Ritchie, 673] Bon in turn is probably named after his wife, Bonnie, but others claim that it is named after a religion whose rituals involve chanting magic formulas.
După plată vei primi prin email un cod de download pentru a descărca gratis oricare alt referat de pe site.Vezi detalii.