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

Поделись знанием:
Перейти к: навигация, поиск
Разработка программного обеспечения
Процесс разработки ПО
Шаги процесса

Анализ • Проектирование • Программирование • Документирование • Тестирование

Модели

Итеративная • Спиральная • Каскадная • V-Model • Dual Vee Model

Методологии

Agile (XP, Lean, Scrum, FDD и др.) • Cleanroom • OpenUP • RAD • RUP • MSF • DSDM • TDD

Сопутствующие дисциплины

Конфигурационное управление • Управление проектами • Управление требованиями

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

По известному выражению Никлауса Вирта «Программы = алгоритмы + структуры данных»[1] [2]; иными словами, ключевыми непосредственными задачами программирования являются создание и использование алгоритмов и структур данных.

В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения. Эта инженерно-техническая дисциплина называется «программная инженерия». Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

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

Текстовый редактор среды программирования может иметь специфичную функциональность, такую, как индексация имен, отображение документации, подсветка синтаксиса, средства визуального создания пользовательского интерфейса. С помощью текстового редактора программист производит набор и редактирование текста создаваемой программы, который называют исходным кодом. Язык программирования определяет синтаксис и изначальную семантику исходного кода.

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





История

Антикитерский механизм из Древней Греции был калькулятором, использовавшим шестерни различных размеров и конфигурации, обусловливавших его работу,[3] по отслеживанию метонова цикла, до сих пор использующегося в лунно-солнечных календарях.[4] Аль-Джазари построил программируемый автомат-гуманоид в 1206 году. Одна система, задействованная в этих устройствах, использовала зажимы и кулачки, помещённые в деревянный ящик в определённых местах, которые последовательно задействовали рычаги, которые, в свою очередь, управляли ударными инструментами.

Часто первым программируемым устройством принято считать жаккардовый ткацкий станок, построенный в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт.

Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочь великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили своё принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах. Однако ни одна из программ, написанных Адой Лавлейс, никогда так и не была запущена.

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

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

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

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

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

Напишите отзыв о статье "Программирование"

Примечания

  1. Вирт Н. Алгоритмы + структуры данных = программы. — М.: Мир, 1985;
  2. Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона + CD. М.: ДМК Пресс, 2010. ISBN 978-5-94074-584-6, 0-13-022005-9
  3. [news.nationalgeographic.com/news/2006/11/061129-ancient-greece.html Ancient Greek Computer’s Inner Workings Deciphered]. National Geographic News. November 29, 2006.
  4. Freeth, Tony; Jones, Alexander; Steele, John M.; Bitsakis, Yanis (July 31, 2008). «[www.nature.com/nature/journal/v454/n7204/full/nature07130.html Calendars with Olympiad display and eclipse prediction on the Antikythera Mechanism]». Nature 454 (7204): 614–617. DOI:10.1038/nature07130. PMID 18668103.

Литература

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.: Мир, 1978. — 275 с.
  • Бьярне Страуструп. Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++. — М.: Вильямс, 2011. — С. 1248. — ISBN 978-5-8459-1705-8.
  • Александр Степанов, Пол Мак-Джонс. Начала программирования = Elements of Programming. — М.: Вильямс, 2011. — С. 272. — ISBN 978-5-8459-1708-9.
  • Роберт У. Себеста. Основные концепции языков программирования / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — 672 с. — ISBN 5-8459-0192-8 (рус.) ISBN 0-201-75295-6 (англ.).
  • Иан Соммервилл. Инженерия программного обеспечения / Пер. с англ. — 6-е издание. — М.: Вильямс, 2002. — 624 с.
  • Иан Грэхем. Объектно-ориентированные методы. Принципы и практика / Пер. с англ. — 3-е изд. — М.: Вильямс, 2004. — 880 с.

Ссылки


Отрывок, характеризующий Программирование

