Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Computer_Engineering_print_new2

.pdf
Скачиваний:
628
Добавлен:
01.06.2015
Размер:
6.14 Mб
Скачать

SPECIALIST READING A: Programming Language

8. Read the heading and determine what this text is about.

9. Scan the text and make up the plan of the main content.

1.

2.

Computer Engineering 41

Programming language theory (commonly known as PLT) is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features. It is a multi-disciplinary field, both depending on and, in some cases, affecting mathematics, software engineering, linguistics, and even the cognitive sciences. It is a well-recognized branch of computer science, and as of 2009, an active research area, with results published in numerous journals dedicated to PLT, as well as in general computer science and engineering publications.

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that specify the behavior of a machine, to express algorithms precisely, or as a mode of human communication.

Many programming languages have some form of written specification of their syntax and semantics, since computers require precisely defined instructions. Some are defined by a

specification document (for example, an ISO1 Standard), while others have a dominant

implementation (such as Perl2).

A programming language provides a structured mechanism for defining pieces of data, and the operations or transformations that may be carried out automatically on that data. A programmer uses the abstractions presented in the language to represent the concepts involved in a computation. These concepts are represented as a collection of the simplest elements available (called primitives).

Programming languages differ from most other forms of human expression in that they require a greater degree of precision and completeness. When using a natural language to communicate with other people, human authors and speakers can be ambiguous and make small errors, and still expect their intent to be understood. However,

English for Special Purposes

42 Computer Engineering

figuratively speaking, computers "do exactly what they are told to do", and cannot "understand" what code the programmer intended to write. The combination of the language definition, a program, and the program's inputs must fully specify the external behavior that occurs when the program is executed, within the domain of control of that program.

Programs for a computer might be executed in a batch process (the input data are collected into batches of files and are processed in batches by the program) without human intervention, so all input data is preselected through scripts or command-line parameters, or a user might type commands in an

interactive session of an interpreter. In this case the "commands" are simply programs, whose execution

is chained together. When a language is used to

give commands to a software application (such as a

shell) it is called a scripting language.

Many languages have been designed from scratch, altered to meet new needs, combined with other languages, and eventually fallen into disuse. Although there have been attempts to design one "universal" computer language that serves all

purposes, all of them have failed to be generally

accepted as filling this role. The need for diverse

computer languages arises from the diversity of

contexts in which languages are used.

Programs range from tiny scripts written by individual hobbyists to huge systems written by

hundreds of programmers.

Programmers range in expertise from novices who need simplicity above all else, to experts who may be comfortable with considerable complexity.

Programs must balance speed, size, and simplicity on systems ranging from microcontrollers

to supercomputers.

Programs may be written once and not change

for generations, or they may undergo nearly constant modification.

Finally, programmers may simply differ in their tastes: they may be accustomed to discussing problems and expressing them in a particular language.

Comments:

1International Standards Organization –

Международная организация по стандартизации.

2Practical Extraction and Report Language – язык для практического извлечения данных и составления отчётов, свободно распространяемый интерпретируемый язык, текущая версия - Perl 5.

VOCABULARY IN USE

10. Complete the following text using suitable words and word combinations:

algorithm ; to communicate instructions; created; computer; the theory of computation; interaction; external devices; execution; data structures; programming language

A ________ is a language used to write _______

programs, which involve a computer performing some kind of computation or _______ and possibly control

______ such as printers, robots, and so on. Programming languages differ from natural languages in that natural languages are only used for ______ between people, while programming languages also allow humans

_______ to machines. Some programming languages are used by one device to control another. For example PostScript programs are frequently ______ by another program to control a computer printer or display. Programming languages may contain constructs for defining and manipulating _______ or controlling the flow of ______. ______ classifies languages by the computations they are capable of expressing. All Turing complete languages can implement the same set of algorithms. ANSI/ISO SQL and Charity are examples of languages that are not Turing complete, yet often called programming languages.

