Вернуться к оглавлению Программирование это составление программы решения различных задач на вычислительной машине; раздел вычислительной математики, разрабатывающей методы составления программ.
|
|
Ни одну из задач, представленных в обычной форме - формулы, уравнения, расчеты,- компьютер решить не сумеет. Для машины задача, записанная в привычном для нас виде,- нечто непостижимое, машина не понимает, что хочет от нее пользователь.
Любую задачу надо донести до машины, растолковать ей ход работы, смысл действий. А для этого задачу надо представить машине: разбить на последовательность команд, которым машина должна следовать. Подобная запись задачи, когда выполняются все формальные правила своеобразного разложения задачи по полочкам, и есть программа работы компьютера.
Конечно, при написании программы стараются найти ее оптимальный вариант. Естественно, что оптимальной будет самая короткая и самая быстрая. Но часто эти характеристики находятся в обратной зависимости, и, случается, более короткая программа работает дольше длинной.
Процесс программирования - процесс сложный, трудоемкий и чрезвычайно ответственный. Он состоит из нескольких этапов: составление программы, ее кодирование и отладка. Каждый из них очень важен. Во время отладки выявляют и исправляют ошибки, по той или иной причине закравшиеся в программу, что обычно требует длительного времени и усилий.
Программирование за время существования компьютеров настолько усложнилось, расширилось и разрослось, что стало самой настоящей индустрией. Даже термин утвердился - «индустрия программирования».
Изначально программы составляли, используя машинные инструкции, управляя процессором на прямую. Следует сказать, что такое программирование очень неэкономно и его довольно быстро заменили особые языки программирования. Они появились уже в середине 50-х годов и были названы алгоритмическими. Эти языки позволили свести составление программы к записи алгоритма в специальной символьной форме.
Подобные языки называются автокодами. В них каждая команда, записанная в символьной форме, соответствует одной машинной команде.
Затем для программирования разработали специальные программы трансляторы, преобразующие запись алгоритма с алгоритмического языка в последовательность машинных команд. Так в программе появились записи в виде сложных формул, позволившие отказаться от разбивания на отдельные арифметические действия.
Здесь уже не записи отдельных команд, а более крупные части - операторы. Оператор представляет либо математическую формулу на алгоритмическом языке, либо обозначение какого-либо действия машины, либо указание транслятору.
Крайне важным было появление программ, составленных из модулей: одной головной программы и произвольного числа подпрограмм. Модульная структура очень облегчила отладку. Стали отлаживать не всю программу сразу, а отдельно каждый модуль.
Современное программирование - дело очень сложное. Им занимаются и в особых математических и вычислительных центрах, и в отраслевых научно-исследовательских институтах.
Программист - специальность важная и нужная. Причем программисты бывают разных профилей. Как понятие «медицинский работник» не определяет еще профиля работника, а только сферу, в которой он трудится, так и понятие «программист» не говорит точно о его профиле. Ведь медицинский работник - это и нянечка в больнице, и сестра в амбулатории, и фельдшер в медпункте, и врач в клинике, и профессор-консультант в научно-исследовательском институте.
Программистов классифицируют так: программист-аналитик, он же программист-математик, системный программист, просто программист, программист-оператор. К ним еще относятся и программирующие пользователи, которых часто вместе с непрограммирующими пользователями называют конечными пользователями.
В программировании выделяют несколько самостоятельных разделов.
Прежде всего отметим прикладные программы, или, как их еще называют, программы пользователей. Такие программы составляются для решения главным образом научной и управленческой задачи. Если в программе от 20 до 50 операторов - это ученическая, студенческая. Когда надо решать, предположим, экономическую задачу, то программа содержит до тысячи операторов. Для удобства прикладные программы объединяют в пакеты.
Производители вычислительных систем и многообразных средств обслуживания вычислительной техники поставляют программы другого вида - программы самой вычислительной системы. Это системное программное обеспечение.
Именно системные программы переводят программы пользователей в программы на машинном языке.
Системное программирование включает в себя широкий круг вопросов, отвечающих за те программы, без которых невозможна сама эксплуатация вычислительной технике. Особое значение здесь имеют программы, помещенные в машину и работающие совместно с аппаратурой компьютера. Это набор подпрограмм, применяемых для управления центральным процессором, оперативной и долговременной памятью, устройством ввода-вывода. Специалисты эту часть математического обеспечения называют операционной системой, своего рода программным приложением к компьютеру. Оно входит в комплект машины. Операционная система - комплекты программ, содержащие до нескольких миллионов операций.
Современные программы очень разнохарактерны. Часть из них записывается в память машин как бы навечно; другая столь хитро устроена, что доступна лишь узкому кругу посвященных, есть даже часть программ, самоуничтожающихся при любой попытке влезть в нее.
Операционные системы разрабатывают самые квалифицированные специалисты - системные программисты. Прикладные программы разрабатывают иногда и сами пользователи, основываясь на алгоритмических языках высокого класса.
Самое распространенное сейчас программирование - программирование непрограммирующих пользователей. В их распоряжении простейшие алгоритмические языки типа Visual Basic и интегрированная среда разработки, приспособленная для взаимодействия человека и вычислительной машины.
Программы организуют весь конвейер вычислений от ввода задачи в машину до вывода результата. Программы ответственны за педантичное выполнение всех операций, заданных машине.
Чтобы лучше организовать работу машины и снизить стоимость вычислений, все время совершенствуют и методы составления программ, и использование их в машинах. Прибегают, например, к так называемому разделению ресурсов вычислительной системы между числом программ пользователей, то есть увеличивают обработку числа программ пользователей за единицу времени.
Применяют и мультипрограммирование, которое увеличивает загрузку вычислительной системы за счет уменьшения времени простоя центрального процессора и применения параллельной и независимой обработки разных программ.
Существуют свои особенности и в программировании для суперкомпьютеров. Говорят, что программирование для таких многоканальных машин отличается от программирования для обычных так же, как исполнение музыки симфоническим оркестром от игры на одном инструменте.
Составление программ - трудоемкое, ответственное и дорогостоящее дело. На программное обеспечение машин затрачиваются миллиарды. Эти затраты оправданны: чем умнее программы, чем выше уровень математического обеспечения машин, тем «интеллектуальнее» машины, тем больше их возможности.
Программирование стало продукцией производственно-технического назначения, к нему предъявляют и требования как к продукции. Теперь даже говорят о совокупности потребительских характеристик для программирования.
Большое значение имеет качество программ. При прочих равных условиях преимущества у тех, которым нужен меньший объем машинных ресурсов. Преимущество и у тех, кому нужно на это меньше времени. Ведь программы для реализации в машине стоят в очереди.
Как и для любой промышленной продукции, программам нужна надежность. Но надежность особая, ведь это продукт интеллектуальной деятельности человека. И надежность здесь измеряется надежностью выходной информации машины.
 - Опеть этого грубияна плохо запрограммировали!
|
|