StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

History of Programming - Essay Example

Cite this document
Summary
This essay talks about the history of programming with more emphasis on developments since the arrival of electronic computers in the 1940s. The paper reviews the history factors which brought about the change, types of programming that took place in various periods…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER94.8% of users find it useful
History of Programming
Read Text Preview

Extract of sample "History of Programming"

History of Programming First Last Dr. TeacherFirst TeacherLast Number 15 June History of Programming Abstract In the strictest definition, the concept of programming is not limited only to computers, as evident by the work done to control the steps in the Jacquard loom in early 19th century. However, the history of programming is related and studied more in relation with computing and how the two segments of the technology industry, computer hardware and associated programming languages, developed in parallel. This paper reviews the history of programming with more emphasis on developments since the arrival of electronic computers in the 1940s. The history is traced through the factors which brought about the change, types of programming that took place in various periods along with examples of prominent computer languages used. History of Programming Introduction Futurist Raymond Kurzweil aptly stated that “if the automobile industry had made as much progress [as computers and software] in the past fifty years, a car today would cost a hundredth of a cent and go faster than the speed of light." (1999, pp. 21, 25). The idea of synthesizing available science and means to get work from machines was not a new one. For example, Joseph Marie Jacquard invented a mechanical loom to make it easier to create complex designs for textiles. However, machines which could be classified as computers and based on electronics started appearing in the late 1940s. The initial machines, such as the ENIAC, EDSAC, and Mark I, were large physical machines, usually as big as a room and weighing tones in weight. To program these machines, low level machine language was used, which, by its nature, was specific to the machine. Fast forward to today, and one can use net books which are many orders of magnitude more powerful than the computers of earlier years and high level languages can perform actions which could not be imagined 60 years ago. O’Reilly Media, a noted publisher of technology books, has created a visual map of programming languages as they evolved during the short and fast paced history of computing since the 1950’s (History of Programming Languages, 2004). This map has been useful in writing this paper as it provides a single snapshot and reference of developments in the area over the years. Gabbrielli and Martini (2010) traces the evolution of programming styles, methods, and factors of change over the years while Sebesta (2005) provides an overview of various languages and their significance over the same period. Through these resources and a few others, as space permits, this paper gives a short description of how programming developed in the last 60 years. Programming styles, generations and factors of change Gabbrielli and Martini (2010: pp 413-417) discuss the developments in programming since the first effort to program computers since the late 1940’s. A summary of their investigation is given here. The initial computers like the EDSAC, Mark I and ENIAC etc. were large devices as computer chips, or even transistors were not invented by then. The size, cost and novelty of computers restricted their use mainly for research or occasionally for military purposes. Programming was not considered to be a mainstream requirement and the only way to communicate with these machines was through machine language using binary numbers. Machines languages were cumbersome to use and historically considered the “first generation” of languages. The “second generation” followed soon based on the need for relatively easier to remember coding instructions. The assembler languages fall into this category. “Assemblers” converted these assembly language instructions to machine code instructions and had almost a one-to-one correspondence with each other with the only difference being that programmers did not have to code directly in the binary language and could use mnemonics for simple binary constructs. Both assembler and machine languages were computer specific and not portable. A leap in programming language development came in the 1950’s with the design of “third generation” or “high level” languages, which were a level of abstraction above the previous two categories. This meant that the programming instructions were independent of the underlying hardware and the same program could be used on different machines if the compiler for that language existed. The introduction of FORTRAN in 1957 is considered a land mark in programming history by being the first of third generation languages. Unlike assemblers, FORTRAN and other languages that followed it included the ability to include algorithms and easier to understand for human users. Later on, languages were developed, sometimes called the “fourth generation” languages, which were non procedural and use specific (Shelly & Vermaat, 2010: p: 444). However, their classification was not consistent with the previous three generations (Sammet, 1996). Gabbrielli and Martini (2010: pp. 415-417) go on to describe some of the factors that played a key role in evolution of programming and associated languages. The fast pace of development in hardware speed and power was critical in bringing about radical changes in programming. With more underlying power, the desire to harness it through software brought new constructs and language tools. In fact, over the years, the capability of software has also driven the need of computer hardware to catch up with it showing that the two have an inseparable symbiotic relationship. Cheaper and powerful hardware also meant a wider spectrum of applications. Along with the early use of numerical calculations and analysis only, the applications began to cater for non-numeric, knowledge oriented use. Vertical applications such as gaming and databases also necessitated new programming paradigms and languages. As programming became more mainstream, new methodologies were developed. For example, object oriented methodology resulted in several new languages such as C++ and Java. Also, theoretical studies on efficiency and capability in programming brought about changes as well. For example, the earlier command of “goto” was dropped because of inefficiencies. The languages and periods of development Robert Sebesta (2005: pp. 47-117) describes the various languages which brought significant changes in programming. Along with Gabbrielli and Martini’s summary of historic periods (2010: pp. 417-430), a summary is synthesized below. 1950’s and 1960’s As mentioned earlier, FORTRAN was arguably the first high level programming language. It was first released in 1957 by John Backus’ team at IBM. Though it was designed for numerical calculations on the IBM 704 machine, it was radically different from the machine code or assemblers of the past as it was a compiled language and contained logical expressions. The language was an instant success and it was released for different hardware platforms over the years. Later versions included enhancements such as explicit variables and conditional constructs. Its last version came out in 1990 and it continued to dominate 60’s, 70’s and even a greater part of the ‘80s. Sebesta notes the special importance of ALGOL in the history of programming. Developed in collaboration between European and American scientists, it was defined in 1958 and is known as ALGOL 58. Subsequent version released in 1960 was called ALGOL 60. The primary importance of ALGOL 58 was that it “formalized the concept of data types”. However, its true pioneering role came when ALGOL 60 included the as yet unheard of features such as parameter passing, recursion, blocks for structure of program, and arrays. Abandoned early by IBM, ALGOL continued to be used in academics. ALGOL was a precursor to future structured languages such as Pascal. COBOL was yet another important language developed in 1960s. Its English like syntax made it very easy to program in. However, at the same time, the programs tended to be very long. The language was crucial in the wide use of computing in commercial applications. The language is used even today. Simula, though largely ignored commercially by perhaps being ahead of its time, was designed in 1962 in Norway. With definition of classes, this was perhaps the first object oriented language and had influence on later languages such as Smalltalk and C++. PL/1 was introduced in 1964 by IBM and it contained the “best parts of ALGOL 60, FORTRAN IV and COBOL 60” (Sebesta, 2010: p. 75). Considered as a very complex and somewhat inefficient language to use owing to its extensive use of features and constructs, it did however introduce new features such as pointers, handling of exceptions, and cross referenced arrays. Other languages of this period include LISP and BASIC. BASIC, though ignored by the computer science community, was widely used in the ‘70s and also later on proved to play a role in the PC revolution. 1970s In the 1970’s computers were much faster and smaller than the mainframes of the ‘60s. Also, interactive computing was possible compared with batch processing of the past. Interactive computing, a paradigm shift, necessitated new programming development that could provide fast responses from the machine. PASCAL was developed and became very popular in academic usage. The most notable development of the ‘70s, however, was the C language. Originally designed by Ken Thomson and Dennis Ritchie at AT&T Bell Laboratories for UNIX system programming, it emerged as a one of the most powerful amongst general purpose languages and is in use till today. C was designed from the ground up to be the most portable language. It included strong features as dynamic handling of pointers, flexible type management, and can handle real time programming efficiently. The 1970s also saw the first declarative languages. Declarative languages are those which specify what task is to be done and leave the procedural and instructional aspect of doing it to the language interpreter. Imperative languages, as those discussed earlier, not only specify what is to be done but also specify how it is done. ML and PROLOG were two declarative languages that appeared in the 1970s. 1980s The decade of the ‘80s was when computing spread out exponentially in use. With the advent of the PC’s, computing was available to anyone anywhere. Of course, this trend continues to expand till today with arrival of note and net books and mobile applications. This decade also saw the emergence of object oriented languages. C++ was a successor in a way to C language in that it maintained some of its imperative programming constructs along with improvements to C’s loosely defined type structure. However, C++ was an object oriented language and remains popular to the day. Another pioneering object oriented language was Smalltalk but it did not achieve the commercial acceptance as C++ did. 1990s With the rise of the Internet and even wider usage of computers for personal use, a challenge for the older languages was to cater for programming across large networks where the end user would interact with other users and servers thousands of miles away. Development in the programming domain was inevitable as a result. HTML, though technically started in 1989 by Tim Berners Lee, it became the standard for Internet usage in the 1990’s till today. Java was developed at Sun Microsystems by a team led by Jim Gosling. The basis for Java came from C++ but had simpler, safer language. Java blended in quickly with the Internet revolution and for the initial time, Java applets became a standard in communicating between remote applications. Since the two applications could reside on any kind of machine, portability and security were major design considerations. The mid-‘90s saw expansion in Internet usage and improvement in application design. Scripting languages such as JavaScript (no relation to Java), Python and PHP appeared. JavaScript, a client browser based scripting language, and PHP, a server based scripting language replaced Java applets to a great extent. 2000s Advanced forms of markup and hybrid languages appeared in this decade. These include XHTML, SOAP, for XML documents. In fact, XML (Extensible Markup Language) is also a scripted set of rules to define documents so that they could be accessed and processed over the Internet easily. This decade also saw extensive usage of Java servlets, a class residing on a server which is executed on request of commands from a browser, Java Server Pages (JSP). The equivalent development from Microsoft was ASPs. Conclusion The languages and programming tools discussed here are by no means the only ones that made a difference in the technology industry. In fact, use of over 2500 languages has been recorded in the course of last 50 years (History of Programming Languages, 2004). However, an attempt has been made to discuss the notable developments in the field of programming in the last 50 years or so. This can set the stage for an in depth discussion of these programming concepts and tools which is beyond the scope of this paper. The history also shows that the evolution has certainly not stopped and newer technologies and tools appear frequently. Python, Ruby and other languages are making their mark and some of these or newer languages may bring further paradigm shifts in the industry. References Gabbrielli, M. & Martini, S. (2010). Programming Languages:Principles and Paradigms. London: Springer. History of Programming Languages (2004). Retrieved June 14, 2010, from http://oreilly.com/news/graphics/prog_lang_poster.pdf Kurzweil, R. (1999) The age of spiritual machines: when computers exceed human intelligence. New York, NY: Viking. Sammet, J. E. (1996). "From HOPL to HOPL-II (1978-1993): 15 years of programming language development". History of programming languages--II. New York: ACM. p.18. Sebesta, R.W. (2005). Concepts of Programming Languages (7th ed.). Boston, MA: Pearson Education. Shelly, G.B., Vermaat, M.E. (2010). Discovering Computers: Fundamentals (5th ed.). Boston, MA: Course Technology, Cengage Learning. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“History of Programming Essay Example | Topics and Well Written Essays - 2000 words”, n.d.)
History of Programming Essay Example | Topics and Well Written Essays - 2000 words. Retrieved from https://studentshare.org/information-technology/1567792-history-of-programming
(History of Programming Essay Example | Topics and Well Written Essays - 2000 Words)
History of Programming Essay Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/information-technology/1567792-history-of-programming.
“History of Programming Essay Example | Topics and Well Written Essays - 2000 Words”, n.d. https://studentshare.org/information-technology/1567792-history-of-programming.
  • Cited: 0 times

