You are on page 1of 17

5/1/2016

Computer Programming

Computer Programming

Why Programming? 
You may already have used software, perhaps for word processing or spreadsheets, to solve
problems. Perhaps now you are curious to learn how programmers write software. A program is a
set of step­by­step instructions that directs the computer to do the tasks you want it to do and
produce the results you want. 
There are at least three good reasons for learning programming: 
Programming helps you understand computers. The computer is only a tool. If you learn
how to write simple programs, you will gain more knowledge about how a computer works.
Writing a few simple programs increases your confidence level. Many people find great
personal satisfaction in creating a set of instructions that solve a problem.
Learning programming lets you find out quickly whether you like programming and whether
you have the analytical turn of mind programmers need. Even if you decide that
programming is not for you, understanding the process certainly will increase your
appreciation of what programmers and computers can do.
A set of rules that provides a way of telling a computer what operations to perform is called a
programming language. There is not, however, just one programming language; there are many. In
this chapter you will learn about controlling a computer through the process of programming. You
may even discover that you might want to become a programmer. 
An important point before we proceed: You will not be a programmer when you finish reading this
chapter or even when you finish reading the final chapter. Programming proficiency takes practice
and training beyond the scope of this book. However, you will become acquainted with how
programmers develop solutions to a variety of problems. 
What Programmers Do 
In general, the programmer's job is to convert problem solutions into instructions for the computer.
That is, the programmer prepares the instructions of a computer program and runs those
instructions on the computer, tests the program to see if it is working properly, and makes
corrections to the program. The programmer also writes a report on the program. These activities
are all done for the purpose of helping a user fill a need, such as paying employees, billing
customers, or admitting students to college. 
The programming activities just described could be done, perhaps, as solo activities, but a
programmer typically interacts with a variety of people. For example, if a program is part of a
system of several programs, the programmer coordinates with other programmers to make sure that
the programs fit together well. If you were a programmer, you might also have coordination
meetings with users, managers, systems analysts, and with peers who evaluate your work­just as
you evaluate theirs. 
Let us turn to the programming process. 
http://homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading13.htm