English for Special Purposes

Computer Engineering 43

COMPREHENSION CHECK

11. Read the text again and decide whether these statements are true (T) or false (F), correct the false ones:

True

False

1. PLT is a branch of mathematics.

2. A programming language is a man-made language designed to express computations.

3. Programming languages can’t be used as a kind of human communication.

4. Programming language is like other forms of human expressions. 5. A programmer provides the abstractions presented in the language to represent the concepts involved in a computation. 6. Computers "do exactly what they are told to do", and cannot "understand" what code the programmer planned to write.

7. Programs for a computer might be performed in a batch process with no human interaction.

8. The need for diverse computer languages arises from the range of contexts in which languages are used.

9. It is impossible to operate a program without human intervention.

10.“Universal” computer language isn’t a dream any more.

12. Write the summary of the text using the following words and expressions:

programming languages

…………

 

multidisciplinary field

 

cognitive sciences

machine-readable

artificial

express computations

written specification

precisely defined

structured mechanism

a batch process

human interaction

the diversity of contexts

The following words and phrases may help you to make a summary:

The paper attempts to provide…

… are discussed briefly.

The author considers…

Details are given…

The consequence of development …

 

… briefly surveys …

 

 

 

… is wide ...

In conclusion…

To sum up...

 

 

 

 

English for Special Purposes

44 Computer Engineering

SPECIALIST READING B: History of Programming languages

13.Scan the text and match the headings (a-c) with the paragraphs (1-3)

a.Consolidation and growth

b.Early developments

c.Refinement

14.Read the text and answer the questions.

1.What was the first a programming language or a modern computer?

2.When and where were the first electrically powered digital computers created?

3.What generation are Assembly languages referred to?

4.What was the format and use of the early programming languages heavily influenced by?

5.When were the major language paradigms, which are now in use, developed?

6.What problem was widely discussed in 1960s and 1970s?

7.What were the 1980s marked by?

8.What trend in language design was an important one during the 1980s?

9.What are the current directions of the programming language evolution?

1._______________________

The first programming languages predate the modern computer. The 19th century had "programmable" looms

and player piano scrolls which implemented what are today recognized as examples of domain-specific

programming languages. By the beginning of the twentieth century, punch cards encoded data and directed mechanical processing. In the 1930s and 1940s, the formalisms of Alonzo Church's lambda calculus and

Alan Turing's Turing machines provided mathematical abstractions for expressing algorithms; the lambda

calculus remains influential in language design.

In the 1940s, the first electrically powered digital

computers were created. The first high-level programming language to be designed for a computer was Plankalkül, developed for the German Z3 by Konrad

Zuse between 1943 and 1945.

Programmers of early 1950s computers, notably UNIVAC I and IBM 701, used machine language programs, that is, the first generation language (1GL).

1GL programming was quickly superseded by similarly machine-specific, but mnemonic, second generation

languages (2GL) known as Assembly languages or Assembler1. Later in the 1950s, assembly language

programming, which had evolved to include the use of macro instructions, was followed by the development of "third generation" programming languages (3GL), such as FORTRAN, LISP, and COBOL. 3GLs are more abstract and are "portable", or at least implemented similar on computers that do not support the same native machine code. Updated versions of all of these 3GLs are still in general use, and each has strongly influenced the development of later languages. At the end of the 1950s, the language formalized as Algol 602 was introduced, and later programming languages are, in many respects, descendants of Algol. The format and use of the early programming languages was heavily influenced by the constraints of the interface.

2._______________________

The period from the 1960s to the late 1970s brought the development of the major language paradigms now in use, though many aspects were refinements of ideas in the very first Third-generation programming languages. APL3 introduced array programming and influenced functional programming. PL/I (NPL) was designed in the early 1960s to incorporate the best ideas from FORTRAN and COBOL.

English for Special Purposes

In the 1960s, Simula4 was the first language designed

