Добавил:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-2 Английский / Учебник для Сукнова М.П. (01.07.2015).rtf
Скачиваний:
222
Добавлен:
31.01.2021
Размер:
20.64 Mб
Скачать

Natural languages

The fifth and final generation of programming languages does not involve the generation of any code. These natural languages use the normal grammar of the spoken language to create programs. Some natural programming languages include Intellect, Broker, and Explorer. Although they don't yet meet, heir inventors' ideal, they are showing promise, and continued advances in this area may someday radically change the way we use computers and how we create programs.

Task 2. Answer the questions to the text.

1. How are programming languages classified? 2. What are low-level languages? 3. What are high-level languages? 4. What does programming with a machine language require? 5. What are specific features of the second-generation programming languages? 6. Why are procedural languages called high level languages? 7. What do compilers and interpreters do? 8. Can you name any procedural language? 9. What languages are included in the group of the fourth-generation languages? 10. Is it possible to use the spoken language to create programs? 11. When are query languages used? 12. What languages do not involve the generation of any code?

Task 3. Give the equivalents for the terms.

1. авторська система; 2. виконуваний файл; 3. процедурні мови; 4. буквено-цифрові символи; 5. програма асемблер; 6. структурне програмування; 7. набір синтаксичних правил; 8. прикладна програма; 9. мова запитів; 10. двійковий код; 11. вихідна програма, програма на мові високого рівня; 12. мову програмування сценаріїв

Task 4. Mark the following as True or False.

1. The third-generation programming languages are machine languages that use binary codes of ones and zeroes to control the activities of the computer. 2. Procedural language is a type of a high-level programming language that requires each computer instruction to be listed and carried out in sequence. 3. The second-generation programming languages require less specificity in terms of the order in which the computer instructions are carried out. They are referred to as nonprocedural languages. 4. Machine languages, assembly languages are known as low-level languages because they interact directly with the computer’s hardware, using machine-oriented codes rather than English-like commands. 5. High-level programming languages use an English like approach that is easier to use than machine or assembly languages. 6. Programs created with these languages can be used on more than one type of computer with little modification.

Task 5. Fill in the blanks with the words from the box.

to provide, to operate, to guide, to initiate, to evolve, to communicate, to know, to establish, to tell, to type

A programming language is, in many ways much like the languages we use ... (1) with each other. A programming language ... (2) a special set of rules and a vocabulary that have to do with a computer’s operation. Before communication with a computer can be ... (3), the rules and specialised vocabulary of the programming language must ... (4) to both the computer programmer and the computer itself. A programming language has words, symbols and rules of grammar (known as the syntax of the language). A computer programmer, ... (5) within the structure of these rules, develops an instruction ... (6) the computer’s operation. The resulting set of instructions is the computer program. Often these instructions ... (7) the computer what to do when the user of the program ... (8) some kind of action (when, for example, the user ... (9) in characters from the computer’s keyboard). Over the years, computer programming methods ... (10) through the development of successive ‘generations’ of programming languages, with each new generation bringing new functionality and ease-to-use.

Task 6. Translate the sentences into Ukrainian.

1. It is necessary that machine languages should be designed for a specific type of computer processor. 2. The programmer insisted that each instruction of the source program should be translated to a machine language. 3. I wish the computer program based on these fourth-generation methods required fewer statements. 4. It is time a computer user could write statements that are very much like a normal human language. 5. If I used this high-level programming language, I would develop the report based on the information stored in the computer. 6. If the programmer should use this natural language approach, tell him he doesn’t have to learn special rules of statement entry. 7. If he had used a database query language, the requests would have been phrased as normal human-language statements. 8. If it were not for your help, I shouldn’t be able to carry out the task in time. 9. But for the slow execution of the program, this instruction-by-instruction method would have become appropriate to find errors and to fix them immediately. 10. If PC users needed application programs created for farmers and mechanics, for scientists and teachers, they would buy commercial software to meet their individual needs. 11. I wish I had known FORTRAN to apply it for scientific application. 12. Had I used the Internet, I would have got the required information earlier.

Task 7. Translate the following sentences into English.

1. Існує безліч мов програмування. 2. Високорівневі мови програмування в чомусь нагадують людські мови. 3. Вони розроблені так, щоб людині якомога легше було створювати на них програми і читати їх. 4. Інструкції високорівневого мови програмування набагато складніше ніж ті прості інструкції, які може виконувати центральний процесор комп'ютера. 5. Мови, близькі за структурою до мови інструкцій процесора, називаються мовами низького рівня. 6. Вони орієнтовані на конкретні комп'ютери, тому набори їх інструкцій для різних комп'ютерів різні. 7. Хоча мова асемблера дуже близький до мови, яку розуміє комп'ютер, створені на ньому програми перед виконанням вимагають деякого простого перетворення. 8. Щоб комп'ютер міг виконати асемблерну інструкцію, її потрібно перекласти в послідовність нулів і одиниць. 9. Інструкції мови асемблера та їх еквіваленти, що складаються з нулів і одиниць, для різних комп'ютерів різні. 10. Про зрозумілих комп'ютеру програмах у формі послідовностей нулів і одиниць кажуть, що вони написані на машинній мові (машинному коді). 11. Нам принципово важливо відмінність між машинним мовою та мовами високого рівня, подібними С ++. 12. Полягає воно в тому, що програма мовою високого рівня повинна бути перетворена (трансльований) в машинний код, і тільки тоді комп'ютер зможе її зрозуміти і виконати.