1/17

 and what it is you want to obtain (output­the result). Testing the program 5. you are contacted because your services are needed. Documenting the program Let us discuss each of these in turn. Defining the problem 2. Planning the Solution  Two common ways of planning the solution to a problem are to draw a flowchart and to write http://homepage.htm 2/17 .  2.cs.uri. and output required. as a programmer. Specifically. among other things.5/1/2016 Computer Programming The Programming Process  Developing a program involves steps similar to any problem­solving task. Defining the Problem  Suppose that. Coding the program 4. You meet with users from the client organization to analyze the problem. or you meet with a systems analyst who outlines the project. the task of defining the problem consists of identifying what it is you know (input­given data). This is not a simple process. processing.edu/faculty/wolfe/book/Readings/Reading13. There are five main ingredients in the programming process:  1. Planning the solution 3. you produce a written agreement that. specifies the kind of input.  1. Eventually.

 It is a map of what your program is going to do and how it is going to do it. It consists of arrows representing the direction the program takes and boxes and other symbols representing actions.uri.cs. or possibly both. Pseudocode permits you to focus on the program http://homepage. a flowchart is a pictorial representation of a step­ by­step solution to a problem. Figure 1 shows the symbols and how they might be used in a simple flowchart of a common everyday act­preparing a letter for mailing.htm 3/17 .edu/faculty/wolfe/book/Readings/Reading13.  Pseudocode is an English­like nonstandard language that lets you state your solution with more precision than you can in plain English but with less precision than is required when using a formal programming language. The American National Standards Institute (ANSI) has developed a standard set of flowchart symbols. Essentially.5/1/2016 Computer Programming Figure 1: Flow Chart Symbols and Flow Chart For Mailing Letter pseudocode.

 To get your program to work. your next step is to code the program­that is. Many organizations take this phase a step further with a walkthrough. There are many programming languages: BASIC. called diagnostics. However. In fact. and C are some examples.  Although programming languages operate grammatically. giving you all the syntax­ error messages.htm 4/17 . they assert that there are mathematical ways to prove that a program is correct.  3. when we focus on language examples. We will discuss the different types of languages in detail later in this chapter. The point is that correct use of the language is the required first step. careful. A translator is a program that (1) checks the syntax of your program to make sure the programming language was used correctly.  4. A by­product of the process is that the translator tells http://homepage. Of course. COBOL. You may find yourself working with one or more of these. Coding the Program  As the programmer. This phase. they are much more precise. However. This step involves these phases:  Desk­checking. However. or check. will probably find several of them. In desk­checking you simply sit down and mentally trace. a programming language is a set of rules that provides a way of instructing the computer what operations to perform. after coding the program. so most programmers get used to the idea that their newly written programs probably have a few errors.cs. the logic of the program to attempt to ensure that it is error­free and workable. any more than speaking grammatically correct English means you know what you are talking about. Then your coded program must be keyed. a process in which a group of programmers­your peers­ review your program and offer suggestions in a collegial way. and you.  Eventually. and (2) then translates your program into a form the computer can understand. detail­oriented people who take pride in their work. As we have already noted. Testing the Program  Some experts insist that a well­designed program can be written correctly the first time. You will translate the logic from the flowchart or pseudocode­or some other tool­to a programming language. to create a file that contains the program. since programmers tend to be precise. FORTRAN. somewhat like the English language. the imperfections of the world are still with us. in a form the computer can understand. you will probably want to write your program code on paper first. with careful desk­checking you may discover several errors and possibly save yourself time in the long run. you have to follow exactly the rules­the syntax­of the language you are using. Still. However. probably using a terminal or personal computer.  One more note here: Programmers usually use a text editor. Translating. you must prepare to test it on the computer. This is a bit discouraging at first. Pascal.uri. similar to proofreading. pseudocode is not executable on the computer. We will illustrate these later in this chapter. using the language correctly is no guarantee that your program will work. which is somewhat like a word processing program. there are many opportunities to introduce mistakes into programs.edu/faculty/wolfe/book/Readings/Reading13. just as those who have gone before you. as a beginner. to express your solution in a programming language.5/1/2016 Computer Programming logic without having to be concerned just yet about the precise syntax of a particular programming language. is sometimes avoided by the programmer who is looking for a shortcut and is eager to run the program on the computer once it is written.

 Also. necessary process. Prewritten programs from a system library may be added during the link/load phase. Many programmers document as they code. and testing results. since established computer professionals can usually find work. Before you join their ranks.) Programs are most commonly translated by a compiler.  Debugging. development. and correcting bugs (mistakes).cs. The translation involves your original program. You must plan the test data carefully to make sure you test every part of the program. Documentation is needed to supplement human memory and to help organize program planning. but you should be comfortable. 5. surveys of computer professionals. if in FORTRAN you mistakenly write N=2 *(I+J))­which has two closing parentheses instead of one­you will get a message that says. Documentation is a written detailed description of the programming cycle and specific facts about the program. called a source module." (Different translators may provide different wording for error messages. The translator produces descriptive error messages. In a broader sense. There are several reasons for this contentment. logic tools such as flowcharts and pseudocode. data­record descriptions. And that work pays well­you will probably not be rich. and testing. debugging means detecting.5/1/2016 Computer Programming you if you have improperly used the programming language in some way. Typical program documentation materials include the origin and nature of the problem. The computer industry has historically been a rewarding place for women and http://homepage. For instance. Comments in the program itself are also considered an essential part of documentation. In this phase you run the program using test data that you devise. A compiler translates your entire program at one time.  The Joys of the Field  Although many people make career changes into the computer field. locating. "UNMATCHED PARENTHESES. which results in a load module. especially other programmers who may be part of a programming team. a brief narrative description of the program. In fact. These bugs are logic errors. since turnover is high in the computer industry. consistently report a high level of job satisfaction. which is transformed by a compiler into an object module. Another is security. program documentation can be part of the documentation for an entire system. you may be eager to pursue more exciting computer­centered activities.htm 5/17 . usually by running the program. A term used extensively in programming. program listings.uri. especially programmers. The load module can then be executed by the computer. few choose to leave it. And. written documentation is needed so that those who come after you can make any necessary modifications in the program or track down any errors that you missed. although. as many programmers are. such as telling a computer to repeat an operation but not telling it how to stop repeating. Documenting the Program  Documenting is an ongoing.edu/faculty/wolfe/book/Readings/Reading13. documentation is critical to communicate with others who have an interest in the program. These types of mistakes are called syntax errors.  The wise programmer continues to document the program throughout its design. One is the challenge­most jobs in the computer industry are not routine. consider the advantages of the computer field and what it takes to succeed in it. Programming as a Career  There is a shortage of qualified personnel in the computer field.

 however. The computer industry quickly moved to develop assembly languages.  What It Takes  You need. High­level languages 4. The requirements and salaries vary by the organization and the region. each generation is an improvement over its predecessors.B. both oral and written . In the early days of computing.cs.  Levels of Language  Programming languages are said to be "lower" or "higher. the programs were not convenient for people to read and use.  Open Doors  The overall outlook for the computer field is promising.5/1/2016 Computer Programming minorities. We will consider five levels of language. Promotions are sometimes tied to advanced degrees (an M. http://homepage. so we will not dwell on these here. or generations. in computer science). the person most likely to land a job and move up the career ladder is the one with excellent communication skills. These are also the qualities that can be observed by potential employers in an interview. The Bureau of Labor Statistics shows. This lowest level of language. represents data and program instructions as 1s and Os­binary digits corresponding to the on and off electrical states in the computer.S. programmers had rudimentary systems for combining numbers to represent instructions such as add and compare. we need to discuss levels of language. of course.htm 6/17 . Primitive by today's standards. the industry holds endless fascination since it is always changing. The five generations of languages are  1. most often a two­ or four­year degree in computer information systems or computer science. through the year 2010. finally. machine language.A. strictly speaking. Machine language 2. And. In terms of ease of use and capabilities. a 72 percent increase in programmers and a 69 percent increase in system use today. Very high­level languages 5. Each type of computer has its own machine language.edu/faculty/wolfe/book/Readings/Reading13.uri. Before we turn to specific languages. They are numbered 1 through 5 to correspond to levels. some credentials. Natural languages Let us look at each of these categories. and we will discuss the most popular ones later In the chapter. numbers are what machine language is." depending on how close they are to the language the computer itself uses (Os and 1s = low) or to the language people use (more English­ like­high). Assembly languages 3. But.  Assembly Languages  Today.  Machine Language  Humans do not like to deal in numbers alone­they prefer letters and words. Beyond that. or an M.

 C for Compare. abbreviations that are easy to remember: A for Add.5/1/2016 Computer Programming Figure 2: Example Assembly Language Program assembly languages are considered very low level­that is.edu/faculty/wolfe/book/Readings/Reading13. each type of computer has its own assembly language. MP for Multiply.cs. they were considered a great leap forward. STO for storing information in memory. Although these codes are not English words. also http://homepage.uri.htm 7/17 . they are still­ from the standpoint of human convenience­preferable to numbers (Os and 1s) alone. assembly languages use mnemonic codes. and so on. Furthermore. just like machine language. The translator is an assembler program. however.  The programmer who uses an assembly language requires a translator to convert the assembly language program into machine language. they are not as convenient for people to use as more recent languages. assembly languages permit the use of names­ perhaps RATE or TOTAL­for memory locations instead of actual address numbers. At the time they were developed. To replace the Is and Os used in machine language. A translator is needed because machine language is the only language the computer can actually execute.

 4GLs are difficult to describe. but it is still tedious.  High­Level Languages  The first widespread use of high­level languages in the early 1960s transformed programming into something quite different from what it had been. beyond the basic criterion of conciseness. However. such as controlling industrial robots or creating graphics. As a result.htm 8/17 . An operation that requires hundreds of lines in a third­generation language such as COBOL typically requires only five to ten lines in a 4GL. however.  Very High­Level Languages  Languages called very high­level languages are often known by their generation number. thus making them more convenient to use.cs. FORTRAN. This drawback is apparent in the program in Figure 2.  Definition  Will the real fourth­generation languages please stand up? There is no consensus about what constitutes a fourth­generation language.  Although assembly languages represent a step forward. A procedural language tells the computer how a task is done: Add this. The impact of third­generation languages on our society has been enormous. tedious.edu/faculty/wolfe/book/Readings/Reading13.  These so­called third­generation languages spurred the great increase in data processing that characterized the 1960s and 1970s. Keep in mind. is not the machine language of some other computer. There are many compilers for each language and one for each type of computer. The first is that they make a true break with the prior generation­they are basically non­procedural. a programmer could accomplish more with less effort. and error prone. or COBOL­all general­purpose languages. Assembly language may be easier to read than machine language. are extraordinarily flexible and are considered to be general­purpose. In the past the majority of programming applications were written in BASIC. they are called fourth­generation languages or. Programs were written in an English­like manner. however. that is. The 4GLs are essentially shorthand programming languages. compare that. The translation is taken care of by the assembler. During that time the number of mainframes in use increased from hundreds to tens of thousands. another popular high­level language is C. a translator is needed to translate the symbolic statements of a high­level language into computer­executable machine language; this translator is usually a compiler. and programs could now direct much more complex tasks. more simply. that even though a given program would be compiled to different machine language versions on different machines. Many languages.uri.5/1/2016 Computer Programming referred to as an assembler. do this if something is true. for instance.  Of course. they still have many disadvantages. 4GLs. which we will discuss later.  Some languages are created to serve a specific purpose. the source program itself­the COBOL version­can be essentially identical on each machine.  Characteristics  Fourth­generation languages share some characteristics. making assembly programming repetitive. Since the machine language generated by one computer's COBOL compiler. In addition to these three. Programmers need not worry about the translating aspect; they need only write programs in assembly language. It takes the programs written in assembly language and turns them into machine language. it is necessary to have a COBOL compiler for each type of computer on which COBOL programs are to be run. and so forth­a http://homepage. A key disadvantage is that assembly language is detailed in the extreme.

  Benefits  Fourth­generation languages are beneficial because They are results­oriented; they emphasize what instead of how.htm 9/17 .5/1/2016 Computer Programming very specific step­by­step process. in each month and year. The 4GLs are still evolving. each new customer must start on a new page. Data is usually added to databases according to a plan. They shield users from needing an awareness of hardware and program structure. They can be used with a minimum of training by both programmers and nonprogrammers.cs. a key characteristic of fourth­generation languages. Consider this request: Produce a report showing the total units sold for each product. The folklore is true. they attract a large number of new users. you can be ten times more productive in a fourth­generation language than in a third­generation language. however. Most experts say the average improvement factor is about 10­that is. These 4GL languages are being used. They improve productivity because programs are easy to write and change. but in a very limited way.  Downside  Fourth­generation languages are not all peaches and cream and productivity.  Query Languages  A variation on fourth­generation languages are query languages. In addition. the concept changes. and that which is still evolving cannot be fully defined or standardized. you can see that it is pretty simple. But what about a user who needs an unscheduled report or a report that differs somehow from the standard reports? A user can learn a query language fairly easily and then be able to input a request and receive the resulting report right on his or her own terminal or personal computer. In a nonprocedural language. The first three generations of languages are all procedural. What is more. users define only what they want the computer to do; the user does not provide the details of just how it is to be done. Obviously. If we define productivity as producing equivalent results in less time. popularly known as SQL. It was not long ago that few people believed that 4GLs would ever be able to replace third­ generation languages. by customer.uri. is Structured Query Language. and planned reports may also be produced. it is a lot easier and faster just to say what you want rather than how to get it.  Productivity  Folklore has it that fourth­generation languages can improve productivity by a factor of 5 to 50. The third­generation language COBOL. who may then overcrowd the computer system. Here. Other http://homepage. A standardized query language. the benefits of getting a program finished more quickly can far outweigh the extra costs of running it. typically requires over 500 statements to fulfill the same request. A 4GL request looks something like this:         TABLE FILE SALES  SUM UNITS BY MONTH BY CUSTOMER BY PRODUCT  ON CUSTOMER SUBTOTAL PAGE BREAK  END  Even though some training is required to do even this much. and with a subtotal for each customer. then fourth­generation languages clearly increase productivity. One of the main criticisms is that the new languages lack the necessary control and flexibility when it comes to planning how you want the output to look. since many 4GLs are easy to use. A common perception of 4GLs is that they do not make efficient use of machine resources; however.edu/faculty/wolfe/book/Readings/Reading13. which can be used with several different commercial database programs. This leads us to the issue of productivity. which can be used to retrieve information from databases.

