Cтраница 4
Эффективность программирования в кодах ЭВМ ( непосредственного) или автоматизированного программирования определяется различными факторами: квалификацией программистов, сложностью задач, наличием математического обеспечения и др. Иногда для некоторых задач выгодно составлять программы непосредственным путем, но для большинства задач эффективно применять автоматизированное программирование, если для данной ЭВМ имеются программы-трансляторы, с помощью которых программа, записанная на алгоритмическом языке, переводится в команды данной машины. Отметим, что многие трансляторы недостаточно совершенны, и на выполнение программы, составленной с их помощью, затрачивается иногда в 1 5 - 2 раза больше времени по сравнению с программой, составленной в кодах машины квалифицированным программистом. Кроме того, программы, переведенные транслятором с алгоритмического языка, требуют больших объемов ЗУ, чем программы, составленные вручную. [46]
При умелом использовании языка р-абочие программы, создаваемые компилятором на ПЛ / 1, являются довольно эффективными по времени выполнения. Хотя всякие оценки сильно зависят от класса и сложности решаемых задач, для вычислительных задач в среднем можно считать, что программы на ПЛ / 1, обработанные компилятором уровня F, выполняются в 1 5 - 2 раза медленнее, чем программы, налисанные для того же алгоритма квалифицированным программистом на Ассемблере. Для задач типа обработки данных, где основное время занимает ввод-вывод, разница в скорости выполнения значительно меньше. [47]
Из-за небрежного обращения с языком АПЛ он приобрел такую репутацию, что сочетание слов структурный АПЛ уже отпугивает читателя. Однако неумение пользователей не дает права порицать сам язык. В руках квалифицированных программистов, получивших хорошее образование, АПЛ становится удивительно удобным и превосходит по возможностям широко распространенные сейчас алгоритмические языки. [48]
Отладка - это искусство, которое требует значительно более глубокого изучения, и способ отладки сильно зависит от средств, имеющихся на машине. Самыми эффективными методами отладки являются, по-видимому, те, которые заранее планируются и встраиваются в собственно отлаживаемую программу. В настоящее время у многих самых квалифицированных программистов приблизительно половина программ предназначается для того, чтобы облегчить отладку другой половины; первая половина, которая состоит обычно из довольно простых программ, будет в конечном итоге выброшена, но благодаря им резко повышается производительность труда. [49]
Структурированное программирование возникло не позже конца пятидесятых годов и рассматривалось в печати уже в середине шестидесятых [1], но была серьезная причина, задержавшая распространение нового метода. При программировании же сверху-вниз руководитель должен быть квалифицированным программистом. [50]
Транслятор - это специальная программа, которая производит преобразование записи алгоритма с алгоритмического языка, как правило, в последовательность машинных команд. Разработка транслятора требует больших затрат. Обычно для создания транслятора необходи: ма работа коллектива квалифицированных программистов в течение нескольких лет. Объем транслятора обычно составляет тысячи ( иногда десятки тысяч) машинных команд. Однако затраты на разработку транслятора затем окупаются, так как благодаря ему значительно увеличивается производительность труда программистов. [51]
Световые кнопки составляют язык команд управления. Каждая кнопка соответствует заранее составленной подпрограмме, написанной на языке машинных команд. Инженеру-разработчику нет необходимости составлять программы для световых кнопок - они уже составлены, квалифицированным программистом. [52]