Чтобы записать программу, разработчики программного обеспечения обычно следуют следующимэтапам.
■ Сначала они пытаются понять проблему и определить цель программы.
■ Они разрабатывают блок-схему, схему, которая показывает последующие логические шаги программы.
■ Затем они пишут инструкции на языке высокого уровня (Паскаль, С, и т.д.). Это вызывается, программированием. Затем программа компилируется.
■ Когда программа пишется, они тестируют ее: они выполняют программу, чтобы увидеть, работает ли она, и используют специальные инструменты с тем, чтобы обнаружить ошибки, или погрешности. Любые погрешности исправляются, пока программа не начинает гладко работать. Это операция называется, устранением неисправностей, или устранением ошибок.
■ Наконец, компании-разработчики программного обеспечения пишут подробное описание того, как программа работает, называемая документацией программы. У них также есть регламент технического обслуживания. Они получают отчеты от потребителей о любых погрешностях, найденных в программе. После того, как погрешность былаисправлена, публикуется обновленная версия.
Exercise 10. Translate the text into Russian
Языкипрограммирования
Большая часть работы программистов связана с написанием исходного кода, тестированием и отладкой программ на одном из языков программирования. Исходные тексты и исполняемые файлы программ являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Различные языки программирования поддерживают различные стили программирования (парадигмы программирования). Отчасти искусство программирования состоит в том, чтобы выбрать язык программирования, наиболее полно подходящий для решения поставленной задачи. Разные языки требуют от программиста различного уровня внимания к деталям при реализации алгоритма, результатом чего часто бывает компромисс между простотой и производительностью (или между временем программиста и временем пользователя).
Единственный язык, напрямую выполняемый ЭВМ — это машинный язык (также называемый машинным кодом и языком машинных команд). Изначально все программы писались в машинном коде, но сейчас этого практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке программирования, затем, используя компилятор, транслируют его в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальным интерпретатором — виртуальной машиной. Но это справедливо только для языков высокого уровня. Если требуется полный низкоуровневый контроль над системой на уровне машинных команд и отдельных ячеек памяти, программы пишут на языке ассемблера, мнемонические инструкции которого преобразуются один к одному в соответствующие инструкции машинного языка целевого процессора ЭВМ. (По этой причине трансляторы с языков ассемблера — ассемблера — получаются алгоритмически простейшими трансляторами.)
В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для.NET Framework.
Программные средства
Скриншот фрагмента кода на языке Java в текстовом редакторе vim, демонстрирующий подсветку синтаксиса, поддержку Unicode, фолдинг
Программные средства, используемые при разработке программ делятся на системные и инструментальные. В системном обеспечении основными являются операционные системы, инструментальные средства и технологии Windows, Mac OS X, Linux и т. п.
На олимпиадах по информатике и программированию с успехом используются только свободно распространяемые лицензионные инструментальные средства (в большинстве своём распространяются по лицензии GNU GPL). Из языков программирования на олимпиадах по программированию последние годы часто используются языки программирования Паскаль, C/C++ и Java.
Для ведения документации при разработках программ могут использоваться офисные пакеты программ (например, OpenOffice.org и Microsoft Office).