" If we alter the request and.cs." the computer will spit back the user­friendly version of "You've got to be kidding" and give up. because natural languages are used to interact with a base of knowledge on some subject. slang. But some natural languages can handle such a request. lack articles and verbs. Instead of being forced to key correct commands and data names in correct order. it politely asks for further explanation.  You can hardly get closer to conversational English than that.uri. They are most often called natural languages because of their resemblance to the "natural" spoken English language. known as QBE. to the manager new to computers for whom these languages are now aimed. For example. If it is not sure what the user has in mind. and all­into code the computer understands. and Intellect." Such a request may contain misspelled words. Natural languages excel at easy data access.edu/faculty/wolfe/book/Readings/Reading13. Users can relax the structure of their requests and increase the freedom of their interaction with the data.  Choosing a Language  http://homepage. Indeed. and even use slang. natural means human­like.  Natural languages are sometimes referred to as knowledge­based languages. a manager tells the computer what to do by keying in his or her own words.  Here is a typical natural language request:       REPORT THE BASE SALARY. Fifth­generation languages are. as you may guess.  A manager can say the same thing any number of ways. And. still in Focus. even more ill­defined than fourth­ generation languages.  Consider this request that could be given in the 4GL Focus: "SUM ORDERS BY DATE BY REGION.  An example of a natural language is shown in Figure 3.  Natural Languages  The word "natural" has become almost as popular in computing circles as it has in the supermarket. COMMISSIONS AND YEARS OF  SERVICE BROKEN DOWN BY STATE AND CITY FOR SALESCLERKS  IN NEW JERSEY AND MASSACHUSETTS. the most common application for natural languages is interacting with databases. "Get me tennis racket sales for January" works just as well as "I want January tennis racket revenues. say something like "Give me the dates and the regions after you've added up the orders. The use of a natural language to access a knowledge base is called a knowledge­ Figure 3: Example of Natural Language Interaction based system. The natural language translates human instructions­bad grammar.htm 10/17 .5/1/2016 Computer Programming popular query languages are Query­by­Example.

