University of Phoenix
Prof. Timothy Orme
The following information will introduce general knowledge in basic programming concepts. It shall discuss basic types of computer programming languages as-well-as program development. There are three basic types of computer programming languages that will be discussed in a simple and easy to understand manner. We shall also describe the program development cycle and discuss why it is important to use a structured and organized process to create a computer programming language.
In every computer contains several components and works as team to perform certain operations and task. The following are the main components that make up a computer (Venit & Drake, 2007): * The Central Processing Unit (CPU), which is the brain of the computer * Internal memory (consisting of RAM and ROM)
* Mass storage devices (magnetic, optical and solid state drives) * Input devices (keyboard, mouse, scanner & optical devices) * Output devices (printer and monitor)
Located in the internal memory is where the list of instructions (computer programs) is stored on a hard drive. The hard drive is a semi-permanent storage area of a computer. There computer programming languages can be added, deleted or modified by the user to perform a variety of operations and task.
Thought there are numerous computer programming languages in the world today, we will focus on the three basic fundamental types of computer programming languages. 1) Machine Language
2) Assembly Language
3) High-level Language
Machine language consists of a sequence or pattern of bits that are all zeros & ones. Each combination or sequence is an instruction to the computer and is the only language a computer understands. However, this is a very difficult language for humans to read or write (Venit & Drake, 2007). You may ask yourself, how can this problem be resolved? Thus, begins the quest for an efficient, easy to learn, easy to use computer programming language that can be converted machine language to communicate with the computer. Assembly Language:
Assembly is a symbolic representation of Machine language. Each Assembly language instruction translates to one Machine language instruction. The computer must translate the Assembly code to Machine code in order to execute the instruction. This translation is accomplished by a special program called an Assembler (Venit & Drake, 2007). This programming language is easier to understand since it uses recognizable words and codes.
Assembly Language which is one of the mid-level languages unfortunately requires a great degree of patience and is time consuming to develop. However, one of the big advantages of mid-level languages is probability. A mid-level language enables a computer machine-independent coding. The Mid-level application is designed for different computer platforms and operating systems and has little change to its source code (Yared, 2007) High-level language:
High-level language usually contains words and phrases. High-level languages are easier to learn and use. A single instruction of High-level language translates into many instructions of Machine language.
There are several advantages of High level language over Machine or Assembly languages. * High-level is easier to learn & use
* They are easier to read and modify.
* A single High level instruction translate into many Machine instructions * High level programs can be easily modified to be used on another computer * Unfortunately, High level programs are less powerful and produce less efficient programs than Assembly or other Mid-level languages. The first High-level language was developed in the mid 1950s mainly for engineering and scientific applications were called FORTRAN (Formula Translator Program). Some of the popular High-level software developed are::
* Ada: used by the Department of Defense
* C++ : used for efficient programming of a variety of applications * COBOL: (Common Business oriented language)
* Java: largely used with web applications
* Visual Basic: used for graphical user interfaces (GUIs) like on Windows and Macintosh type computers. (Venit & Drake, 2007)
Some reasons why so many programming languages exist today may contribute to human nature to create more efficient, accurate, easy to use and understand list of instructions. There are many poorly written and difficult to understand and use programming languages in the world today. It seems that is human nature to search and create better and more efficient ways to doing things in many aspects of life. Writing computer programming languages isn’t any different. Creating a good effective program that is fairly easy to understand and use is a time consuming task and requires discipline, patience and organization. However, our society always seems to have high demands for new and improve ways of getting the job done. Program Development:
When developing a program, there is a structured, organized method that is used to accomplish this goal. Programmers take a systematic approach in order to create a new program referred to as the Program Development Cycle. The Program Development Cycle consists of four major steps (Venit & Drake, 2007): 1) Analyze Phase; determine what information you are given, what results you need to reach, what information needed to reach it and how to proceed to reach the desired result. 2) Design Phase; create a list of instructions to solve a problem or complete a task. This phase is the key to the program development process. 3) 4) Implementation Phase; in this phase written statements are create (program code) in a particular language that will implement or execute the list of instructions create in the Design Phase. 5) Test Phase; here is where the program is test to see if it actually resolve the problem or complete the task and review lessons learned. This is called a cycle because during program development certain steps are usually repeated and the cycle starts again. This organized and structured approach enables programmers to identify and correct errors in a program. Having a good development team is also a key element to writing a good program. A good development team should provide checks and balances on the project when writing code to indentify errors and make corrections before deploying the program. A good development team should consist of the following basic key personnel: * Project manager
* Program designer
* Language Programmer
* Tester/ evaluator
At this point you should have a general understanding regarding computer programs and the program development process. Now that we have discussed the three basic types of computer languages, the four phases of the program development cycle and covered the importance of having a structured and organized process to program development should provide the basic building blocks to move forward in developing basic code for your computer to solve a problem or perform a task.
Drake, E., & Venit, S. (2007). Extended Prelude to Programming Concepts & Design (3rd ed.). New York, New York: Pearson, Addison Wesley. Yared, P. (2007, March). The Road to Our Scripting Future. Dr. Dobb's Jounal, (32), 3.
The assignment for week 2 is:
Prepare a 2–3 page paper addressing the following:
* Describe the three basic types of programming languages. Explain the advantages and disadvantages of each type. * Discuss possible reasons why so many different programming languages exist. * Describe the relationship between the computer program and how a computer processes and stores data.
* Describe the program development cycle, and explain why it is called a cycle. * Describe the importance of using a structured, modular approach when creating program requirements, design, and code. * Besides the programmer, who else should be involved in the stages of the program development cycle?
* Your paper meets the page count requirement. It sits at 5 pages. Great job!
* The APA is perfect. It has a title page, inline references and a reference page. * You have described three basic types of programming languages and provided advantages as well as disadvantages
* Great example on why there are many languages * * You provided a descriptive example of a program development life cycle *
* Excellent work!
* 15 / 15