Литмир - Электронная Библиотека
A
A

Прецедент использования (use case). Конкретный (как правило, простой) пример использования программы, предназначенный для ее тестирования и демонстрации возможностей.

Приложение (application). Программа или коллекция программ, рассматриваемая пользователями как сущность.

Принцип RAII (“Resource Acquisition Is Initialization”). Основная технология управления ресурсами, основанная на концепции области видимости.

Программирование (programming). Искусство выражения решений задач в виде кода.

Программное обеспечение (software). Совокупность фрагментов кода и связанных с ними данных; часто используется как синоним слова “программа”.

Программный код (возможно, вместе со связанными с ним данными). То, что полностью готово к выполнению на компьютере.

Проект (design). Общее описание того, как должно работать программное обеспечение, чтобы соответствовать своей спецификации.

Производный класс (derived class). Класс, являющийся наследником одного или нескольких базовых классов.

Псевдокод (pseudo code). Описание вычислений, записанное с помощью неформальных обозначений, а не языка программирования.

Реализация (implementation). 1) Действие, означающее написание и тестирование кода; 2) код, реализующий программу.

Регулярное выражение (regular expression). Обозначение шаблонов в виде строк символов.

Редактор связей (linker). Программа, объединяющая файлы объектного кода с библиотеками в исполняемый модуль.

Рекурсия (recursion). Вызов функции самой себя; см. также итерация.

Ресурс (resource). Нечто, чем можно завладеть и что впоследствии следует освободить, например дескрипторы файлов, блокировка или память.

Система (system). 1) Программа или набор программ для выполнения определенной задачи на компьютере; 2) сокращение словосочетания “операционная система”, т.е. базовая среда для выполнения программ и инструменты компьютера.

Слово (word). Основная единица памяти компьютера, обычно используется для хранения целых чисел.

Сложность (complexity). С трудом поддающееся точному определению понятие, представляющее собой некую меру трудности процесса поиска решения задачи или свойство самого решения. Иногда под сложностью (просто) понимают оценку количества операций, необходимых для выполнения алгоритма.

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

Сокрытие информации (information hiding). Действие, связанное с отделением интерфейса и реализации друг от друга, в результате которого детали реализации остаются за пределами внимания пользователя и возникает абстракция.

Состояние (state). Набор значений.

Спецификация (specification). Описание того, что должен делать фрагмент кода.

Ссылка (reference). 1) Значение, описывающее место в памяти значения, имеющего тип; 2) переменная, содержащая такое значение.

Стандарт (standard). Официально согласованное определение чего-либо, например, языка программирования.

Стиль (style). Совокупность методов программирования, обеспечивающая согласованное использование возможностей языка. Иногда используется в очень ограниченном смысле, касающемся правил выбора имен и внешнего вида текста программы.

Стоимость (cost). Затраты (например, время работы программиста, время выполнения программы или объем памяти), связанные с производством программы или ее выполнением. В идеале стоимость должна зависеть от сложности.

Строка (string). Последовательность символов.

Супертип (supertype). Базовый тип; тип, имеющий подмножество свойств производного типа.

Тестирование (testing). Систематический поиск ошибок в программе.

Тип (type). То, что определяет набор возможных значений и допустимых операций над объектов.

Требование (requirement). 1) Описание желательного поведения программы или части программы; 2) описание предположений об аргументах функции или шаблона.

Указатель (pointer). 1) Значение, используемое для идентификации в памяти объекта, имеющего тип; 2) переменная, содержащая такое значение.

Усечение (truncation). Потеря информации в результате преобразования типа в другой тип, который не может точно представить преобразованное значение.

Утверждение (assertion). Утверждение, вставленное в программу, чтобы установить (assert), какое условие всегда должно выполняться в данной точке программы.

Файл (file). Контейнер, содержащий информацию в постоянной памяти компьютера.

Функция (function). Именованная единица кода, которую можно активизировать (вызвать) из разных частей программы; логическая единица вычислений.

Целое число (integer). Целое число в математическом смысле, например, 42 и –99.

Цикл (loop). Фрагмент кода, выполняющийся повторно; в языке C++ циклы, как правило, реализуются инструкцией for или while.

Число с десятичной точкой (floating-point number). Компьютерная аппроксимация действительного числа, например 7.93 и 10.78e–3.

Чисто виртуальная функция (pure virtual function). Виртуальная функция, которая должна быть замещена в производном классе.

Шаблон (template). Класс или функция, параметризованные одним или несколькими типами или значениями (на этапе компиляции); основная конструкция в языке C++, поддерживающая обобщенное программирование.

Язык программирования (programming language). Язык для выражения программ.

Библиография

Aho, Alfred V., Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools, Second Edition (обычно ее называют “The Dragon Book”). Addison-Wesley, 2007. ISBN 0321547985. (Русский перевод: Ахо А., Сети Р., Ульман Дж., Лам М. Компиляторы. Принципы, технологии, инструменты. 2-е издание. — М.: Вильямс, 2008.)

Andrews, Mike, and James A. Whittaker. How to Break Software: Functional and Security Testing of Web Applications and Web Services. Addison-Wesley, 2006. ISBN 0321369440.

Austern, Matthew H. Generic Programming and the STL: Using and Extending the C++ Standard Template Library. Addison-Wesley, 1999. ISBN 0201309564. (Русский перевод: Остерн М. Обобщенное программирование и STL. Использование и наращивание стандартной библиотеки шаблонов C++. — Спб: Невский Диалект, 2004.)

Austern, Matt, ed. Draft Technical Report on C++ Standard Library Extensions. ISO/IEC PDTR 19768. www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf.

Bergin, Thomas J., and Richard G. Gibson, eds. History of Programming Languages — Volume 2. Addison-Wesley, 1996. ISBN 0201895021.

Blanchette, Jasmin, and Mark Summerfield. C++ GUI Programming with Qt 4. Prentice Hall, 2006. ISBN 0131872493. (Русский перевод: Бланшет Ж., Саммерфилд М. Qt 4: Программирование GUI на С++. — М.: Кудиц-Пресс, 2008.)

Boost.org. “A Repository for Libraries Meant to Work Well with the C++ Standard Library.” www.boost.org.

Cox, Russ. “Regular Expression Matching Can Be Simple and Fast (but Is Slow in Java, Perl, PHP, Python, Ruby, ...).” http://swtch.com/~rsc/regexp/regexp1.html.

dmoz.org. http://dmoz.org/Computers/Programming/Languages.

Freeman, T. L., and Chris Phillips. Parallel Numerical Algorithms. Prentice Hall, 1992. ISBN 0136515975.

Gamma, Erich, Richard Helm, Ralph Johnson, and John M. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994. ISBN 0201633612. (Русский перевод: Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — Спб.: Питер, 2007.)

442
{"b":"847443","o":1}