Руководства, Инструкции, Бланки

Инструкция Программиста Пример img-1

Инструкция Программиста Пример

Категория: Инструкции

Описание

Инструментальное программное обеспечение - Студопедия

Инструментальное программное обеспечение

Инструмента́льное програ́ммное обеспе́чение — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения.

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

Язык программирования - формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.

Языки программирования подразделяются на низкоуровневые и высокоуровневые языки.

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

Как правило, использует особенности конкретного семейства процессоров. Общеизвестный пример низкоуровнего языка - язык ассемблера .

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

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

Наиболее распространёнными языками подобного типа являются C++. Visual Basic. Java. Python. Ruby. Perl. Delphi. PHP .

Языки программирования также можно разделить на компилируемые и интерпретируемые .

Программа на компилируемом языке при помощи специальной программы компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполняемый файл, который может быть запущен на выполнение как отдельная программа. Другими словами, компилятор переводит программу с языка высокого уровня на низкоуровневый язык, понятный процессору.

Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) её текст без предварительного перевода. При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора. Можно сказать, что процессор компьютера - это интерпретатор машинного кода.

Кратко говоря, компилятор переводит программу на машинный язык сразу и целиком, создавая при этом отдельную программу, а интерпретатор переводит на машинный язык прямо во время исполнения программы.

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

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

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

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

Некоторые языки, например, Java и C#. находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation ). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine ), для C# - Common Language Runtime .

Классы языков программирования. Условно, языки программирования можно разделить на следующие классы (рис. 2.).

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

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

· краткость и простота;

· функции - объекты вычисления;

· чистота (отсутствие побочных эффектов);

· отложенные (ленивые) вычисления.

Рис. 2. Классы языков программирования

Примеры языков функционального программирования: Лисп, Haskell, Clean, ML и др.

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

Примеры процедурных языков программирования: Ада, Бейсик, Си, Си++, Паскаль, Visual Basic, Dilphi и др.

Язык описания интерфейсов или IDL (англ. Interface Description Language ) - чисто описательный компьютерный язык, синтаксически похожий на C++.

Примеры языков описания интерфейсов: CORBA IDL (разработан OMG для описания интерфейсов распределённых объектов - названий методов и типов переменных-аргументов), COM IDL (аналогичная CORBA IDL разработка Microsoft, созданная для описания интерфейсов между модулями COM).

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

Наследование. Создание нового класса объектов путём добавления новых элементов (методов). В данный момент ОО языки позволяют выполнять множественное наследование, т.е. объединять в одном классе возможности нескольких других классов.

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

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

Типизация. Позволяет устранить многие ошибки на момент компиляции, операции проводятся только над объектами подходящего типа.

Примеры ОО-языков программирования: Си++, Delphi (Object Pascal), С#, Java и др.

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

Скриптовый язык (англ. scripting language. также называют язык сценариев ) - язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages ). Сценарии всегда интерпретируются, а не компилируются.

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

Примеры скриптовых языков программирования: VBA (Visual Basic Application), AutoLISP, 3DMAX Script, JCL, JavaScript и др.

В настоящее время, широкое использование компьютерных систем с кластерными и GRID-архитектурами поставило задачу создания высокоуровневых, мощных и лёгких для использования языков программирования, которые бы позволили создавать сложные, но в то же время быстрые приложения, эффективно использующие параллельные вычисления. Одним из таких языков в настоящее время является MC# (высокоуровневый объектно-ориентированный язык программирования для платформы .NET, поддерживающий создание программ, работающих в распределённой среде с асинхронными вызовами).

Вопросы для самопроверки:

1. Программное обеспечение.

2. Базовый уровень.

3. Системный уровень программного обеспечения.

4. Служебный уровень программного обеспечения.

5. Прикладной уровень программного обеспечения.

6. Что называется драйверами устройств?

7. Что называется утилитами?

8. Дайте определение языка программирования.

9. Что такое интерпретатор?

10. Что такое компилятор?

11. Приведите примеры языков программирования низкого и высокого уровней, в чём их отличие?