to support object-oriented programming; in the mid1970s, Smalltalk followed with the first "purely" objectoriented language. C was developed between 1969 and 1973 as a systems programming language. Prolog, designed in 1972, was the first logic programming

language. In 1978, ML built a polymorphic type system on top of Lisp, pioneering statically typed functional programming languages. Each of these languages spawned an entire family of descendants, and most modern languages count at least one of them in their ancestry.

The 1960s and 1970s also saw considerable debate over the merits of structured programming, and whether

programming languages should be designed to support it. New techniques reduced the footprint of a program as well as improved productivity of the programmer and user. The card deck for an early 4GL was a lot smaller for

the same functionality expressed in a 3GL deck.

3._______________________

The 1980s were years of relative consolidation. C++ combined object-oriented and systems programming. The United States government standardized Ada, a systems programming language intended for use by defense contractors. In Japan and elsewhere, vast sums were spent investigating so-called "fifth generation" languages that incorporated logic programming constructs. The functional languages community moved to standardize ML and Lisp. Rather than inventing new paradigms, all of these movements elaborated upon the ideas invented in the previous decade.

One important trend in language design during the 1980s was an increased focus on programming for largescale systems through the use of modules, or large-scale organizational units of code. Modula-2, Ada, and ML all developed notable module systems in the 1980s, although other languages, such as PL/I, already had extensive support for modular programming.

The rapid growth of the Internet in the 1990s created opportunities for new languages. Perl, originally a Unix scripting tool first released in 1987, became common in dynamic Web sites. Java came to be used for server-side programming. These developments were rather refinements to existing languages and paradigms, and largely based on the C family of programming languages.

Programming language evolution continues, in both industry and research. Current directions include security and reliability verification, new kinds of modularity (mixings, delegates, aspects), and database integration.

Computer Engineering 45

Comments:

1Assembler – Ассемблер, машинно-ориентированный язык программирования низкого уровня. Так как каждый тип процессоров имеет собственный набор машинных команд, то под него создаётся и уникальный, платформно-зависимый ассемблер.

2Algorithmic Language – Алгол, примитивный процедурный язык высокого уровня, оказал большое влияние на развитие процедурных языков (блочная структура, рекурсия, БНФ). В 1960-70-х годах был общепризнанным языком научных публикаций. Дальнейшее развитие Алгола-60 - Алгол-68, из-за своей сложности не получил широкого распространения.

3A Programming Language – созданный К. Айверсоном процедурный язык сверхвысокого уровня. Требует специальной клавиатуры. Дальнейшее развитие языка - APL2.

4Simula – язык моделирования сложных систем, разработанный Оле Далом и Кристеном Нугардом. Первый объектно-ориентированный язык, основанный на более раннем языке моделирования дискретных событий Simula 1 и языке Algol. Впервые введены понятия класса, наследования и динамического связывания. Развитие - Simula-67

English for Special Purposes

46 Computer Engineering

WRITING: Practical application of programming languages

15. Study the information about the following programming languages given below. Write an argumentative essay explaining what language would be the most appropriate to use for each of these situation:

1.A schoolteacher wants his young pupils to learn some basic mathematics by controlling a simple robot.

2.The owner of a small business wants to create a simple database program to keep track of his stock.

3.An engineer wants to develop a program for calculating the stresses in a mechanical device.

4.A student wants to create web pages for a personal website.

5.A systems programmer wants to add some new modules to an operating system.

6.A programmer working for the US army wants to create a program for controlling a new type of weapon.

7.A finance company needs to process data from its branch offices on its mainframe computer.

8.A website designer wants to enable the data on his website to be easily processed by different programs.

9.A student studying artificial intelligence wants to write some programs for a course project.

10.A college lecturer wants his students to learn the principles of programming.

11.A professional programmer wants to create and sell a program for use in language learning.

12.A website designer wants to password-protect a section of a website.

