В программном обеспечении термин « функция» имеет несколько определений, которые часто отличаются от более общих определений этого термина. [1] Институт инженеров по электротехнике и электронике (IEEE) определяет этот термин в IEEE 829 (ныне несуществующий стандарт документации по тестированию программного обеспечения) как «отличительную характеристику программного элемента (например, производительность, портативность или функциональность)». . [2]
Даже до появления электронных компьютеров в середине-конце 20-го века устройство, имеющее отличительные особенности, часто считалось важным. Например, HMS Dreadnought британского Королевского флота (1906 г.) считался важной вехой в военно-морских технологиях из-за его передовых функций, которых не было в линкорах до дредноута . [3]
На заре истории компьютеров такие устройства, как мини-компьютер PDP-7 компании Digital Equipment Corporation ( созданный в 1964 году), отличались множеством функций, например, это была первая версия серии мини-компьютеров PDP, в которой использовалась проволочная намотка . а также первым, кто использовал запатентованный модуль DEC Flip-Chip , изобретенный в том же году. [4] [5]
Язык программирования Python хорошо известен своей особенностью использования пробелов , таких как пробелы и табуляции, вместо фигурных скобок для обозначения различных блоков кода. [6] Другой похожий объектно-ориентированный язык программирования высокого уровня, Ruby , примечателен тем, что использует символы «@» и «$» для выделения различных областей видимости переменных, что, по утверждению разработчиков, улучшает читаемость кода. Его разработчики также утверждают, что одной из его важных особенностей является высокая гибкость. [7]
В контексте программного обеспечения для конечного пользователя эмулятор терминала xterm также имеет значительное количество примечательных функций, включая совместимость с системой X Window , возможность эмуляции терминала VT220 и VT320 [8] с цветом ANSI, а также возможность ввод escape-последовательностей с помощью компьютерной мыши или другого подобного устройства, а также возможность запуска в нескольких различных Unix-подобных операционных системах (например , Linux , AIX , BSD и HP-UX ). [9]
Программное обеспечение считается «многофункциональным», если оно имеет множество опций и функциональных возможностей, доступных пользователю. Одним из популярных механизмов представления пользователю многофункционального программного обеспечения является концепция постепенного раскрытия — метод, при котором функции вводятся постепенно по мере необходимости, чтобы уменьшить потенциальную путаницу, вызванную одновременным отображением множества функций. [10]
В некоторых случаях наличие многофункционального программного обеспечения можно считать отрицательным признаком. Термины «ползучесть » , «раздувание программного обеспечения » и «особенность » (отсылка к обычному использованию суффикса -itis для обозначения воспалительного заболевания) могут использоваться для обозначения программного обеспечения, которое чрезмерно богато функциями. [11] Этот тип чрезмерного включения функций в некоторых случаях является результатом разработки комитета . [12]
Чтобы противодействовать тенденции разработчиков программного обеспечения добавлять дополнительные, ненужные функции, философия Unix была разработана в 1970-х годах сотрудниками Bell Labs , работавшими над операционной системой Unix , такими как Кен Томпсон и Деннис Ритчи . Философию Unix можно резюмировать следующим образом: программы обычно должны выполнять только одну основную задачу и что «маленькое — прекрасно». [13] [14]
{{cite book}}
: CS1 maint: другие ( ссылка )