12. Какие классы языков программирования можно выделить? Приведите примеры для каждого класса.

13. Назовите основные свойства функциональных языков программирования

14. Назовите какие методы используются в современных объектно-ориентированных языках программирования.

15. Что такое сценарий (скрипт)?

© studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам

Другие статьи

Служебная инструкция инженера-программиста iii категории

Служебная инструкция инженера-программиста iii категории Служебные обязанности инженера-программиста iii категории
  1. На основе анализа математических моделей и алгоритмов решения экономических и других задач разрабатывает программы, обеспечивающие возможность выполнения алгоритма и соответственно поставленной задачи средствами вычислительной техники, проводит их тестирование и отладку.
  2. Разрабатывает технологию решения задачи по всем этапам обработки информации.
  3. Осуществляет выбор языка программирования для описания алгоритмов и структур данных.
  4. Определяет информацию, подлежащую обработке средствами вычислительной техники, ее объемы, структуру, макеты и схемы ввода, обработки, хранения и вывода, методы ее контроля.
  5. Выполняет работу по подготовке программ к отладке и проводит отладку.
  6. Определяет объем и содержание данных контрольных примеров, обеспечивающих наиболее полную проверку соответствия программ их функциональному назначению.
  7. Осуществляет запуск отлаженных программ и ввод исходных данных, определяемых условиями поставленных задач.
  8. Проводит корректировку разработанной программы на основе анализа выходных данных.
  9. Разрабатывает инструкции по работе с программами, оформляет необходимую техническую документацию.
  10. Определяет возможность использования готовых программных продуктов.
  11. Осуществляет сопровождение внедренных программ и программных средств.
  12. Разрабатывает и внедряет системы автоматической проверки правильности программ, типовые и стандартные программные средства, составляет технологию обработки информации.
  13. Выполняет работу по унификации и типизации вычислительных процессов.
  14. Принимает участие в создании каталогов и картотек стандартных программ, в разработке форм документов, подлежащих машинной обработке, в проектировании программ, позволяющих расширить область применения вычислительной техники.
Необходимые навыки и знания инженера-программиста iii категории
  1. руководящие и нормативные материалы, регламентирующие методы разработки алгоритмов и программ и использования вычислительной техники при обработке информации;
  2. основные принципы структурного программирования;
  3. виды программного обеспечения;
  4. технико-эксплуатационные характеристики, конструктивные особенности, назначение и режимы работы ЭВМ, правила ее технической эксплуатации;
  5. технологию автоматической обработки информации;
  6. виды технических носителей информации;
  7. методы классификации и кодирования информации;
  8. формализованные языки программирования;
  9. действующие стандарты, системы счислений, шифров и кодов;
  10. порядок оформления технической документации;
  11. передовой отечественный и зарубежный опыт программирования и использования вычислительной техники;
  12. основы экономики, организации производства, труда и управления;
  13. основы трудового законодательства;
  14. правила и нормы охраны труда.
Требования к квалификации инженера-программиста iii категории
  1. высшее профессиональное (техническое или инженерно-экономическое) образование и опыт работы по специальности, приобретенный в период обучения, или стаж работы на инженерно-технических должностях без квалификационной категории.

Уважаемые посетители сайта, информируем о том, что ИП Дудник Е.В. работает без привлечения наемных работников.
Информация о вакансиях и наборе сотрудников, размещенная от имени ИП Дудник Е.В. является ложной и размещена без ведома ИП Дудник Е.В.

Обращаться к ИП Дудник Е.В. можно исключительно по контактам, указанным на настоящем сайте.

Образец документа

программиста предприятия торговли

1. ОБЩИЕ ПОЛОЖЕНИЯ

1.1. Настоящая должностная инструкция определяет функциональные обязанности, права и ответственность программиста "________" (далее - "организация").

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

1.3. Программист подчиняется непосредственно ______________.

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

1.5. Программист должен владеть компьютером на профессиональном уровне, в том числе уметь использовать и создавать специальные компьютерные программы.