If a program is to be run on different computers. Figure 4 presents the flowchart and pseudocode for the task of http://homepage.cs. particularly in a business environment. Each program is designed to find the average of three numbers; the resulting average is shown in the sample output matching each program. You will also see output produced by each program. you will see some of the differences and similarities among the languages. one that applies to many amateur programmers. BASIC (simple language used for education and business). Major Programming Languages  The following sections on individual languages will give you an overview of the third­ generation languages in common use today: FORTRAN (a scientific language).edu/faculty/wolfe/book/Readings/Reading13. We do not expect you to understand these programs; they are here merely to let you glimpse each language.htm 11/17 . Pascal (education). based on the need to interface with other programs; if two programs are to work together. Perhaps the simplest reason. You may use a certain language. Since all programs perform the same task. The language may be limited to the expertise of the programmer; that is.uri. You may be limited by the availability of the language. a business program that handles large files may be best written in the business language COBOL. your manager may decree that everyone on your project will use a certain language. Ada (military). it must be written in a language that is portable­suitable on each type of computer­so that the program need be written only once. Not all languages are available in all installations or on all computers.5/1/2016 Computer Programming How do you choose the language with which to write your program?  There are several possibilities:  In a work environment.  This chapter will present programs written in some of these languages. For example. You may choose a language based on its suitability for the task. and C (general purposed). it is easiest if they are written in the same language. is that they know the language called BASIC because it came with­or was inexpensively purchased with­their personal computers. COBOL (a business language). the program may have to be written in a language the available programmer knows.

