: = является оператором присваивания для языков, в которых используется проверка равенства на один знак равенства. Наиболее известным из этих языков является Паскаль. Из-за влияния Си большинство языков переключилось на = для назначения и == для тестирования. Некоторые старые тексты и авторы, которые были обучены таким стилям, используют: = для псевдокода. Вы иногда видите стрелки <- также для назначения .
Из статьи:
input: an array a of length n with array elements numbered 0 to n − 1
inc ← round(n/2)
while inc > 0 do:
for i = inc .. n − 1 do:
temp ← a[i]
j ← i
while j ≥ inc and a[j − inc] > temp do:
a[j] ← a[j − inc]
j ← j − inc
a[j] ← temp
inc ← round(inc / 2.2)
Некоторые современные языки используют стрелки для назначения; прежде всего R , который использует его для глобального присваивания, в то время как единственное равенство (=) для локального присваивания.
Из Концепций языков программирования Себесты и заметок класса доктора К.Н. Кинга мы узнаем, что стандарты заданий уходят гораздо дальше, чем С или Паскаль. Похоже, что в 1958 году, когда разрабатывался Algol, было решено использовать: = для назначения. Комитет состоял из представителей США и Европы. Некоторые из немцев в комитете были знакомы с языком Планрадкула Конрада Цузе (который был разработан во время Второй мировой войны, но не опубликован до 1972 года и не реализован до 2005 года) и хотел, чтобы задание следовало предложенному методу назначения этого языка, который былb+c => a
где b + c назначен a. Комитет изменил это на =: на том основании, что метод ввода программ в то время, называемый клавишным ударом, не имел «>» для использования. Таким образом, они пошли на компромисс на равных двоеточие. Тем не менее, американцы, знакомые с FORTRAN (до 1990 года у него не было строчных букв), хотели, чтобы назначение действовало влево, поскольку именно так FORTRAN делал это.
Таким образом, им удалось изменить его на: = и заставить назначение работать влево, а не вправо в стиле FORTRAN (являющийся известным реализованным языком), а не Plankalkul (практически неизвестный язык за пределами Германии и не реализованный). , Алгол 60 сильно повлиял на все основные последующие императивные языки, включая Паскаль и С. Таким образом, Паскаль сохранил синтаксис ALGOL для присваивания и сохранил левосторонность присваивания.
Алгол был разработан, чтобы быть легко читаемым и близким к математическим обозначениям. Это был де-факто (и в основном де-юре) стандарт для написания алгоритмов в журналах в течение следующих 20 с лишним лет. Таким образом, инструкторы и компьютерные ученые, получившие образование с 1960 по 1980 годы, были бы знакомы с этим стилем обозначений.
Выпуск IBM 029 Keypunch в 1964 году позволил использовать символы> и <, что побудило их включить их в C среди других.