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

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску

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

В узком смысле слова, программирование рассматривается как кодирование алгоритмов на заданном языке программирования. Под программированием также может пониматься разработка логической схемы для ПЛИС, а также процесс записи информации в ПЗУ. В более широком смысле программирование — процесс создания программ, то есть разработка программного обеспечения.

Программирование включает в себя:

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

Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.

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

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

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp[1], Java, Perl, Python.

Программные средства

Файл:Screenshot-vim2.png
Скриншот фрагмента кода на языке Java в текстовом редакторе vi, демонстрирующий подсветку синтаксиса, поддержку Unicode, фолдинг

Программные средства, используемые при разработке программ делятся на системные и инструментальные, лицензионные и свободно распространяемые. В системном обеспечении основными являются операционные системы, инструментальные средства и технологии Windows, Mac OS X и Linux и прочих операционных систем.

Свободно распространяемые инструментальные средства можно устанавливать и использовать на любых компьютерах с операционными системами семейства Windows, Mac OS X и Linux. На олимпиадах по информатике и программированию с успехом используются только свободно распространяемые инструментальные средства в среде Windows, Mac OS X и Linux, позволяющие разрабатывать программное обеспечение без ошибок. На олимпиадах по программированию последние годы использовались языки программирования Pascal, C/C++ и Java.

Для ведения документации при разработках программ вполне могут использоваться лицензионные и свободно распространяемые офисные пакеты программ Open Office и Microsoft Office. Файлы документации, создаваемые в лицензионных и свободно распространяемых офисных, информационно совместимы.

Примечания

Литература

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.: Мир, 1978. — С. 275.
  • Роберт В Себеста «Основные концепции языков программирования», 5-е издание : Пер. с англ. — М. : 2001. — 672 стр. с ил., «Вильямс»
  • Иан Соммервилл «Инженерия программного обеспечения», 6-е издание : Пер. с англ. — М. : 2002. — 624 стр. с ил., «Вильямс»
  • Иан Грэхем «Объектно-ориентированные методы. Принципы и практика», 3-е издание : Пер. с англ. — М. : 2004. — 880 стр. с ил., «Вильямс»

См. также