Программирование
Материал из Википедии — свободной энциклопедии
| Эта статья должна быть полностью переписана.
На странице обсуждения могут быть пояснения.
|
| Процесс разработки ПО | |
| Шаги процесса | |
|---|---|
|
Анализ | Проектирование | Реализация | Тестирование | Внедрение | Сопровождение |
|
| Модели / Методы | |
|
Agile | Cleanroom | Итеративная | RAD | Scrum | RUP | OpenUP | MSF | Спиральная | Водопад | XP |
|
| Сопутствующие дисциплины | |
|
Конфигурационное управление | Документирование | Управление проектами |
|
Программи́рование — процесс и искусство создания компьютерных программ и/или программного обеспечения с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика), инженерии, спорта и ремесла.
В узком смысле слова, программирование рассматривается как кодирование алгоритмов на заданном языке программирования. Под программированием также может пониматься разработка логической схемы для ПЛИС, а также процесс записи информации в ПЗУ. В более широком смысле программирование — процесс создания программ, то есть разработка программного обеспечения.
Программирование включает в себя:
- Анализ
- Проектирование — разработка комплекса алгоритмов
- Кодирование и компиляцию — написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора
- Тестирование и отладку — выявление и устранение ошибок в программах
- Испытания и сдачу программ
- Сопровождение
Содержание |
[править] Языки программирования
Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Различные языки программирования поддерживают различные стили программирования (т. н. парадигмы программирования). Отчасти искусство программирования состоит в том, чтобы выбрать один из языков, наиболее полно подходящий для решения имеющейся задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый процессором — это машинный язык (также называемый машинным кодом). Изначально все программисты прорабатывали программы в машинном коде, но сейчас эта трудная работа уже не делается. Вместо этого программисты пишут исходный код на языке программирования высокого уровня, и компьютер (используя компилятор, интерпретатор или ассемблер) транслирует его, в один или несколько этапов, уточняя все детали, в машинный код, готовый к исполнению на целевом процессоре. Даже если требуется полный низкоуровневый контроль над системой, программисты пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора.
В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp[1], Java, Perl, Python.
[править] Программные средства
Программные средства, используемые при разработке программ делятся на системные и инструментальные, лицензионные и свободно распространяемые. В системном обеспечении основными являются операционные системы, инструментальные средства и технологии Windows и Linux и прочих операционных систем.
Свободно распространяемые инструментальные средства можно устанавливать и использовать на любых компьютерах с операционными системами семейства Windows и Linux. На олимпиадах по информатике и программированию с успехом используются только свободно распространяемые инструментальные средства в среде Windows и Linux, позволяющие разрабатывать программное обеспечение без ошибок. На олимпиадах по программированию последние годы использовались языки программирования Pascal, C/C++ и Java.
Для ведения документации при разработках программ вполне могут использоваться лицензионные и свободно распространяемые офисные пакеты программ Open Office и Microsoft Office. Файлы документации, создаваемые в лицензионных и свободно распространяемых офисных, информационно совместимы.
[править] Примечания
- ↑ см. Lisp 1.5 в России
[править] Литература
- Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.: Мир, 1978. — С. 275.
- Роберт В Себеста «Основные концепции языков программирования», 5-е издание : Пер. с англ. — М. : 2001. — 672 стр. с ил., «Вильямс»
- Иан Соммервилл «Инженерия программного обеспечения», 6-е издание : Пер. с англ. — М. : 2002. — 624 стр. с ил., «Вильямс»
- Иан Грэхем «Объектно-ориентированные методы. Принципы и практика», 3-е издание : Пер. с англ. — М. : 2004. — 880 стр. с ил., «Вильямс»
[править] См. также
| Программирование в Викиучебнике? | |
| Программирование в Викицитатнике? |
- Компьютерная программа
- Язык программирования
- Парадигма программирования
- программное обеспечение
- Разработка программного обеспечения
- структурное программирование
- Тестирование программного обеспечения
- логическое программирование
- экспертная система
- база знаний
- логика в информатике
- хакеры
- защита информации
- информационная безопасность
- Экстремальное программирование
- Олимпиады по программированию
- Блок-схема
[править] Ссылки
|
|
|
|---|---|
| Используемые в разработке |
Ада • АПЛ • Ассемблер • ActionScript • ABAP/4 • AutoIt • AWK • BASIC • C • Кобол • C++ • C# • ColdFusion • D • dBase • Delphi • Eiffel • Erlang • F# • Forth • Фортран • Gambas • Groovy • Haskell • Icon • Java • JavaScript • Limbo • Лисп • Lua • MATLAB • Object Pascal • Objective-C • Оберон • Parser • Паскаль • Perl • PHP • PowerBASIC • PureBasic • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • Tcl • Vala • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические |
HQ9+/HQ9++ • INTERCAL • Brainfuck • Befunge • Malbolge • Piet • Spoon • Unlambda • Whitespace • FALSE |