FORTRAN programs are not composed of different parts (although it is possible to link FORTRAN programs together); a FORTRAN program consists of 12/17 .5/1/2016 Computer Programming averaging numbers. and this characteristic is part of the reason why it remains popular. we will provide a program for averaging numbers that follows the logic shown in this figure.  FORTRAN is noted for its brevity. mathematical. which is execution of complex formulas such as those used in economic analysis and engineering.  Figure 4: Flow Chart For Averaging Numbers http://homepage. Organization varies according to the language used.cs. and scientific research tasks. Although in the past it was considered limited in regard to file processing or data processing. FORTRAN­ for FORmula TRANslator­was the first high­level language. This language is very good at serving its primary purpose.  FORTRAN: The First High­ Level Language  Developed by IBM and introduced in 1954.htm Not all programs are organized in the same way. In many languages (such as COBOL). its capabilities have been greatly improved. programs are divided into a series of parts. As we discuss each language.edu/faculty/wolfe/book/Readings/Reading13. FORTRAN is a scientifically oriented language­in the early days use of the computer was primarily associated with engineering.uri.

htm COBOL: The Language of Business  In the 1950s FORTRAN had been developed. but there was still no accepted high­level programming language appropriate for business. These representatives formed CODASYL­ COnference of DAta SYstem Languages.S.5/1/2016 Computer Programming statements one after the other. Different types of data are identified as the data is used.  Figure 5: Example Fortran Program To Average Numbers http://homepage. Department of Defense in particular was interested in creating such a standardized language. The U. including the computer industry. and so it called together representatives from government and various industries. Descriptions for data records appear in format statements that accompany the READ and WRITE statements.cs.edu/faculty/wolfe/book/Readings/Reading13.uri. Figure 5 shows a FORTRAN program and a sample output from the program. In 1959 CODASYL introduced COBOL­for COmmon 13/17 .