Task 8. Work in groups of 3 (A, B, C). Read your text extract and answer the following questions:

1) What is this programming language designed for?

2) What are its advantages/disadvantages in comparison with the other programming languages?

MAJOR LANGUAGES

Group A

Ada - is an advanced, modern programming language, designed and standardized to support and strongly encourage widely recognized software engineering principles: reliability, portability, modularity, reusability, programming as a human activity, efficiency, maintainability, information hiding, abstract data types, concurrent programming, object-oriented programming, etc. Ada does not allow the dangerous practices or effects of old languages, although it does provide standardized mechanisms to interface with other languages such as Fortran, Color, and C.

BARSIC (Business And Research Scientific Interactive Calculator) is new programming language for education, research and business. It is a powerful tool to develop applications for mathematical simulation, data processing and visualization, numerical calculations and computer animation. Maine field of BARSIC applications is Physics and Mathematical Physics

HotTEA - HotTEA is an implementation of the BASIC language written in Java. You can implement applications for Internet or Intranet systems in a fraction of the time it takes to learn JAVA but with all the inherent cross-platform and security features that JAVA provides.

A COBOL Interpreter - COBOL Interpreter is a compact and easy to use. Currently still under development, this interpreter implements some new language features that are very useful. One such feature is the DELIMITED WITH option on the OPEN statement.

Using this feature you can quickly develop simple COBOL data conversion programs to convert data that would normally require manually importing data into a database or spreadsheet product and then exporting the data to a file with the required format. Interpreted COBOL programs are very useful when interfaces need be built to convert delimited text file data provided by one system to a different file format required by the interfacing system.

Group B

EIFFEL - is a pure object-oriented language, designed for building robust applications, using programming by contract. Eiffel is an advanced object-oriented method and language that emphasizes the design and construction of high-quality reusable software, based on the principles of Design by Contract.

Java & JDK - An object oriented language initially targeted in making nicer web page. It has evolved into much more. It is becoming known as a computing platform — the base upon which software developers can build applications. Developers can build a variety of applications using Java — traditional spreadsheets and word processors in addition to mission critical applications used by the biggest companies: accounting, asset management, databases, human resources and sales.

LISP- high-level language for:

Artificial Intelligence (AI) is a branch of computer science concerned with making computers behave like humans. This includes giving expert advice, understanding a natural language, speaking like a human, and recognizing complex patterns like handwriting. The 3 most useful AI Programs today are Expert Systems (solve real world problems by following the same IF/THEN rules a human expert follows), Natural Language (focuses on getting computers to understand spoken or typed language), and Neural Networks (a digitized model of a human brain, simulated in the binary memory of computer).

Modula-3 - is a member of the Pascal family of languages. Designed in the late 1980s at Digital Equipment Corporation and Olivetti, Modula-3 corrects many of the deficiencies of Pascal and Modula-2 for practical software engineering. In particular, Modula-3 keeps the simplicity of type safety of the earlier languages, while providing new facilities for exception handling, concurrency, object-oriented programming, and automatic garbage collection. Modula-3 is both a practical implementation language for large software projects and an excellent teaching language.

Group C

Perl - It is an interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks.

PostScript - is a programming language optimized for printing graphics and text (whether on paper, film, or CRT is immaterial). In the jargon of the day, it is a page description language. The main purpose of PostScript was to provide a convenient language in which to describe images in a device independent manner.

Prolog - is a logical and a declarative programming language. The name itself, Prolog, is short for PROgramming in LOGic. It was designed to facilitate natural language processing.

Python - is an interpreted, interactive, object-oriented programming language. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.

TXL - TXL is a unique programming language and rapid prototyping system specifically designed to support source text analysis and transformation tasks. It is particularly well suited to tasks that involve structural analysis and transformation of formal notations such as programming languages, specification languages, and structured document notations.

Task 9. Make a summary to report to the rest of the class.

Task 10. What do these abbreviations stand for?

  1. OOP

  2. BARSIC

  3. AI

  4. PROLOG

SPEAKING

  1. What programming languages are designed to be used in science, education? Which ones are more useful in business, engineering? What programming languages are specially designed to work with web-pages in Internet?

  2. What do you think about the prospects of programming languages development?

  3. Try to make predictions for the next 10 years. What kind of new PL will appear? Which ones will become outdated in your opinion?

WORD FORMATION:

PREFIXES

When you are reading, you will come across unfamiliar words. It is often possible to guess the

meanings of these words if you understand the way words in English are generally formed.

prefix→ stem ←suffix

An English word can be divided into three parts: a prefix, a stem, and a suffix. Pre - means 'before'. A prefix, therefore, is what comes before the stem. Consider, as an example, the prefix de- (meaning 'reduce' or 'reverse') in a word like demagnetize (meaning 'to deprive of magnetism'). A suffix is what is attached to the end of the stem. Consider, as an example, the suffix -er (meaning 'someone who') in programmer ('a person who programs'). Suffixes change the word from one part of speech to another. For example, -ly added to the adjective quick gives the adverb quickly. Prefixes, on the other hand, usually change the meaning of the word. For example, un- changes a word to the negative. Unmagnetizable means 'not capable of being magnetized'. Let us now consider some prefixes, their usual meanings, and how they change the meanings of English words.