CHECK THESE SAMPLES OF History of Programming

The Overview of Programming Languages

The paper talks about the History of Programming languages emergence, their classification, definitions, elements, features, data types, data structures and the typical instructions and control flows they use.... The essay "The Overview of Programming Languages" presents a brief History of Programming languages and the merits and demerits of communicating with the machine.... The History of Programming languages can be dated back to 1954.... This essay presents a brief overview on the topic of programming languages....
4 Pages (1000 words) Essay

The History of Computer Programming

It involves the use of programming languages to design, write, test, and maintain computer program source codes.... This discussion explores the history of computer programming over the years up to the Computer programming started in the 19th century, though scientists had started designing several devices such as calculators for various purposes before this period.... Computer programming has advanced greatly since its… Computer codes developed through phases namely first generation code (machine language), second-generation code (assembly language) and third generation code (high level language)....
5 Pages (1250 words) Research Paper

Traits of Reality-TV

Reality TV in the UK taken by many as a radical departure from the norm or a great innovation in the History of Programming in the United Kingdom, it comes in various form or sub genres which are distinct in how they appeal to their viewers, they include documentary style, historical recreation, dating, extraordinary people, science, law enforcement, makeover, lifestyle change and several others....
4 Pages (1000 words) Essay

Greek Sublime by Chandra, V