– Ну, дай то вам Бог, князь, счастья большого, – сказала Матреша, с своим цыганским акцентом.
У крыльца стояли две тройки, двое молодцов ямщиков держали их. Балага сел на переднюю тройку, и, высоко поднимая локти, неторопливо разобрал вожжи. Анатоль и Долохов сели к нему. Макарин, Хвостиков и лакей сели в другую тройку.
– Готовы, что ль? – спросил Балага.
– Пущай! – крикнул он, заматывая вокруг рук вожжи, и тройка понесла бить вниз по Никитскому бульвару.
– Тпрру! Поди, эй!… Тпрру, – только слышался крик Балаги и молодца, сидевшего на козлах. На Арбатской площади тройка зацепила карету, что то затрещало, послышался крик, и тройка полетела по Арбату.
Дав два конца по Подновинскому Балага стал сдерживать и, вернувшись назад, остановил лошадей у перекрестка Старой Конюшенной.
Молодец соскочил держать под уздцы лошадей, Анатоль с Долоховым пошли по тротуару. Подходя к воротам, Долохов свистнул. Свисток отозвался ему и вслед за тем выбежала горничная.
– На двор войдите, а то видно, сейчас выйдет, – сказала она.
Долохов остался у ворот. Анатоль вошел за горничной на двор, поворотил за угол и вбежал на крыльцо.
Гаврило, огромный выездной лакей Марьи Дмитриевны, встретил Анатоля.
– К барыне пожалуйте, – басом сказал лакей, загораживая дорогу от двери.
– К какой барыне? Да ты кто? – запыхавшимся шопотом спрашивал Анатоль.
– Пожалуйте, приказано привесть.
– Курагин! назад, – кричал Долохов. – Измена! Назад!
Долохов у калитки, у которой он остановился, боролся с дворником, пытавшимся запереть за вошедшим Анатолем калитку. Долохов последним усилием оттолкнул дворника и схватив за руку выбежавшего Анатоля, выдернул его за калитку и побежал с ним назад к тройке.


