Программист

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Программисты в офисе «Яндекса».

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

Место программирования в обществе[править | править вики-текст]

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

Образование[править | править вики-текст]

Как основная профессиональная деятельность программирование используется в технической и в научной областях.

В технике выделяются средняя техническая квалификация техник-программист (ранее «программист-лаборант») и высшая техническая квалификация инженер-программист. Предметом деятельности специалистов с соответствующей квалификацией (техников и инженеров) является проектирование, разработка и производство программного обеспечения, как промышленной продукции, удовлетворяющей заданным функциональным, конструктивным и технологическим требованиям (результатом деятельности является программное обеспечение). В России подготовка инженеров-программистов ведётся по профилю подготовки «Программное обеспечение вычислительной техники и автоматизированных систем» направления «Информатика и вычислительная техника»[2].

Существует подготовка математиков-программистов по направлению «Математическое обеспечение и администрирование информационных систем»[3].

В конце 2000-х в России появилось новое направление подготовки программистов «Программная инженерия»[4]. Областью профессиональной деятельности выпускников по этому направлению является индустриальное производство программного обеспечения. Данное направление подготовки отличается от подготовки инженеров-программистов по профилю «Программное обеспечение вычислительной техники и автоматизированных систем» тем, что общеинженерные дисциплины заменены дисциплинами из новой области знания инженерия программного обеспечения. Объектами профессиональной деятельности инженеров по производству программного обеспечения являются не программы и программные комплексы, а методы и инструменты разработки программного продукта, а также процессы жизненного цикла программного продукта.

Предметом деятельности программистов в науке является решение задач с применением методов прикладной математики и реализацией на ЭВМ (результатом деятельности является полученное при помощи программы решение задачи).

В России подготовка специалистов в этой области ведется по следующим направлениям:

  • 010300 «Фундаментальная информатика и информационные технологии»
  • 010400 «Прикладная математика и информатика»
  • 080500 «Бизнес-информатика»
  • 090900 «Информационная безопасность»
  • 230100 «Информатика и вычислительная техника»[2]
  • 230400 «Информационные системы и технологии»
  • 230700 «Прикладная информатика»
  • 231000 «Программная инженерия»[4]

Как вспомогательная деятельность программирование в настоящее время используется в широчайшем круге профессий.

Самообразование[править | править вики-текст]

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

Словоупотребление[править | править вики-текст]

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

По ошибке программистами порой называют системных администраторов и других специалистов ИТ.

Прикладные и системные программисты[править | править вики-текст]

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

История[править | править вики-текст]

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

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

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

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

Однако ни одна из программ, написанных Адой Лавлейс, никогда так и не была запущена.

Аду Августу, графиню Лавлейс, принято считать почётным первым программистом (хотя, конечно, написание одной программы по современным меркам не может считаться родом занятий или профессиональной деятельностью). История сохранила её имя в названии универсального языка программирования «Ада».

Первый работающий программируемый компьютер (1941 год), первые программы для него, а также (с определёнными оговорками) первый язык программирования высокого уровня Планкалкюль создал немецкий инженер Конрад Цузе.

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

Профессиональный праздник[править | править вики-текст]

В 2009 году в России официально утверждён день программиста, который ежегодно празднуется 13 сентябрявисокосный год — 12 сентября) — то есть празднование Дня Программиста приходится на 256 день года. Это число не случайно: оно получается от возведения двойки в восьмую степень. Именно такое количество чисел можно выразить с помощью одного восьмиразрядного байта.[6]

Интересные факты[править | править вики-текст]

  • Про программистов и хакеров есть много анекдотов, в которых высмеивается их оторванность от жизненных реалий и склонность следовать алгоритмам и в жизни[7].
  • На ежегодно проводимом международном чемпионате по программированию ACM ICPC команды, представляющие российские и украинские вузы, традиционно занимают призовые места, а чемпионами становились в общей сложности больше шести раз[8][9][10].
  • В английском сленге существует слово «Сongrammer» — недобросовестный программист, который не интересуется документацией по проектам, вследствие чего часто делает ошибки в исходном коде.[11]

Примечания[править | править вики-текст]

  1. Толковый словарь по вычислительным системам/Под ред. В. Иллингуорта и др. — М.: Машиностроение, 1989. 568 с ISBN 5-217-00617-X (перевод словаря издательства Oxford University Press)
  2. 1 2 Образовательный стандарт по направлению «Информатика и вычислительная техника»
  3. Образовательный стандарт по направлению «Математическое обеспечение и администрирование информационных систем»
  4. 1 2 Образовательный стандарт по направлению «Программная инженерия»
  5. Профессиональные стандарты в области ИТ. Ассоциация предприятий компьютерных и информационных технологий. Проверено 20 марта 2010. Архивировано из первоисточника 23 августа 2011.
  6. Указ Президента РФ от 11 сентября 2009 г. N 1034 «О Дне программиста». Гарант (11 сентября 2009). Проверено 23 мая 2011. Архивировано из первоисточника 23 августа 2011.
  7. Олег Леденев. Компьютерные анекдоты. ООО «Игромедиа». Проверено 1 ноября 2013. Архивировано из первоисточника 16 августа 2013.
  8. Денис Легезо. Россия - снова чемпион мира по программированию. CNews:Бизнес (23 апреля 2009). Проверено 20 марта 2010. Архивировано из первоисточника 23 августа 2011.
  9. Официальная таблица результатов чемпионат мира по программированию ACM ICPC — 2010 (англ.). ICPC. Проверено 20 марта 2010. Архивировано из первоисточника 23 августа 2011.
  10. Мейрамбек Жапаров. Пять российских и одна украинская команда стали призёрами Чемпионата Мира по программированию(недоступная ссылка — история) (15 февраля 2010).
  11. Сongrammer на Zelebober.Dictionary

Литература[править | править вики-текст]