1.6. Программист должен знать:

- законы, постановления, распоряжения, приказы, другие руководящие документы и нормативные акты, касающиеся работы предприятия торговли;

- законодательство о труде;

- правила внутреннего трудового распорядка;

- правила и нормы охраны труда;

- правила техники безопасности, производственной санитарии и гигиены, противопожарной безопасности, гражданской обороны.

1.7. Программист должен обладать коммуникабельностью, должен быть энергичен и позитивно настроен.

2. ФУНКЦИОНАЛЬНЫЕ ОБЯЗАННОСТИ

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

2.1.2. Разрабатывает технологию решения задачи по всем этапам обработки информации.

2.1.3. Осуществляет выбор языка программирования для описания алгоритмов и структур данных.

2.1.4. Определяет информацию, подлежащую обработке средствами вычислительной техники, ее объемы, структуру, макеты и схемы ввода, обработки, хранения и вывода, методы ее контроля.

2.1.5. Выполняет работу по подготовке программ к отладке и проводит их отладку.

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

2.1.7. Осуществляет запуск отлаженных программ и ввод исходных данных, определяемых условиями поставленных задач.

2.1.8. Проводит корректировку разработанной программы на основе анализа выходных данных.

2.1.9. Определяет возможность использования готовых программных продуктов.

2.1.10. Разрабатывает инструкции по работе с программами, оформляет необходимую техническую документацию.

2.1.11. Осуществляет сопровождение внедренных программ и программных средств.

2.1.12. Разрабатывает и внедряет системы автоматической проверки правильности программ.

2.1.13. Выполняет работу по унификации и типизации вычислительных процессов.

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

2.1.15. Обеспечивает правильную техническую эксплуатацию, бесперебойную работу компьютеров и отдельных устройств.

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

2.1.17. Осуществляет подготовку компьютеров и отдельных устройств к работе, их технический осмотр, проводит проверку наличия неисправностей, устраняет неисправности и предотвращает появление неисправностей в будущем.

2.1.18. Принимает меры по своевременному и качественному выполнению ремонта компьютеров и отдельных устройств своими силами или силами третьих лиц.

2.1.19. Принимает участие в проведении инвентаризаций.

2.1.20. Должен беречь имущество организации, не разглашать информацию и сведения, являющиеся коммерческой тайной организации.

2.1.21. Не дает интервью, не проводит встречи и переговоры, касающиеся деятельности предприятия, без разрешения руководства организации.

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

2.1.23. Исполняет распоряжения и приказы руководителя организации.

2.1.24. Информирует руководство об имеющихся недостатках в работе организации, принимаемых мерах по их ликвидации.

2.1.25. Способствует созданию благоприятного делового и морального климата в организации.

3.1. Программист имеет право:

3.1.1. Требовать от руководства организации оказания содействия в исполнении своих должностных обязанностей.

3.1.2. Повышать свою квалификацию.

3.1.3. Знакомиться с проектами решений руководства организации, касающимися его деятельности.

3.1.4. Представлять на рассмотрение своего непосредственного руководителя предложения по вопросам своей деятельности.

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

4.1. Программист несет ответственность:

4.1.1. За неисполнение или ненадлежащее исполнение своих обязанностей, предусмотренных настоящей должностной инструкцией, - в соответствии с действующим трудовым законодательством.

4.1.2. За правонарушения, совершенные в период осуществления своей деятельности, - в соответствии с действующим гражданским, административным и уголовным законодательством.

4.1.3. За причинение материального ущерба - в соответствии с действующим законодательством.

4.1.4. За нарушение правил внутреннего трудового распорядка, правил противопожарной безопасности и техники безопасности, установленных в организации.

5. УСЛОВИЯ РАБОТЫ

5.1. Режим работы программиста определяется в соответствии с правилами внутреннего трудового распорядка, установленными в организации.

Должностная инструкция веб-программиста (web-программиста)

Должностная инструкция веб-программиста (web-программиста) Должностная инструкция веб-программиста (web-программиста)

