Aнелия Асенова Михайлова,ф.номер 43645 ФМИ,Информатика,гр.5,курс 1 Курсова работа по английски език.2003/2004 PROGRAMMING LANGUAGES Programming languages are the languages in which a programmer writes the instructions that the computer will ultimately execute. The earliest programming languages were assembly languages, not far removed from the binary-encoded instructions directly executed by the machine hardware. Users soon (beginning in the mid-1950s) invented more convenient languages. The early languag FORTRAN (Formula Translation) was originally much like assembly language; however, it allowed programmers to write algebraic expressions instead of coded instructions for arithmetic operations. COBOL (Common Business-Oriented Language) was developed to handle records and files and the operations necessary for simple business applications. The trend since then has been toward developing increasingly abstract languages, allowing the programmer to think and communicate with the machine at a level ever more remote from machine code. COBOL, FORTRAN, and their descendants such as Pascal and C are known as imperative languages, since they specify as a sequence of explicit commands how the machine is to go about solving the problem at hand; this is not very different from what takes place at the machine level. Other languages are functional, in the sense that programming is done by calling (i.e., invoking) functions or procedures, which are sections of code executed within a program. The best-known language of this type is LISP (from List Processing), in which all computation is expressed as an application of a function to one or more "objects." Since LISP objects may be other functions as well as individual data items (variables, in mathematical terminology) or data structures (see below Data structures and algorithms), a programmer can create functions at the appropriate level of abstraction to solve the problem at hand. Two other important trends in programming languages are support of data encapsulation and of concurrency. Data encapsulation is best illustrated by the language Smalltalk, in which all programming is done in terms of so-called objects. An object in Smalltalk or similar object-oriented languages consists of data together with the procedures (program segments) to operate on that data. Encapsulation refers to the fact that an object's data can be accessed only through the methods (procedures) provided. Programming is done by creating objects that send messages to one another to cooperatively accomplish tasks by invoking each others' methods. This object-oriented paradigm has been very influential, most recently Страница1,Aнелия Асенова Михайлова,ф.номер43645 гр.5,курс 1 affecting database technology. It is an attractive idea to create data objects with anobjectoriented programming language and thus build an object-oriented database that can be accessed and manipulated with the full power of the object-oriented language. The problem is that data must be stored on a nonvolatile medium for permanence, while programming language objects are main-memory structures. As a result, there is currently much interest in so-called persistent programming languages, which integrate the functionality of traditional programming languages with that of database system languages (see below Information systems and databases) into a single language. For example, computer scientists are working on persistent versions of Smalltalk. Concurrency refers to the execution of more than one procedure at the same time (perhaps with the access of shared data), either truly simultaneously (as on a multiprocessor) or in an unpredictably interleaved manner. Languages such as Ada (the U.S. Department of Defense standard applications language since 1983) include both encapsulation and features to allow the programmer to specify the rules for interactions between concurrent procedures or tasks. Computer programs written in any language other than machine language must be either interpreted or compiled. An interpreter is software that examines a user program one instruction at a time and calls on code to execute the operations required by that instruction. This is a rather slow process. A compiler is software that translates a user program as a whole into machine code that is saved for subsequent execution whenever desired. Much work has been done on making both the compilation process and the compiled code as efficient as possible. When a new language is developed, it is usually at first interpreted. If the language becomes popular, it becomes important to write compilers for it, although this may be a task of considerable difficulty. GLOSSARY: 1.hardware n (ca. 1515) 1: ware (as fittings, cutlery, tools, utensils, or parts of machines) made of metal 2: major items of equipment or their components used for a particular purpose <educational ~>: as a: military equipment b: the physical components (as electronic and electrical devices) of a vehicle (as a spacecraft) or an apparatus (as a computer) ; Страница1,Aнелия Асенова Михайлова,ф.номер43645гр.5,курс 1 2. algebraic adj 1: relating to, involving, or according to the laws of algebra 2: involving only a finite number of repetitions of addition, subtraction, multiplication, division, extraction of roots, and raising to powers <~ equation>-compare transcendental -- al.ge.bra.i.cal.ly adv algebraic number n: a root of an algebraic equation with rational coefficients ; 3.file n 1: a collection of related data records (as for a computer) (2): a complete collection of data (as text or a program) treated by a computer as a unit esp. for purposes of input and output; 4. procedure n.1: a series of instructions for a computer that has a name by which it can be called into action ; 5.segment n 1: a portion cut off from a geometric figure by one or more points, lines, or planes; 6.multiprocessing n : the processing of several computer programs at the same time esp. by a computer system with two or more processors sharing a single memory ; 7.software n : something used or associated with and usu. contrasted with hardware: as a: the entire set of programs, procedures, and related documentation associated with a system and esp. a computer system; specif: computer programs ; 8.compiler n 1: a computer program that translates an entire set of instructions written in a higher-level symbolic language (as Pascal) into machine language before the instructions can be executed ; ЕXERSISE: 1.what is program language? a)languages in which a programmer writes the instructions that the computer will ultimately execute; b)language which we use when we comunicate; c)language used in order to translate some options; d)language used to code instructions for arithmetic operations; 2.What's the meaning of the abbreviation of Fortran? Страница1,Aнелия Асенова Михайлова,ф.номер43645гр.5,курс 1 a)For translation; b)formal or transitive answer; c)Formula Translation; 3.What is the shortening of "Common Business-Oriented Language"? a)CBOL; b)COBOL; c)CBL; d)COMBUSOL; 4.Is the following definition true or false? "Encapsulation refers to the fact that an object's data can be accessed only through the methods (procedures) provided." a)yes; b)no; 5.What is the purpose and action of the persistent programming languages? a)they are to take some security part; b)the program language does not contain definite purpose; c)the persistent programming language integrate the functionality of traditional programming languages with that of database system languages; 6.What does the language Ada include? a)both encapsulation and features to allow the programmer to specify the rules for interactions between concurrent procedures or tasks; b)features to allow the programmer to specify the rules for interactions between concurrent procedures or tasks; c)encapsulation to allow the programmer to specify the rules for interactions between concurrent procedures or tasks; Страница1,Aнелия Асенова Михайлова,ф.номер43645гр.5,курс 1 Страница1,Aнелия Асенова Михайлова,ф.номер43645гр.5,курс 1 ANSWERS: 1.a) 2.c) 3.b) 4.c) 5.a) 6.c) 7.a)