Computer Science. The English Language Perspective - Беликова (1176925), страница 14
Текст из файла (страница 14)
Up to now, quantumsublanguages of QPLs are still close to assembly languagesinsofar as they operate directly on registers of qubits.Notes:RDBMS (Relational Database Management System) –объектно-реляционная система управления базами данныхкомпании Oracle.81Quantum gate – базовый элемент квантового компьютера,преобразующий входные данные кубитов в выходные поопределенному законуQRAM(QuantumRandomAccessMemory)–запоминающее устройство квантового компьютераAssignments1. Translate the sentences from the text into Russian inwriting paying attention to the underlined words andphrases:1. Because of the von Neumann architecture, the centralfeatures of imperative languages are variables,assignment statements, and the iterative form ofrepetition.2. Newer languages prefer to describe a problem and letthe computer figure out how to solve it, rather thanspecifying in great detail how to move data around.3.
Spreadsheets, desktop publishing software, simulationpackages and so on have extensive facilities for abstractprogramming.4. A functional, or applicative, language is one in whichthe primary means of computation is applying functionsto given parameters.5. The closeness of functional programming tomathematics, while resulting in conciseness andelegance, may in fact make functional programminglanguages less accessible to many programmers.6.
In the early days of programming several veryinfluential languages were designed and implementedthat had one characteristic in common: the languageseach had a preferred data structure and an extensive setof operations for the preferred structure.827. C++ showed that it was possible to implement the entiremachinery of OOP in a manner that is consistent withstatic allocation and type-checking, and with fixedoverhead for dispatching; the dynamic requirements ofOOP are used only as needed.8. Logic programming in general and Prolog language inparticular are a natural match to the needs ofimplementing an RDBMS: only a single language isrequired, the deductive capability is built in.2. Answer the following questions:1.
What are the central features of imperative languages?Why?2. Is there a principal difference between older and newerlanguages?3. How can you justify for the applicability of nonimperative languages?4. Why are data-oriented languages less popularnowadays?5. What contributes to the growing popularity of objectoriented languages?6. What kind of problems do language designers facewhen developing a quantum programming language?3. Translate into English:В развитии языков программирования выделяются дваосновных направления: процедурное и непроцедурное. Впроцедурных языках программа явно описывает действия,которые необходимо выполнить, а результат задаетсяспособом получения его при помощи некоторойпроцедуры – определенной последовательности действий.Основными средствами, применяемыми в этих языках,являются величины (в том числе и табличные),присваивания, циклы, процедуры. При построении83процедурной программы необходимо ясно представлять,какие действия и в какой последовательности будутпроизводиться при ее выполнении.
Непроцедурное(декларативное) программирование появилось в начале 70х годов, но его развитие началось в 80-е годы в связи спроектом по созданию компьютеров пятого поколения,целью которого явилась подготовка почвы для созданияинтеллектуальныхмашин.Кнепроцедурномупрограммированиюотносятсяфункциональныеилогические языки. В функциональных языках программаописывает вычисление некоторой функции. Обычно этафункция задается как композиция других, более простых,те в свою очередь разбиваются на еще более простые, и т.д.Один из основных элементов в функциональных языках –рекурсия, т.е. вычисление значения функции череззначение этой же функции от других элементов. Наиболеераспространенными среди функциональных языковявляются Lisp и Refal.Можновыделитьещеодинклассязыковпрограммирования – объектно-ориентированные языкисверхвысокого уровня.
На таких языках не описываютподробной последовательности действий для решениязадачи, хотя они содержат элементы процедурногопрограммирования. Объектно-ориентированные языки,благодаря богатому пользовательскому интерфейсу,предлагают человеку решить задачу в удобной для негоформе. Примером такого языка может служить языкпрограммирования визуального общения SmallTalk.Трудно провести четкую границу между системамипрограммирования сверхвысокого уровня и прикладнымпрограммным обеспечением. Как те, так и другие системыпозволяют работать с ними неквалифицированномупользователю, не являющемуся программистом.4. Give the summary of the text using the key terms.84LANGUAGE EVALUATION CRITERIA.IMPLEMENTATION METHODSRead the following words and word combinations and usethem for understanding and translation of the text:criterion (pl. criteria) – критерийmaintenance - поддержкаease – простотаcrossover – перекрестный переходwritability – легкость создания программdomain – предметная областьrealm – область действияtwo-dimensional – двумерныйtime-consuming - времязатратныйpure – чистыйsimulation - моделированиеfetch-execute cycle – цикл выборки и исполненияto debug – отладитьrun-time – время исполненияreliability - надежностьIn order to examine and evaluate the concepts of the variousconstructs and capabilities of programming languages it isnecessary to have a set of evaluation criteria.Readability.
Perhaps one of the most important criteria forjudging a programming language is the ease with whichprograms can be read and understood. Before 1970 the primarypositive characteristics of programming languages wereefficiency and machine readability. Language constructs weredesigned more from the point of view of the computer than ofcomputer users.
In the 1970s, however, the software life cycleconcept was developed, maintenance was recognized as amajor part of the cycle. Because ease of maintenance isdetermined by the readability of programs, readability becamean important measure of the quality of programs and85programming languages. There was a distinct crossover from afocus on machine orientation to a focus on human orientation.Writability. Writability is a measure of how easily a languagecan be used to create programs for a chosen problem domain. Itis simply not reasonable to compare the writability of twolanguages in the realm of a particular application when one wasdesigned for that application and the other was not.
Forexample, the writabilities of COBOL and FORTRAN aredramatically different for creating a program to deal with twodimensional arrays for which FORTRAN is ideal. Theirwritabilities are also quite different for producing financialreports with complex formats, for which COBOL was designed.Reliability. A program is said to be reliable if it performs to itsspecifications under all conditions.
Type checking is animportant factor in language reliability. The earlier errors inprograms are detected, the less expensive it is to make therequired repairs.Cost. The ultimate total cost of a programming language is afunction of many of its characteristics. First, there is the cost oftraining programmers to use the language. Second is the cost ofwriting programs in the language.
Both the cost of trainingprogrammers and the cost of writing programs in a languagecan be significantly reduced in a good programmingenvironment. Third is the cost of compiling programs in thelanguage. Fourth, the cost of executing programs written in alanguage is greatly influenced by that language’s design. Thefifth factor is the cost of the language implementation system.Sixth is the cost of poor reliability.Portability. This is the ease with which programs can be movedfrom one implementation to another. Portability is moststrongly influenced by the degree of standardization of thelanguage, which is a time-consuming and difficult process.Implementation MethodsProgramming languages can be implemented by any of threegeneral methods. At one extreme, programs can be translated86into machine language, which can be executed directly on thecomputer. This method is called a compiler implementation,and has the advantage of very fast program execution, once thetranslation process is complete.Pure interpretation lies at the opposite end (from compilation)of implementation methods.
With this approach, programs areinterpreted by another program called an interpreter, with notranslation whatever. The interpreter program acts as asoftware simulation of a machine whose fetch-execute cycledeals with high-level language program statements rather thanmachine instructions.Pure interpretation has the advantage of allowing easyimplementation of many source-level debugging operations,because all run-time error messages can refer to source-levelunits. But the execution is 10 to 100 times slower than incompiled systems and it often requires more space.Some language implementation systems are a compromisebetween compilers and pure interpreters, they translate highlevel language programs to an intermediate language designedto allow easy interpretation.
This method is faster than pureinterpretation because the source language statements aredecoded only once. Such implementations are called hybridimplementation systems.Notes:Compiler – программа выполняющая компиляцию —трансляцию программы, составленной на языке высокогоуровня в эквивалентную программу на языке, близкоммашинному.Interpreter – программа, обеспечивающая перевод салгоритмического языка высокого уровня на машинный содновременным выполнением операторов программы.87Assignments1.
Translate the sentences from the text into Russian inwriting paying attention to the underlined words andphrases:1. In order to examine and evaluate the concepts of thevarious constructs and capabilities of programminglanguages it is necessary to have a set of evaluationcriteria.2. Perhaps one of the most important criteria for judging aprogramming language is the ease with which programscan be read and understood.3. In the 1970s the software life cycle concept wasdeveloped, maintenance was recognized as a major partof the cycle.4.
There was a distinct crossover from a focus on machineorientation to a focus on human orientation.5. It is simply not reasonable to compare the writability oftwo languages in the realm of a particular applicationwhen one was designed for that application and theother was not.6. The earlier errors in programs are detected, the lessexpensive it is to make the required repairs.7. Both the cost of training programmers and the cost ofwriting programs in a language can be significantlyreduced in a good programming environment.8.