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

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

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

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


1. Современное программирование

1.1. Критерии качества

Каким бы ни был подход к созданию программного обеспечения, конечная программа должна удовлетворять некоторые требования. Чаще встречаются [источник не указан 305 дней] :

  • Эффективность / Производительность: количество ресурсов системы, потребляет программа (время процессора, размер памяти, внешняя память, ширина канала сети, а также взаимодействия с пользователем). Чем меньше ресурсов потребляется, тем лучше;
  • Надежность: вероятность того, что результат работы программы правильный. Это зависит от корректности алгоритмов и правильности кодирования;
  • Устойчивость: как программа решает проблемы в нестандартных ситуациях, например неправильные данные, недоступность необходимых ресурсов как например память, локальная сеть, и неправильные действия пользователя;
  • Удобство: эргономичность программы. Легкость, с которой лицо может использовать программу для своих целей;
  • Переносимость: диапазон аппаратного обеспечения и операционных систем на которых можно компилировать или интерпретировать код программы, выполняя ее. Это зависит от различий в программных ресурсах предоставленных различными платформами, включая ресурсы, наличие компиляторов и библиотек для языка программирования;
  • Масштабируемость: Простота дальнейшего сопровождения программы, т.е. внесение в нее дополнительных усовершенствований, увеличивающих функциональность или исправляют ошибки. Этот критерий не имеет прямого отношения к пользователю, но влияет на время, в течение которого программа будет использоваться.

1.2. Уровни программирования

Успешное программирование предусматривает выполнение необходимых действий на таких уровнях [ Источник? ]

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

2. Язык программирования

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

3. Теория программирования

Связанная с изучением программирования в общем контексте информатики как научной дисциплины.

См.. также

Спортивное (олимпиадное) программирования

4.1.2. Ресурсы интернета


Литература

  • Зубенко В.В. Программирование: учебное пособие (гриф МОН Украины) / В.В. Зубенко, Л.Л. Омельчук. - М.: ИПЦ "Киевский университет", 2011. - 623 c.
  • Никитченко Н.С. Теоретические основы программирования: учебное пособие / М.С. Никитченко - Нежин: Издательство НГУ имени Николая Гоголя, 2010. - 121с.
  • Лавров С.С. Програмирование. Математические основы, средства, теория / С.С. Лавров. - СПб. : БХВ-Петербург, 2001. - 251с.
  • Непейвода Н.Н. Основания програмирования: учеб. пособие / Н.Н. Непейвода, И.Н. Скопин. - Ижевск, 2003. [1]


Компьютер Это незавершенная статья о компьютеры.
Вы можете помочь проекту, исправив и дополнив ее.