1.1. Веб-программист относится к категории специалистов.
1.2. Веб-программист назначается на должность и освобождается от должности в установленном действующим трудовым законодательством порядке приказом генерального директора.
1.3. Веб-программист подчиняется непосредственно техническому директору департамента интернет - проектов.
1.4. Веб-программист должен владеть компьютером на уровне продвинутого пользователя.
1.5. В своей деятельности веб-программист руководствуется:
- Трудовым кодексом РФ;
- уставом компании;
- Правилами внутреннего трудового распорядка;
- приказами (указаниями) прямого руководства.
1.6. Веб-программист должен знать:
- протоколы и принципы функционирования сети Интернет;
- распространенные веб-браузеры;
- язык HTML, CSS, JavaScript;
- операционную систему, под управлением которой работает веб-сервер (*nix);
- основы веб-дизайна;
- графические программы (Adobe Photoshop);
- языки программирования (PHP, SQL, JavaScript), стандарты HTTP, сервер БД (PostgreSQL, MySQL);
- технику владения нюансами программирования в многозадачной, высоконагруженной системе;
- основы обеспечения комплексной безопасности веб-сервера;
- грамматику и стилистику русского языка;
- английский язык на уровне чтения документации;
- правила и нормы охраны труда, техники безопасности, производственной санитарии и противопожарной защиты.
1.7. На время отсутствия веб-программиста (отпуск, болезнь, пр.) его обязанности выполняет лицо, назначенное в установленном порядке. Данное лицо приобретает соответствующие права и несет ответственность за надлежащее исполнение возложенных на него обязанностей.

2. Должностные обязанности веб-программиста

Веб-программист:
2.1. Определяет вместе с непосредственным руководителем цели и задачи проекта и обеспечивает их своевременное и качественное исполнение.
2.2. Осуществляет выбор среды разработки, языков программирования, необходимого программного обеспечения.
2.3. Разрабатывает концепцию развития веб-сервера.
2.4. Осуществляет администрирование веб-сервера (при необходимости).
2.5. Осуществляет взаимодействия с сотрудниками других отделов для выполнения совместных задач.
2.6. Поддерживает порядок на своем рабочем месте.

3. Права веб-программиста

Веб-программист имеет право:
3.1. Устанавливать авторство на собственные разработки.
3.2. Засчитывать художественно-оформительские решения в свой личный портфолио как авторские разработки.
3.3. Устанавливать порядок и вид предоставления информации для размещения на веб-сервере.
3.4. Требовать от руководства организации обеспечения организационно-технических условий, необходимых для исполнения должностных обязанностей (в т.ч. удобное рабочее место, современный рабочий компьютер достаточного быстродействия и оснащения, необходимое программное обеспечение, выделенный доступ в сеть Интернет).
3.5. Требовать от непосредственного руководителя и вышестоящего руководства оказания содействия в выполнении задач, функций и должностных обязанностей.
3.6. Знакомиться с документами, определяющими его права и обязанности по занимаемой должности, критерии оценки качества исполнения должностных обязанностей.
3.7. Вносить на рассмотрение руководства организации предложения по совершенствованию работы, связанной с предусмотренными настоящей должностной инструкцией обязанностями.
3.8. В рамках выделенного бюджета приобретать необходимую литературу и специализированное программное обеспечение.

4. Ответственность веб-программиста

Веб-программист привлекается к ответственности:
4.1. За ненадлежащее исполнение или неисполнение своих должностных обязанностей, предусмотренных настоящей должностной инструкцией, — в пределах, установленных действующим трудовым законодательством Российской Федерации.
4.2. За правонарушения, совершенные в процессе своей деятельности, — в пределах, установленных действующим административным, уголовным и гражданским законодательством Российской Федерации.
4.3. За причинение материального ущерба организации — в пределах, установленных действующим трудовым и гражданским законодательством Российской Федерации.
4.4. Нарушение трудовой дисциплины и несоблюдение внутренних правил трудовой деятельности – в пределах, определенных внутренними нормативными документами фирмы.