Programming in a Nutshell: from Assembly to Java
The history of computer programming is diverse, with many competing groups trying to bring new, innovative languages and styles of programming to the market. Every revolution in programming came about to solve a problem in the programming world, and each is built upon the previous one. Java is one of the latest evolutions of programming, and its most important feature is platform independence. However, Java is built on the shoulders of giants. Computers understand only one thing: an arcane set of instructions known as machine code, or assembly. The precise nature of these instructions varies between machines, and the difficulty and low-level nature of assembly code makes it a less than ideal choice for a serious developer. To alleviate this problem, people started to write new programming languages, translated by a program called a compiler into assembly code. The most popular of these new languages was C, created in the early 1970s. (“The Development of the C Language”) To this day, it remains popular, with many portions of the Windows operating system written in C. The greatest legacy of C, however, is not the programs written using it, but the fact that the most popular languages in the world are based on C syntactically, using its semicolons, flow control statements, curly braces, and representations of mathematical operations. C was a good step in the right direction; however, it had significant problems of its own. C had no structures for organizing code efficiently; huge programs became a jumbled mess. (Lafore 8) The approach with C and other languages of the time was “procedural”; it was entirely made up of different functions to manipulate data. To solve this problem, a new paradigm in programming came about: object-oriented programming, in a language known as C++. C++ and object-oriented programming were a better way; they treated the data as if it were a physical object, giving that object the functions related to its data. (Lafore 11) This made
Cited: Lafore, Robert. The Waite Group 's Object-oriented Programming in C++. Indianapolis, IN: Sams, 1999. Print.
Ritchie, Dennis M. "The Development of the C Language." Chistory. Bell Labs, n.d. Web. 01 May 2013.
"Java Timeline." Java Timeline. N.p., n.d. Web. 01 May 2013. .