PROGRAMMING LANGUAGES BOX

Java is developed by Sun Microsystems in 1990s and used for developing interactive applications for the Internet.

Ada, named after Countess Ada Lovelace (one of the first programmers), is a superset of Pascal. Ada is a structured language developed and used by the US Department of Defense.

Log© is an easy-to-use language that is primarily used to teach children how to program.

LISP stands for LISt Processor and is designed to process non-numeric data – that is, symbols such as characters or words. It is used to develop applications in the field of artificial intelligence.

FORTRAN stands for FORmula TRANslator; it was designed in 1954 and is oriented toward manipulating formulas for scientific, mathematical, and engineering problem-solving applications.

HTML stands for HyperText Markup Language; it is a page-description language used to prepare a text for display in a browser program.

Perl (Practical Report and Extraction Language) first appeared in 1987 as a Unix-based tool for producing reports but is now widely used for creating interactive webpages.

Prolog stands for PROgramming LOGic; it is used to

develop applications in the field of artificial intelligence. It is a popular tool for natural-language programming.

XML stands for extensible Markup Language; it is a metalanguage for creating webpages with meaningful data that can be used by a variety of programs.

C++ is an object-oriented superset of С which combines the best features of a structured high-level language and an assembly language that uses computer resources efficiently and is easy to code. С was originally designed to write systems software but is now considered a general-purpose language.

Visual Basic (BASIC) stands for Beginners' All-purpose Symbolic Instruction Code; it is a simple-to-use language that has a graphical interface. It makes it particularly easy for an inexperienced programmer to create database programs.

Pascal, named after the mathematician Blaise Pascal, was created primarily to fill the need for a teaching vehicle that would encourage structured programming. It is often used in college computing courses.

COBOL Stands for COmmon Business-Oriented Language; it has been around for a long number of years but is still an important transaction-processing language used to process the records of large organizations on mainframe computers.

English for Special Purposes

Computer Engineering 47

SPEAKING: Universal programming language

16. Get ready to create and present your own “universal” programming language paying attention to its purposes, peculiarities and advantages over other kinds of visual programming and languages for web.

The following discourse markers may help you to create a good presentation; you can also visit the site http://www.youtube.com/watch?v=HZj70Rv5K8M

How do I

 

You could introduce your talk or presentation formally.

start?

 

Today I'm going to talk about...

 

 

In this presentation, I'd like to tell you a little bit about...

 

 

Alternatively, you could grab your audience's attention by starting with a question or a

 

 

challenging statement. Use pictures or objects.

 

 

So, how much do you know about ___________?

 

 

Have you ever asked yourself why ... ?

 

 

What I'm going to tell you about today will change the way you think about...

 

 

Pass around the picture/object. What do you think it is?

 

 

 

 

How do I

 

Make it short. Write down the points you want to make, edit them down to, say, four,

organize the

 

then decide which order you are going to make them in. Introduce each point with an

presentation?

 

expression from the list below.

 

 

 

 

The first/key thing to say about __________ is...

 

 

The main point to make about __________ is...

 

 

What you really need to know about__________ is ...

 

 

Now let's look at...

 

 

Let's turn to/move on to ...

 

 

Another interesting thing to say about__________ is ...

 

 

Finally, I'd like to say a few words about...

 

 

 

 

What do I

 

After introducing the point, add information briefly in two, three, or, at the most, four

 

say?

 

sentences. Use markers like the ones below to construct long, well-balanced sentences.

 

 

 

Anyway,...; Naturally,...; Of course,...

 

 

 

 

 

 

Similarly, ... ; Surprisingly, ,.,; Remarkably, ...

 

 

 

Despite,...; However, ...; Although,...; Whereas...

 

 

 

Consequently, ... ; In addition,..; Moreover,...; Furthermore, ...

 

 

 

 

 

 

 

Incidentally, ... ; By the way, ... ; It's worth noting that...

 

How do I

 