issued standards for another version known as ANSI­COBOL.cs. After more than seven controversial years of industry debate. The principal benefit of standardization is that COBOL is relatively machine independent­ that is.edu/faculty/wolfe/book/Readings/Reading13. a program written for one type of computer can be run with only slight modifications on 14/17 .htm The U. the standard known as COBOL 85 was approved.5/1/2016 Computer Programming BusinessOriented Language. The American National Standards Institute first standardized COBOL in 1968 and.  Figure 6: Example COBOL Program to Average Numbers http://homepage. in 1974. making COBOL a more usable modern­day software tool. government offered encouragement by insisting that anyone attempting to win government contracts for computer­related projects had to use COBOL.S.uri.

edu/faculty/wolfe/book/Readings/Reading13. that will read or write the file. For speed and simplicity. In fact. The procedure division contains the statements that give the computer specific instructions to carry out the logic of the program. some companies. A noteworthy feature of COBOL is that it is English­like­ far more so than FORTRAN or BASIC. cumbersome. nimble program development. is still famous for its clear code. such as type of characters (whether numeric or alphanumeric). are converting to the more trendy language C. Developed at Dartmouth College. It also relates each file of the program to the specific physical device. it is not too difficult to add COBOL to your repertoire.5/1/2016 Computer Programming another type for which a COBOL compiler has been developed. and dollar amounts­the data of business. devoted to fast. number of characters. there is hardly such a thing as a quick COBOL program; there are just too many program lines to write. and Pascal are probably better bets.  BASIC: For Beginners and Others  BASIC­Beginners' All­purpose Symbolic Instruction Code­is a common language that is easy to learn. BASIC was introduced by John Kemeny and Thomas Kurtz in http://homepage. with more than 30 years of staying power. which is easy to read and debug.  COBOL is very good for processing large files and performing relatively simple business calculations.  It has been fashionable for some time to criticize COBOL: It is old­fashioned. For example:         IF SALES‐AMOUNT IS GREATER THAN SALES‐QUOTA    COMPUTE COMMISSION = MAX‐RATE * SALES‐AMOUNT  ELSE    COMPUTE COMMISSION = MIN‐RATE * SALES‐AMOUNT.  Once you understand programming principles.uri. BASIC. such as the tape drive or printer. COBOL can be used for just about any task related to business programming; indeed. and placement of decimal points.  As you can see in Figure 6.htm 15/17 . However. and inelegant. The data division contains details about the data processed by the program. The environment division describes the computer on which the program will be compiled and executed. even to accomplish a simple task. it is especially suited to processing alphanumeric data such as street addresses. even if you know nothing about programming. such as payroll or interest. the feature that makes COBOL so useful­its English­like appearance and easy readability­is also a weakness because a COBOL program can be incredibly verbose.cs. A programmer seldom knocks out a quick COBOL program. In fact. The identification division identifies the program by name and often contains helpful comments as well. a COBOL program is divided into four parts called divisions. FORTRAN. you can still understand what the program does. purchased items. The variable names are set up in such a way that. But COBOL.

 and first became available in 1971.  The primary feature of BASIC is one that may be of interest to many readers of this book: BASIC is easy to learn. BASIC is also used by non­programming people. even for a person who has never programmed before. first in Europe and now in the United States. Since that time it has become quite popular. Niklaus Wirth. such as engineers. Newer versions. In the late 1960s it became widely used in interactive time­sharing environments in universities and colleges. An example of a BASIC program and its output are shown in Figure 7. Pascal was developed as a teaching language by a Swiss computer scientist. the seventeenth­century French mathematician. particularly in universities and colleges offering computer science programs. such as Microsoft's QuickBASIC.uri.  Pascal: The Language of Simplicity  Named for Blaise Pascal.  http://homepage.5/1/2016 Computer Programming 1965 and was originally intended for use by students in an academic environment. who find it useful in problem Figure 7: Example Basic Program to Average Numbers solving. BASIC was looked down on by "real programmers.cs.htm 16/17 . Thus. The use of BASIC has extended to business and personal computer systems.edu/faculty/wolfe/book/Readings/Reading13." who complained that it had too many limitations and was not suitable for complex tasks. include substantial improvements. For many years. the language is used often to train students in the classroom.

 Borland's Turbo Pascal leads the Pascal world because its designers eliminated most of the drawbacks of the original Pascal.cs. C++. In 1974 the U. Java. C contains some of the best features from other languages. a C program can be run on more than one type of computer after it has been compiled for that machine. Although the Department of Defense is a market in itself. a fact that contributes to the portability of C programs. Although some experts have said Ada is too complex.  http://homepage.  An interesting side note is that the availability of C on personal computers has greatly enhanced the value of personal computers for budding software entrepreneurs. have different levels of enthusiasm for it). among other things. Turbo Pascal is used by the business community and is often the choice of nonprofessional programmers who need to write their own programs. C produces code that approaches assembly language in efficiency while still offering high­level language features. and Javascript  A language invented by Dennis Ritchie at Bell Labs in 1972. the language has also made large inroads in the personal computer market as a simple yet sophisticated alternative to BASIC. "the first programmer" (see Appendix B). Ada was originally intended to be a standard language for weapons systems. and the learning curve may be steep. Department of Defense had spent that amount on all kinds of software for a hodgepodge of languages for its needs. some experts believe that it is by far a superior commercial language to such standbys as COBOL and FORTRAN.  Widespread use of Ada is considered unlikely by many experts. Sponsored by the Pentagon. Indeed. A cottage software industry can use the same basic tool­the language C­used by established software companies such as Microsoft and Borland. That is.  Although C is simple and elegant. Ada has the support not only of the defense establishment but also of such industry heavyweights as IBM and Intel. including Pascal. C++ in turn is being challenged by web­aware languages like Java and Javascript. but add features to support working with networked computers.5/1/2016 Computer Programming The foremost feature of Pascal is that it is simpler than other languages ­it has fewer features and is less wordy than most. it is not simple to learn. In addition to the popularity of Pascal in college computer science departments. that look and act a lot like C++. but complex problems require mastery of the language. A key attraction is that it is independent of the architecture of any particular machine. C++. C compilers are simple and compact. probably its size­ which may hinder its use on personal computers­and complexity are the greatest barriers. according to Defense Department experts.uri. Straightforward tasks may be solved easily in C. It was developed for gifted programmers. Over the years new versions have improved on the original capabilities of Pascal. Today. and Ada is even available for some personal computers. especially in the business community. The answer to this problem turned out to be a new language called Ada­named for Countess Ada Lovelace. Although there are many reasons for this (the military services.  C. but it has also been used successfully for commercial applications.edu/faculty/wolfe/book/Readings/Reading13.  Ada: Named for the Countess  Is any software worth over $25 billion? Not any more. Today C is has been replaced by its enhanced cousin.S. others say that it is easy to learn and that it will increase productivity. Introduced in 1980.htm 17/17 . for instance. Ada has not caught on to the extent that Pascal and C have. C was originally designed to write systems software but is now considered a general­purpose language.