Вы находитесь на странице: 1из 3

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.

Это - хорошо признанная отрасль информатики, и по состоянию на 2009, активную область


исследования, с результатами, изданными в многочисленных журналах, посвященных PLT, а также
в общей информатике и технических публикациях.

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 ISO Standard), while others have a dominant implementation (such as Perl).

У многих языков программирования есть некоторая форма письменной спецификации их


синтаксиса и семантики, так как компьютеры требуют точно определенных инструкций.
Некоторые определены документом спецификации (например, Стандарт ISO), в то время как у
других есть доминирующее внедрение (такое как Perl).

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, 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 accepted in 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.

Наконец, программисты могут просто отличаются в своих вкусах: они привыкли обсуждать
проблемы и выражать их в конкретном языке.

Оценить