Conclude the presentation by briefly summarizing what you have said, or the points you

 

finish?

 

have made. You could end by asking for comments or questions.

 

 

 

In conclusion,...; To sum up,...

 

 

 

So, remember that…is all about…,and.

 

 

 

So, there are three things to remember about…

 

 

 

Does anybody have any questions?

 

 

 

 

 

English for Special Purposes

48 Computer Engineering

Unit 5 Computer networking

Abbreviations

Relative clauses with a participle

Computer Networking

TCP/IP vs. PPP

 

 

 

 

LEAD-IN

1. Think about the basic components of a typical computer network (a file server, a bridge, a router, a backbone, a LAN, a gateway, a modem…), try to explain their functions.

PRONUNCIATION

2. Make sure you pronounce the following words properly:

 

 

route

[ruːt]

wireless

[waɪələs]

router

[rautə]

flow

[fləu]

technology

[tek’nɔləʤi]

converge

[kən'vɜːʤ]

conduct

[kən’dʌkt]

hierarchical

[ˌhaɪə'rɑːkɪk(ə)l]

multinational

[mʌlti’næʃ(ə)nəl]

authentication [ɔːˌθentɪ'keɪʃ(ə)n]

transceiver

[trænsi:və]

asynchronous

[eɪ'sɪŋkrənəs]

WORD STUDY

3. Translate the following definitions and memorize the terms:

 

networking (n) -

 

the interconnection of two or more networks in different places;

 

 

 

 

 

 

 

 

specification (n)

-

 

a detailed description of the criteria for the construction,

 

 

 

 

 

appearance, performance, etc., of a material, apparatus, standard

 

 

 

 

 

 

 

 

 

 

etc.;

 

 

peer-to-peer (adj.)

-

 

(P2P) designed so that computers can send information directly to

 

 

 

 

 

 

 

 

one another without passing through a centralized server;

 

 

 

 

 

 

 

Point-to-Point Protocol (n) -

 

(PPP), a data link protocol commonly used to establish a direct

 

 

 

 

 

 

 

 

connection between two networking nodes. It provides

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

connection authentication and transmission encryption privacy;

 

 

 

 

 

 

 

High-Level Data Link Control (n) -

 

(HDLC) a bit-oriented synchronous data link layer protocol

 

 

 

 

 

developed by the ISO. HDLC provides both connection-oriented

 

 

 

 

 

 

 

 

 

 

and connectionless service and can be used for point to

 

 

 

 

 

 

 

 

 

 

 

multipoint connections, but is now used almost exclusively to

 

 

 

 

 

connect one device to another;

 

 

 

 

 

 

 

English for Special Purposes

 

Computer Engineering

49

 

 

 

 

frame relay (n) -

a standardized wide area network technology that specifies the

 

 

 

physical and logical link layers of digital telecommunications

 

 

 

 

 

 

channels using a packet switching methodology;

 

 

 

 

 

 

 

Asynchronous Transfer Mode (n) -

(ATM) an electronic digital data transmission technology that is

 

 

 

 

 

 

 

implemented as a network protocol and was first developed in the

 

 

 

mid 1980s to transport real-time video, audio, image files, text;

 

 

 

 

 

 

 

sensitive information (n) -

confidential data;

 

 

intranet (n) -

an internal network that makes use of internet technology;

 

 

 

extranet (n) -

an intranet that is modified to allow outsiders access to it, esp.

 

 

 

one belonging to a business that allows access to customers;

 

 

 

 

 

 

 

 

 

 

 

 

 

precursor (n) -

a person or thing that precedes and shows or announces someone

 

 

 

or something to come;

 

 

 

 

 

 

 

 

 

 

coaxial cable (n) -

a cable consisting of an inner insulated core of stranded or solid

 

 

 

 

wire surrounded by an outer insulated flexible wire braid, used

 

 

 

 

 

 

 

esp. as a transmission line for radio-frequency signals.

 

 

 

 

 

 

 

 

4. Match the following words with their synonyms (A, B) and the Russian equivalents (C, D):

A

B

 

 

specifications

spread out

conduct

motivate

hub

privileged

deploy

carry out

converge

predecessor

interconnect

considerable

sensitive

detailed description

precursor

join

drive

centre

significant

interrelate

 

 

C

D

 

 

routing protocol

обмениваться информацией

 

 

practical application

протокол канала связи с непосредственным соединением

exchange data

поставщик онлайновой информации

peer-to-peer network

оптоволокно

Point to Point Protocol

витая пара (два скрученных изолированных провода)

coaxial cable

практическое применение

optical fiber

сеть с пакетной коммутацией

twisted-pair cable

одноранговая сеть (без иерархии и выделенных серверов)

content provider

протокол маршрутизации

packet switched network

коаксиальный кабель

 

 

English for Special Purposes

50Computer Engineering

5.Jumbled words. Rearrange the letters in A to make words and match them with definition in B.

 

A

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k i e r t n n w g o

 

 

_______________

 

 

confidential;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x r n a e t t e

 

 

 

 

 

a device that allows

packets of data to

be

moved

 

 

 

 

 

 

 

 

 

 

_______________

 

 

efficiently between two points on a network;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e s s n i i v e t

 

 

_______________

 

 

the act of applying to a particular purpose;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n t r n t i e a

 

 

 

 

 

an intranet that is modified to allow outsiders access to

 

 

 

 

 

 

 

 

 

 

_______________

 

 

it;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e o u r r t

 

 

 

 

 

the

application of practical

sciences to

industry

or

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_______________

 

 

commerce;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

the

 

 

 

 

 

l i p a p o n c a i t

 

 

 

 

 

interconnection

of two

or more networks

in

 

 

 

 

 

 

 

 

 

 

_______________

 

 

different places;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l o e c h y n t o g

 

 

 

 

 

an

internal network

that

makes use

of

internet

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_______________

 

 

technology.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WORD BUILDING: Abbreviations

An abbreviation (from Latin brevis, meaning short) is a shortened form of a word or phrase. Usually it consists of a letter or group of letters taken from the word or phrase. Abbreviations can be pronounced differently:

as individual letters, such as TCP/IP [ˌtisi:pi:ˈaɪpi:];

as a word, such as WAN [wæn], LAN [læn];

as a word or names of letters, depending on speaker or context, such as FAQ

[fæk ] or [ˌefeɪˈkju:];

as a combination of letter names and words, such as JPEG [ˈdʒeɪpɛɡ] and MS-

DOS [ˌɛmɛsˈdɒs];

Always check your dictionary or the Internet if you are not sure.

6. Do you know what these well-known abbreviations stand for?

OS, GUI, PDA, LAN, WAN, WWAN, BASIC, HTTP, COBOL, IBM, WP, IP, FTP, Wi-Fi, MMS, ADSL, SONET

7. Match the abbreviations with their definitions to know more terms on the theme.

Telnet

The method by which web pages are transferred from a website to your PC.

 

 

VoIP

A standardized multiplexing protocol that transfers multiple digital bit streams over optical fiber using

 

lasers or LEDs.

FTP

The network developed in the early 70s by the US Department of Defense.This was the precursor to

 

the Internet.

ARPANET

A file or web page containing answers to questions asked by internet users or visitors to a website.

HTTP

A standard network protocol used to transfer files from one host to another over a TCP-based

 

network. It is built on a client-server architecture and utilizes separate control and data connections

 

between the client and server.

JPEG

A protocol and a program which is used to log directly into remote computer systems. This enables

 

you to run programs kept on them and edit files directly.

SONET

An Internet protocol which allows you to make phone calls using the Internet instead of the regular

 

phone lines.

FAQ

A standard for compressing and decompressing image files.

English for Special Purposes

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]