This report " Greek Sublime by Chandra, V" discusses the idea of programming and coding and the opinions of Chandra on the issue of coding.... In the current use of programming in science and computers, people think and view coding as poetry but the understanding in coding brings it out that the symbolic instruction themselves are not poetry.... In the invention and origin, Chandra turns instead to the programming as a language being a bestiary of which he lovingly describes: from the crude early PL/1 to Microsoft's dorky Visual Basic, the fashionable Closure....
8 Pages (2000 words) Book Report/Review

Computer Programming Languages

The main aim of programming languages is to offer a communication link between computers and humans.... Computer programmers can select to function in a wide variety of programming functions or focus on a number of features of support, development, or maintenance of computers intended for the workplace or home (Tatum, 2009).... The standards of programming are autonomous of the computer programming language utilized (Milo, 2007).... "Computer programming Languages" paper presents a detailed overview of the programming languages....
6 Pages (1500 words) Coursework

History of Programming and the Ancient Origin

Looking into such relevant information will provide a better understanding of its value, changes, and trends for an analysis of the future purpose and use of programming.... arts of programming are definitely traceable to ancient times.... Terence Parr summarizes the evolution of programming as one that was machine-based at the start to high-end abstractions that could be adjusted from one machine to another.... the reporter states that covered by this portfolio are the historical facts about programming from the time it can be logically traced up to the present....
20 Pages (5000 words) Assignment

History of XML Programming

"history of XML Programming" examines the evolution of the WWW in terms of the need for a general-purpose markup language, draws conclusions about the power and advantages of XML that have made it the global standard for enterprise data exchange, and compares Data Type Definitions and XML Schemas....
6 Pages (1500 words) Assignment

Stages of Computer Programming

Through this paper, it is intended to understand how a programming language can be created, while discussing the background of the development of programming languages.... The next step to be undertaken for this essay focuses on the various advantages and disadvantages of programming language.... It also provides a list of annotated bibliography to understand the development of programming languages.... Computer programmers can either work on varied fields of programming or may choose to specialize in one area of program development....
8 Pages (2000 words) Essay
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us