Программирование

Материал из Циклопедии
Перейти к навигации Перейти к поиску
Что такое программирование и язык программирования? Просто о сложном // Alex Vydrin [11:22]

Программирование — процесс проектирования, написания, тестирования, отладки и поддержки компьютерных программ.

Общая информация[править]

Программирование сочетает в себе элементы инженерии (существует даже соответствующая специальная отрасль инженерии — программная инженерия (англ. software engineering), фундаментальных наук (прежде всего математики) и искусства

В более узком смысле программирование рассматривается как кодирование — реализация в виде программы одного или нескольких взаимосвязанных алгоритмов (в современных условиях это осуществляется с применением языков программирования). В более широком смысле процесс программирования охватывает и создание, то есть разработку, алгоритмов и анализ потребностей будущих пользователей программного обеспечения.

В широком смысле программирование используется в значении создания программы действий или алгоритмов и обучения людей или устройств действовать по алгоритмам.

Уровни программирования[править]

Успешное программирования предусматривает выполнение необходимых действий на следующих уровнях:

  • Экономический (бизнес-логика): Формирование требований к программному продукту с учетом привлекательности для пользователей, доходности для разработчика и имеющихся возможностей разработчика;
  • Структурный (архитектура): Создание перечня и взаимосвязей нужных модулей, графических и звуковых элементов, алгоритмов, баз данных, файлов, выбор языка программирования;
  • Детальный/Физический (кодирование): Реализация отдельных функций с использованием конструкций и операторов языка программирования, печати текста программы на клавиатуре.

Источники[править]

См. также[править]

Литература[править]

  • Лавров С. С. Програмирование. Математические основи, средства, теория / С. С. Лавров. — СПб. : БХВ-Петербург,2001. — 251с.
  • Непейвода Н. Н. Основания програмирования: учеб. пособие / Н. Н. Непейвода, И. Н. Скопин. — Ижевск, 2003.
 
Библиотека

Стандартная библиотекаПространство имёнФреймворкИнтерфейсAPI

Основные
термины

АлгоритмПсевдокодПерегрузка операторовВыражениеИнструкцияОперацияОтступКоличество строк кода

Подпрограмма

Соглашение об именованииМультиметодCallbackФункция высшего порядкаРекурсивная функцияОбобщённое программированиеОперандПараметрПолиморфизмПерегрузка процедур и функций

ООП

КлассКонструкторДеструкторИнкапсуляцияНаследованиеМножественное наследованиеМетодСборка мусораСсылка

Структуры
и типы данных

ДеревоСимвольный типЗаписьМножествоОчередьСписокСвязный списокСтекСвойствоСемафорМассивКучаАбстрактный тип данныхДинамический массив

Исходный
код

Категория Категория

 
Используемые
в разработке

Ада A+ APL Atlast Forth AWL Язык ассемблера ActionScript ABAP/4 AutoIt AWK BeanShell Бейсик Си Кобол C++ C# Clarion Clojure ColdFusion Common Lisp D dBase Delphi DuAL Eiffel Erlang Euphoria F# Форт Фортран Gambas Go Groovy HAL/S Haskell IBM PL/S Icon IridiumJava JavaScript Limbo Lua Модула-3 Object Pascal Objective-C OCaml Oz Parser Паскаль Компонентный Паскаль Perl Pixilang PHP PowerBASIC Python ПЛ/1 Пролог Qi Ruby Scala Scheme Seed7 Smalltalk SQL PL/SQL Tcl TouchDesigner Vala Visual Basic (.NET) • X-Robot

Академические

Agda Clean Curry Idris Лого ML Оберон Planning C РЕФАЛ Симула

IEC 61131-3

Instruction List ST FBD Ladder Diagram (LD) • SFC

Прочие

Алгол Алгол 68 Модула-2 Миранда Hope НОРМИН Санда

Эзотерические

HQ9+/HQ9++ • INTERCAL Brainfuck Befunge Malbolge Piet Spoon Unlambda Whitespace FALSE LOLCODE Глагол

Визуальные

G (LabVIEW) • Microsoft VPL Sikuli VisSim Алиса ДРАКОН Скретч

Прочее

ДинамическиеКомпилируемыеС ключевыми словами не на английском языке С C-style синтаксисом СинтаксисYoptaScript

Категория Языки программирования

 
Известные
деятели

Кент Бек Гради Буч Фред Брукс Barry Boehm Уорд Каннингем Оле-Йохан Даль Том Демарко Эдсгер Вибе Дейкстра Дональд Кнут Мартин Фаулер Чарльз Энтони Ричард Хоар Watts Humphrey Майкл Джексон Ивар Якобсон Craig Larman James Martin Мейер Бертран Дэвид Парнас Winston W. Royce James Rumbaugh Никлаус Вирт Эдвард Йордан Стив Макконнелл

Процесс

Анализ требований Проектирование Программирование Тестирование Внедрение Сопровождение Формальные методы Стадии разработки

Концепции

Моделирование данных Архитектура ПО Функциональная спецификация Язык моделирования Парадигма Методология Технологии Процесс разработки Качество Обеспечение качества Структурный анализ)

Направления

Программирование (Аспектно-ориентированное Объектно-ориентированное Проблемно-ориентированное) • Онтология Сервис-ориентированная архитектура Оценка затрат на разработку

Модели
разработки

Agile Cleanroom CASE Итеративная разработка RUP OpenUP RAD Scrum MSF Спиральная Каскадная XP V-Model Dual Vee Model DSDM

Другие
модели

CMM CMMI Данных Function model IDEF Информационная Metamodeling Object model View model UML

Прочее

Информатика Инженерия (Компьютерная Организационная) • История разработки ПО Документирование Управление (Конфигурационное Проектами Программами качеством) • Эргономика Системотехника Обратная разработка Версии