COMPUTER PROGRAMMING

Chris Heath (1998)

At first, electronic computers were programmed with 0's and 1's. The instructions made out of a sequence of 0's and 1's were entered directly into the computer memory using switches (0 for on, 1 for off). The first improvement upon this procedure was the creation of the assembly language. The assembly language used chopped-up English words to represent the sequences of O's and 1's, which could get very long and tedious to input. These programs run faster than anything else, but is difficult for humans to learn and master the assembly language. Assembly language programs also take a very long time to write. The assembler, which is a computer program, translates the assembly language instructions into the long sequences of 0's and 1's, the machine language. This method was still too hard for anyone without intimate knowledge of how a computer works to program in, so the idea of using a compiler was coined. The compiler would translate the new "high-level" language into the machine language. As more and more programming languages were created each was put in a category of either "mid-level" or "high-level" language. Languages that were easy to learn, such as BASIC, were put into the "high-level" category and languages like C fell into the "mid-level" category. The ‘mid-level" languages less English, and more symbols, but are more efficient because they are closer to the machine language.

The "mid-level" programming language of C was created at the AT&T Bell Labs in 1972, Dennis Ritchie was the creator. He described it as a "powerful, but cryptic language, (its appearance has been likened to that of the typical profanities uttered by comic strip characters)", (Gookin, 8). Ritchie and his colleagues were in a friendly competition to see who could create the best language for the project they were working on. They made up the language as they went and there wasn’t any pressure to produce anything robust because the language was just a side venture to the main project that they were working on. Ritchie finished first, and since then C has become a very useful language. It has been used widely for programming computer games. It was used to create special effects for the movie "Return of the Jedi." C was also running programs that generated the first pictures of the wreck of the Titanic in 1985.

While C grew from friendly competition, Pascal was a language that was a product of turmoil. In Europe the International Federation for Information Processing (IFIP) formed a committee to produce the next language that it would endorse because the one it was using (ALGOL) was becoming out-dated. Niklaus Wirth was on that committee and produced the first proposal called ALGOL W. ALOGOL W was fairly decent, but the committee rejected it. The committee then went through more proposals. Each proposal was more complex than the one before. Wirth decided to leave the committee because he believed that simplicity was key. He was an engineer. "'The art in engineering is to make a complicated problem simpler,’ said Wirth," (Grunwald, 77). He then set out on his own and created Pascal. Wirth finished Pascal, which is named after the 17th-century French mathematician-philosopher Blaise Pascal, in 1968. He used Pascal as a teaching tool at the Swiss Federal Technical University where he had recently been hired as a Professor of Computer Science.

Pascal wasn't the only language used for teaching programming. BASIC, (Beginner's All-Purpose Symbolic Instruction Code), was also created for teaching programming. John Kemeny and Thomas Kurtz, who were professors at Dartmouth, created BASIC in 1964. The name says it all for this language. It was created so that almost anyone without that much knowledge of how a computer works could learn and use it. It is the first great ancestor of Visual Basic, which is used widely by programmers everywhere. Followers of BASIC were so devoted to it that they lobbied the National Council of Teachers of Mathematics and eventually the NCTM recommended BASIC as the teaching language for secondary schools. BASIC is probably the most taught programming language.

BASIC, however, did not come out of the blue. Kemeny and Kurtz used FORTRAN as the building blocks to derive BASIC. FORTRAN (Mathematical Formula Translating System) was created in 1957 by a team at IBM. The team, headed by John Backus, was working in downtown New York City around the clock to create and work out the bugs in FORTRAN. FORTRAN was one of the first high-level languages and was one of the most popular of the earlier languages. FORTRAN greatly simplified programming because it was able to use algebraic formulas and manipulate them. Compared to the other languages around at that time, FORTRAN was definitely easier to learn and use.

Simplicity, ease of use, and productivity were the three things most important in the world of computer science and they still are. Charles H. Moore created FORTH in 1971 to increase his own productivity because he felt that without a new language he could only write one program per year. Moore said later that FORTH "increased his own productivity by a factor of 10," (Grunwald, 106). Moore went on to create FORTH Inc. with two others in 1973. FORTH Inc. marketed systems for astronomical observatories and other specialized applications needing real-time process control. "FORTH gives the programmer more power over the computer -- the way a manual transmission makes the automobile more responsive to the driver," (Grunwald, 107).

There are many other programming languages out there, but it would take eternity to talk about the past of each language. Although the past is important, we need not forget about the future because the future of computer programming is just as important as its history. There are new languages sprouting from everywhere. Computer science as a whole has taken off since the introduction of the INTERNET. Computer science and programming is becoming more and more important because of the INTERNET and its importance. Java is one of the newest and most interesting languages around, and it is a language that was created to serve the INTERNET. Java is not the kind of language that an insurance company would use to do all of its number crunching. Java, however, has incredible graphics capabilities.

Programming computers started with the 0's and 1's and is now at a point where Java programs are used on web pages seen around the world thanks to the INTERNET. Ever since computers were first invented about fifty years ago programming has become increasingly popular. It has grown from an aspect of society that was very small, vague, and not accepted, to the "hacker" cult lifestyle that is coming into mainstream life. There is no way to tell what the future holds because computer programmers will determine where computer science will go and how far it will go. Barriers to the advancement of computer science are always being broken, and new restrictions arise. There has not yet been a barrier that programmers have not passed. ‘Your future has not been written yet..., the future is what you make of it,’ Emmett "Doc" Brown (‘Back to the Future’). The possibilities are endless.



Bibliography

Lampton, Christopher. Computer Languages.
New York: Franklin Watts, 1983

Gookin, Dan. C for Dummies.
Braintree, MA: IDG Books Worldwide Inc, 1994

Grunwald, Henry, ed. Computer Languages.
Chicago: Time-Life Books Inc, 1986

Lee, J.A.N. Programming Languages, Past, Present, and Future.
http://www.csee.usf.edu/ieeecs/look/janlee

A Short History of Programming Languages.
http://monarch.mcs.csuhayward.edu/~cmorgan/MMJava/Chapter_01/History.htm