Cтраница 1
Задачи системного программирования, связанные с разработкой пакетов прикладных программ. [1]
При решении задач системного программирования ( разработка системного математического обеспечения ЭВМ) предпочтение следует отдать машинно-зависимым языкам, в частности макроязыку, поскольку только в этом случае можно максимально использовать все возможности вычислительной машины. [2]
Машины третьего поколения лучше приспособлены для решения задач системного программирования. Байтовая организация памяти и широкий набор операций существенно облегчают решение любых задач символьной обработки. Наличие базовых регистров упрощает перемещение программ. Некоторые новые машины имеют стековую память и даже могут непосредственно выполнять программы в обратной польской записи. [3]
Так, язык Си был разработан для решения задач системного программирования. [4]
Языки программирования с сильной типизацией не могут быть использованы для решения задач системного программирования, поэтому для решения этих задач необходимо включение в язык программирования с сильной типизацией средств, обеспечивающих возможность нарушения механизма сильной типизации. Однако намного лучше включать в язык программирования одно средство, предназначенное для нарушения механизма сильной типизации, чем несколько различных средств, каждое из которых позволяет нарушать механизм сильной типизации. В таком случае все нарушения механизма сильной типизации легко локализуются и изолируются. Например, в языке Ада введена предопределенная библиотечная настраиваемая функция UNCHECKED CONVERSION, обращение к которой обеспечивает возможность нарушения механизма сильной типизации. К сожалению, в языке Си механизм сильной типизации может быть нарушен несколькими различными способами, позволяющими трактовать представление значения как данных различных типов. [5]
Одним из требований, предъявляемых к языку программирования, предназначенному для решения задач системного программирования, является обеспечение полного контроля за размещением данных в памяти. Под полным контролем автор понимает следующее: распределение памяти, размещение данных, механизм кучи, разделяемые данные. [6]
Язык должен быть адекватным к решению требуемых задач, в данном случае - задач системного программирования. Он должен включать следующие средства. [7]
По мнению автора, нет необходимости встраивать в язык программирования, предназначенный для решения задач системного программирования, средства ввода-вывода высокого уровня, хотя и желательно включение в описание такого языка программирования спецификаций набора библиотечных подпрограмм, реализующих соответствующие средства. Из трех сравниваемых языков программирования только язык Паскаль имеет средства ввода-вывода высокого уровня, в языках же Ада и Си эти средства реализуются библиотечными подпрограммами, входящими в состав стандартных библиотек ввода-вывода. [8]
Конечно, язык Ада был разработан для создания встроенных систем, а не для решения задач системного программирования. Однако утверждение автора об ошибочности решений, принятых при проектировании языка Ада, базируется, в частности, на уверенности автора в том, что сборка мусора неприемлема и для встроенных систем. [9]
Вирт ( создание, языка программирования, удобного для обучения программированию), и специфики задач системного программирования, с точки зрения которой и проводится сравнительный анализ языков программирования в настоящей статье. И хотя успехи, достигнутые за время, прошедшее с момента появления языка Паскаль, в науке ( или, может быть, это искусство. [10]
При решении задач по созданию встроенных систем, так же, впрочем, как и при решении задач системного программирования, одним из требований к языку программирования ( точнее, к самому языку программирования и к транслятору с этого языка программирования) является необходимость генерации очень хорошего ( в смысле эффективности) объектного кода. А это возможно лишь при использовании высококачественных оптимизирующих трансляторов с тех или иных языков программирования. Создание и отладка простого ( невысококачественного и неоптимизирующего) транслятора с языка программирования X, имеющего большой размер, по трудоемкости сравнимо с созданием высококачественного оптимизирующего транслятора с языка программирования Y, имеющего небольшой размер. Создание высококачественного оптимизирующего транслятора с языка Ада является поистине грандиозной задачей. [11]
Рассмотрим вопросы, связанные с размерами трех сравниваемых языков программирования, с точки зрения их использования для решения задач системного программирования ( обсуждение специфики задач системного программирования приведено в разд. [12]
В основу книги положен многолетний опыт использования алгоритмического машинно-ориентированного языка АЛМО при решении широкого класса прикладных задач и задач системного программирования. Приводятся неформальное описание языка АЛМО с использованием многочисленных примеров и рисунков, а также формальное описание языка. [13]
В одних организациях функция установки и эксплуатации системы возлагается на так называемую группу системного программирования IMS, в других - задачи системного программирования реализуются администрацией базы данных. Мы же для простоты предположим, что все эти задачи выполняются группой администрации базы данных. [14]
Обсуждение рассматриваемых в данной статье языков программирования осуществляется с точки зрения их использования в определенной области применения, а именно для решения задач системного программирования. [15]