Программист
Программи́ст — специалист, занимающийся написанием и корректировкой программ для компьютеров[1] (любых вычислительных устройств), то есть программированием.
Место программирования в обществе
Программирование как род занятий может являться основной профессиональной деятельностью специалиста, либо использоваться в качестве вспомогательной деятельности для решения иных профессиональных задач, либо же использоваться в непрофессиональной сфере (как инструмент решения задач или ради получения удовольствия от процесса программирования). Термин «программист» не обязательно подразумевает профессиональное образование или профессиональную деятельность.
Образование
зированных систем» направления «Информатика и вычислительная техника»[2].
Существует подготовка математиков-программистов по направлению «Математическое обеспечение и администрирование информационных систем»[3].
В конце 2000-х в России появилось новое направление подготовки программистов «Программная инженерия»[4]. Областью профессиональной деятельности выпускников по этому направлению является индустриальное производство программного обеспечения. Данное направление подготовки отличается от подготовки инженеров-программистов по профилю «Программное обеспечение вычислительной техники и автоматизированных систем» тем, что общеинженерные дисциплины заменены дисциплинами из новой области знания инженерия программного обеспечения. Объектами профессиональной деятельности инженеров по производству программного обеспечения являются не программы и программные комплексы, а методы и инструменты разработки программного продукта, а также процессы жизненного цикла программного продукта.
Предметом деятельности программистов в науке является решение задач с применением методов прикладной математики и реализацией на ЭВМ (результатом деятельности является полученное при помощи программы решение задачи). В России ведётся подготовка специалистов по специальностям 010200 «Прикладная математика и информатика» и 073000 «Прикладная математика».
Как вспомогательная деятельность программирование в настоящее время используется в широчайшем круге профессий.
Самообразование
В связи со значительным распространением в современном обществе вычислительной техники и, соответственно, программирования как рода деятельности в настоящее время потребность в профессиональных программистах в развитых странах и странах третьего мира (в том числе в России) значительно превосходит возможности высшего образования по подготовке на соответствующих специальностях, при этом предъявляемые квалификационные требования в бизнесе в большинстве случаев значительно у́же, чем подготовка по специальности в вузе (см. напр.[5]). В связи с этим, очень широко распространено самообразование программистов и профессиональная деятельность в области программирования без получения формального образования по соответствующей специальности.
Словоупотребление
Как указано выше, с точки зрения корректной терминологии человек может иметь (например) род занятий «программист», квалификацию «инженер-программист», специальность «программное обеспечение вычислительной техники и автоматизированных систем» и должность «ведущий специалист». В разговорной речи, однако, слово «программист» нередко употребляется применительно ко всем этим понятиям.
По ошибке программистами порой называют системных администраторов и других специалистов ИТ.
Прикладные и системные программисты
В настоящее время, как и ране широко применяется классификация программистов на прикладных и системных. Прикладным называется программист, программы которого предназначены для решения прикладной задачи, удовлетворяющей потребности конечного пользователя и, по замыслу классификации, лежащей вне компьютерной сферы. Системным называется программист, программы которого предназначены для обеспечения работы компьютера и используются другими компьютерными специалистами.
Прикладных программистов в свою очередь можно разделить еще на две подгруппы, это Web специалисты (не только программисты но и верстальщики) и специалисты по разработке ПО.
История
Возникновение программирования как рода занятий и, особенно, как профессиональной деятельности трудно датировать однозначно.
Часто первым программируемым устройством принято считать жаккардовый ткацкий станок, построенный в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт.
Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарльз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочка великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости.
В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах.
Однако ни одна из программ, написанных Адой Лавлейс, никогда так и не была запущена.
Аду Августу, графиню Лавлейс, принято считать почётным первым программистом (хотя, конечно, написание одной программы по современным меркам не может считаться родом занятий или профессиональной деятельностью). История сохранила её имя в названии универсального языка программирования «Ада».
Первый работающий программируемый компьютер (1941 год), первые программы для него, а также (с определёнными оговорками) первый язык программирования высокого уровня Планкалкюль создал немецкий инженер Конрад Цузе.
Имена людей, впервые начавших профессионально выполнять работу собственно по программированию (в отрыве от наладки аппаратуры компьютера), история не сохранила, так как поначалу программирование рассматривалось как второстепенная наладочная операция.
Профессиональный праздник
В 2009 году в России официально утвержден день программиста, который ежегодно празднуется 13 сентября (в високосный год — 12 сентября) — то есть празднование Дня Программиста приходится на 256 день года. Это число не случайно: оно получается от возведения двойки в восьмую степень. Именно такое количество чисел можно выразить с помощью одного восьмиразрядного байта.[6]
Интересные факты
- Про программистов и хакеров есть много анекдотов, в которых высмеивается их оторванность от жизненных реалий и склонность следовать алгоритмам и в жизни.
- На ежегодно проводимом международном чемпионате по программированию ACM ICPC команды, представляющие российские и украинские вузы, традиционно занимают призовые места, а чемпионами становились в общей сложности больше шести раз[7][8][9].
Примечания
- ↑ Толковый словарь по вычислительным системам/Под ред. В. Иллингуорта и др. — М.: Машиностроение, 1989. 568 с ISBN 5-217-00617-X (перевод словаря издательства Oxford University Press)
- ↑ http://www.edu.ru/db-mon/mo/Data/d_09/m553.html | Ссылка на образовательный стандарт по направлению «Информатика и вычислительная техника»
- ↑ http://www.edu.ru/db-mon/mo/Data/d_09/m713.html | Ссылка на образовательный стандарт по направлению «Математическое обеспечение и администрирование информационных систем»
- ↑ http://www.edu.ru/db-mon/mo/Data/d_09/m542.html | Ссылка на образовательный стандарт по направлению «Программная инженерия»
- ↑ Профессиональные стандарты в области ИТ . Ассоциация предприятий компьютерных и информационных технологий. Дата обращения: 20 марта 2010. Архивировано 23 августа 2011 года.
- ↑ Указ Президента РФ от 11 сентября 2009 г. N 1034 «О Дне программиста» . Гарант (11 сентября 2009). Дата обращения: 23 мая 2011. Архивировано 23 августа 2011 года.
- ↑ Денис Легезо. Россия - снова чемпион мира по программированию . CNews:Бизнес (23 апреля 2009). Дата обращения: 20 марта 2010. Архивировано 23 августа 2011 года.
- ↑ Официальная таблица результатов чемпионат мира по программированию ACM ICPC — 2010 (англ.). ICPC. Дата обращения: 20 марта 2010. Архивировано 23 августа 2011 года.
- ↑ Мейрамбек Жапаров. Пять российских и одна украинская команда стали призёрами Чемпионата Мира по программированию (15 февраля 2010).
Литература
- Ивановский С. А., Лисс А. Р., Романцев В. В., Экало А. В. Профессиональная подготовка программистов в рамках специальностей и направлений государственных образовательных стандартов
- Государственный образовательный стандарт высшего профессионального образования. Государственные требования к минимуму содержания и уровню подготовки выпускника по специальности 220400 — Программное обеспечение вычислительной техники и автоматизированных систем