Академический Документы
Профессиональный Документы
Культура Документы
published in numerous journals dedicated to PLT, as well as in general computer science and
engineering publications.
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).
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.
Программы могут быть написаны однажды и не изменение в течение нескольких поколений, или
они могут подвергнуться почти постоянной модификации.
Finally, programmers may simply differ in their tastes: they may be accustomed to discussing problems
and expressing them in a particular language.
Наконец, программисты могут просто отличаются в своих вкусах: они привыкли обсуждать
проблемы и выражать их в конкретном языке.