Programming

 

 

Software is written by professionals known as computer programmers. Most programmers in large corporations work in teams, with each person focusing on a specific aspect of the total project. (The eight programs that run each craft in the space shuttle program, for example, consist of a total of about half a million separate instructions and were written by hundreds of programmers.) For this reason, scientific and industrial software sometimes costs much more than the computers on which the programs run. Individual programmers can work for profit, as a hobby, or as students, and they are solely responsible for an entire project.

 

Computer programs consist of data structures and algorithms. Data structures represent the information that the program processes. Algorithms are the sequences of steps that a program follows to process the information. For example, a payroll application program has data structures that represent personnel information, including each employee's hours worked and pay rate. The program's algorithms include instructions on how to compute each employee's pay and how to print out the paychecks.

 

Generally, programmers create software by using the following development process:

(1) Understand the software's requirements, which is a description of what the software is supposed to do. Requirements are usually written not by programmers but by the people who are in close contact with the future customers or users of the software.

(2) Create the software's specifications, a detailed description of the required tasks and how the programs will instruct the computer to perform those tasks. The software specifications often contain diagrams known as flowcharts that show the various modules, or parts, of the programs, the order of the computer's actions, and the data flow among the modules.

(3) Write the code—the program instructions encoded in a particular programming language.

(4) Test the software to see if it works according to the specifications and possibly submit the program for alpha testing, in which other individuals within the company independently test the program.

(5) Debug the program to eliminate programming mistakes, which are commonly called bugs. (The term bug was coined in the early 1940s, when programmers looking for the cause of a mysterious malfunction in the huge Mark I computer discovered a moth in a vital electrical switch. Thereafter the programmers referred to fixing programming mistakes as debugging.)

(6) Submit the program for beta testing, in which users test the program extensively under real-life conditions to see whether it performs correctly.

(7) Release the product for use or for sale after it has passed all its tests and has been verified to meet all its requirements.

 

These steps rarely proceed in a linear fashion. Programmers often go back and forth between steps 3, 4, and 5. If the software fails its alpha or beta tests, the programmers will have to go back to an earlier step. Often programming managers schedule several alpha and beta tests. Changes in software requirements may occur at any time, and programmers then need to redo parts of their work to meet the new requirements.

 

Often the most difficult step in program development is the debugging stage. Problems in program design and logic are often difficult to spot in large programs, which consist of dozens of modules broken up into even smaller units called subroutines or subprograms. Also, though a program might work correctly, it is considered to have bugs if it is slower or less efficient than it should be.

2. Расставьте заголовки в тексте.

A Step by step.

B Reiterative process

C Expensive product.

D Efficiency is the most important.

E Two significant parts.

 

3. Найдите в тексте английские эквиваленты.

блок-схема  
космический корабль  
отлаживать программу  
планировать испытания  
по линейному закону  
поломка  
придумывать (слово)  
программа исчисления заработной платы  
программное обеспечение  
спецификация программного обеспечения  
ставка заработной платы  
структура данных  

4. Вставьте предлоги и переведите словосочетания.

work___teams; to focus___aspects; to consist___instructions; to be written___ programmers; ___this reason; work___profit; work___a hobby; to be responsible___ a project; sequences___steps; to be___close contact; users___the software; to flow___the modules; according___the specification; submit___testing; individuals ___the company; look___the cause; to test___real-life conditions; to realize___use; to go back and forth___steps; changes___requirements; occur___any time;

 

4. Письменно переведите третью часть текста.