Марья Дмитриевна, застав заплаканную Соню в коридоре, заставила ее во всем признаться. Перехватив записку Наташи и прочтя ее, Марья Дмитриевна с запиской в руке взошла к Наташе.
– Мерзавка, бесстыдница, – сказала она ей. – Слышать ничего не хочу! – Оттолкнув удивленными, но сухими глазами глядящую на нее Наташу, она заперла ее на ключ и приказав дворнику пропустить в ворота тех людей, которые придут нынче вечером, но не выпускать их, а лакею приказав привести этих людей к себе, села в гостиной, ожидая похитителей.
Когда Гаврило пришел доложить Марье Дмитриевне, что приходившие люди убежали, она нахмурившись встала и заложив назад руки, долго ходила по комнатам, обдумывая то, что ей делать. В 12 часу ночи она, ощупав ключ в кармане, пошла к комнате Наташи. Соня, рыдая, сидела в коридоре.
– Марья Дмитриевна, пустите меня к ней ради Бога! – сказала она. Марья Дмитриевна, не отвечая ей, отперла дверь и вошла. «Гадко, скверно… В моем доме… Мерзавка, девчонка… Только отца жалко!» думала Марья Дмитриевна, стараясь утолить свой гнев. «Как ни трудно, уж велю всем молчать и скрою от графа». Марья Дмитриевна решительными шагами вошла в комнату. Наташа лежала на диване, закрыв голову руками, и не шевелилась. Она лежала в том самом положении, в котором оставила ее Марья Дмитриевна.
– Хороша, очень хороша! – сказала Марья Дмитриевна. – В моем доме любовникам свидания назначать! Притворяться то нечего. Ты слушай, когда я с тобой говорю. – Марья Дмитриевна тронула ее за руку. – Ты слушай, когда я говорю. Ты себя осрамила, как девка самая последняя. Я бы с тобой то сделала, да мне отца твоего жалко. Я скрою. – Наташа не переменила положения, но только всё тело ее стало вскидываться от беззвучных, судорожных рыданий, которые душили ее. Марья Дмитриевна оглянулась на Соню и присела на диване подле Наташи.
– Счастье его, что он от меня ушел; да я найду его, – сказала она своим грубым голосом; – слышишь ты что ли, что я говорю? – Она поддела своей большой рукой под лицо Наташи и повернула ее к себе. И Марья Дмитриевна, и Соня удивились, увидав лицо Наташи. Глаза ее были блестящи и сухи, губы поджаты, щеки опустились.
– Оставь… те… что мне… я… умру… – проговорила она, злым усилием вырвалась от Марьи Дмитриевны и легла в свое прежнее положение.
– Наталья!… – сказала Марья Дмитриевна. – Я тебе добра желаю. Ты лежи, ну лежи так, я тебя не трону, и слушай… Я не стану говорить, как ты виновата. Ты сама знаешь. Ну да теперь отец твой завтра приедет, что я скажу ему? А?
Опять тело Наташи заколебалось от рыданий.
– Ну узнает он, ну брат твой, жених!
– У меня нет жениха, я отказала, – прокричала Наташа.
– Всё равно, – продолжала Марья Дмитриевна. – Ну они узнают, что ж они так оставят? Ведь он, отец твой, я его знаю, ведь он, если его на дуэль вызовет, хорошо это будет? А?
– Ах, оставьте меня, зачем вы всему помешали! Зачем? зачем? кто вас просил? – кричала Наташа, приподнявшись на диване и злобно глядя на Марью Дмитриевну.
– Да чего ж ты хотела? – вскрикнула опять горячась Марья Дмитриевна, – что ж тебя запирали что ль? Ну кто ж ему мешал в дом ездить? Зачем же тебя, как цыганку какую, увозить?… Ну увез бы он тебя, что ж ты думаешь, его бы не нашли? Твой отец, или брат, или жених. А он мерзавец, негодяй, вот что!
– Он лучше всех вас, – вскрикнула Наташа, приподнимаясь. – Если бы вы не мешали… Ах, Боже мой, что это, что это! Соня, за что? Уйдите!… – И она зарыдала с таким отчаянием, с каким оплакивают люди только такое горе, которого они чувствуют сами себя причиной. Марья Дмитриевна начала было опять говорить; но Наташа закричала: – Уйдите, уйдите, вы все меня ненавидите, презираете. – И опять бросилась на диван.
Марья Дмитриевна продолжала еще несколько времени усовещивать Наташу и внушать ей, что всё это надо скрыть от графа, что никто не узнает ничего, ежели только Наташа возьмет на себя всё забыть и не показывать ни перед кем вида, что что нибудь случилось. Наташа не отвечала. Она и не рыдала больше, но с ней сделались озноб и дрожь. Марья Дмитриевна подложила ей подушку, накрыла ее двумя одеялами и сама принесла ей липового цвета, но Наташа не откликнулась ей. – Ну пускай спит, – сказала Марья Дмитриевна, уходя из комнаты, думая, что она спит. Но Наташа не спала и остановившимися раскрытыми глазами из бледного лица прямо смотрела перед собою. Всю эту ночь Наташа не спала, и не плакала, и не говорила с Соней, несколько раз встававшей и подходившей к ней.
На другой день к завтраку, как и обещал граф Илья Андреич, он приехал из Подмосковной. Он был очень весел: дело с покупщиком ладилось и ничто уже не задерживало его теперь в Москве и в разлуке с графиней, по которой он соскучился. Марья Дмитриевна встретила его и объявила ему, что Наташа сделалась очень нездорова вчера, что посылали за доктором, но что теперь ей лучше. Наташа в это утро не выходила из своей комнаты. С поджатыми растрескавшимися губами, сухими остановившимися глазами, она сидела у окна и беспокойно вглядывалась в проезжающих по улице и торопливо оглядывалась на входивших в комнату. Она очевидно ждала известий об нем, ждала, что он сам приедет или напишет ей.
Когда граф взошел к ней, она беспокойно оборотилась на звук его мужских шагов, и лицо ее приняло прежнее холодное и даже злое выражение. Она даже не поднялась на встречу ему.
– Что с тобой, мой ангел, больна? – спросил граф. Наташа помолчала.
– Да, больна, – отвечала она.
На беспокойные расспросы графа о том, почему она такая убитая и не случилось ли чего нибудь с женихом, она уверяла его, что ничего, и просила его не беспокоиться. Марья Дмитриевна подтвердила графу уверения Наташи, что ничего не случилось. Граф, судя по мнимой болезни, по расстройству дочери, по сконфуженным лицам Сони и Марьи Дмитриевны, ясно видел, что в его отсутствие должно было что нибудь случиться: но ему так страшно было думать, что что нибудь постыдное случилось с его любимою дочерью, он так любил свое веселое спокойствие, что он избегал расспросов и всё старался уверить себя, что ничего особенного не было и только тужил о том, что по случаю ее нездоровья откладывался их отъезд в деревню.


Со дня приезда своей жены в Москву Пьер сбирался уехать куда нибудь, только чтобы не быть с ней. Вскоре после приезда Ростовых в Москву, впечатление, которое производила на него Наташа, заставило его поторопиться исполнить свое намерение. Он поехал в Тверь ко вдове Иосифа Алексеевича, которая обещала давно передать ему бумаги покойного.
Когда Пьер вернулся в Москву, ему подали письмо от Марьи Дмитриевны, которая звала его к себе по весьма важному делу, касающемуся Андрея Болконского и его невесты. Пьер избегал Наташи. Ему казалось, что он имел к ней чувство более сильное, чем то, которое должен был иметь женатый человек к невесте своего друга. И какая то судьба постоянно сводила его с нею.