Программист

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

Перейти к: навигация, поиск

Программи́ст — профессия человека, занимающегося программированием.

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

Содержание

История

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

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

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

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

Квалификационные требования

В Российской Федерации, в соответствии с решением заседания от 5 июня 2006 года Совета по ИТ при Министре информационных технологий и связи РФ, при организационной поддержке Мининформсвязи РФ и Ассоциации Предприятий Компьютерных и Информационных Технологий (АП КИТ) [1]был выполнен проект, целью которого являлось формирование профессиональных стандартов по наиболее массовым и востребованным профессиям в области ИТ, описывающих должности, профессиональные компетенции, требования к уровням образования, стажу работы и сертификации в соответствии с квалификационными уровнями.

Финансовую поддержку и другую помощь проекту оказали ведущие компании ИТ-отрасли IBM, Intel, Microsoft, Яндекс, 1C и многие другие.

В результате работы были созданы Квалификационные требования (профессиональный стандарт) в области информационных технологий для профессии «Программист». [2]

Жизненный цикл информационной системы

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

Специализация программистов

Будучи специалистом, программист специализируется на предметной области, которая охватывает знания, навыки и умения, которыми способен качественно овладеть один человек-самоучка. Широта предметной области и качество навыков для программиста индивидуальны. Они зависят от трудового опыта, образования, интеллекта, врождённых наклонностей, силы воли, социальной отгороженности и конъюнктуры вакансий программистов. Ниже перечислены некоторые специализации программистов.

  • Программист C++.
  • Программист Delphi.
  • Веб-разработчик.
  • Программист .NET.
  • Java-программист.
  • Программист баз данных (SQL, языки работающие с базами данных: Visual FoxPro, FoxBase, Dbase, PL/SQL и другие).
  • Программист-тестировщик.
  • Программист-постановщик (Главный архитектор проекта).
  • Программист микроконтроллеров.

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

Инструменты программиста

  • IDE — интегрированная среда разработки, яркими примерами которой являются Microsoft Visual Studio (языки Visual Basic .NET, C++ и др.) и Delphi, которую изучают в ВУЗах РФ. В Linux/Unix-системах известны, прежде всего, свободные открытые инструментальные системы KDevelop и Eclipse (обе поддерживают несколько языков программирования: Java, C++, Python и др.), которые позволяют разрабатывать программы как для Windows, так и для Linux.
  • SDK — Software Development Kit — набор программ, необходимых для разработки ПО на определённом языке программирования.
  • DDK — Driver Development Kit — набор программ, необходимый для разработки драйверов.

Программы, обычно входящие в SDK:

  • Компилятор — транслирует исходный код, понятный программисту, в машинный язык, понятный процессору, виртуальной машине или интерпретатору, которые непосредственно исполняют код программы.
  • Отладчик (дебаггер от англ. debug — отладка) — позволяет выполнять программу пошагово. На каждом шагу программист может посмотреть текущие значения переменных, стека.
  • Компоновщик (линкер от англ. link — соединять) — собирает откомпилированные файлы и статические библиотеки в исполняемый файл, структура которого понятна операционной системе
  • Профайлер — помогает оптимизировать код, выясняя какая его часть отнимает наибольшее время (эмпирическое правило гласит 10% код занимают 90% времени выполнения программы).

Сленг

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

Анекдоты про программистов

Также про программистов и хакеров есть много анекдотов, в которых высмеивается их оторванность от жизненных реалий и склонность следовать алгоритмам и в жизни.

См. также


Личные инструменты

Served in 0.176 secs.