![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Почему процесс программирования является таким длительным и есть ли какая-либо надежда ускорить его? По-видимому, основная причина состоит в различии между языком вычислительной машины и естественным языком. Как мы видели, для вычислительной машины нужно составить подробную программу ее действий. Очевидно различие между указаниями, которые вы должны дать машине, и указаниями, которые даются человеку, например: «Проинтегрируйте, пожалуйста, эту функцию от нуля до единицы». Кроме того, человек обладает большим запасом информации и здравым смыслом, которые он использует при своей работе. Он знает, например, что тяга ракеты не должна быть отрицательной.
В области сближения языка вычислительной машины с обычным языком достигнут определенный прогресс. Куски программы (рис. 14.1-14.3) не дают понятия о собственно машинном языке, который состоит только из одних цифровых кодов. Команды, написанные на бланке, показанном на рис. 14.1, затем переводятся на язык машины с помощью так называемой транслирующей программы. Такая программа не только переводит обычный язык в цифровые коды, из которых состоит язык машины, а делает гораздо больше.
Например, при использовании машинного языка всегда должно быть известно, в каком месте запоминающего устройства хранится каждое данное число. При использовании транслирующей программы требуется всего лишь присвоить этому числу некоторое наименование (например, Common на рис. 14.1). Каждый раз, когда возникает необходимость, используется это наименование; транслирующая программа снабдит это число конкретным адресом. Транслирующая программа обладает тем свойством, что каждая команда, написанная на ее языке, переводится в одну команду, написанную на языке машины. Существует другой класс программ, которые совершают перевод с так называемых языков посреди и ков; эти программы могут преобразовывать одну команду или одну фразу этого языка в несколько.машинных команд. Таким путем, очевидно, можно значительно сократить объем работы при программировании.
Языки-посредники существенно отличаются от машинного языка (и более похожи на наш обычный язык, хотя, возможно, и не настолько, насколько нам бы хотелось).
Из этих языков-посредников в настоящее время лучше всего известен ФОРТРАН (FORTRAN от слов FORMULA TRANSLATOR - переводчик формул); существуют транслирующие программы, совершающие перевод с этого языка на язык многих вычислительных машин. Другими хорошо известными языками этого типа являются КОБОЛ и АЛГОЛ. На рис. 14.3 приведен пример программы, написанной на языке ФОРТРАН. В данном конкретном случае транслирующая программа преобразовала 14 фраз, написанных на этом языке, в 113 команд для вычислительной машины.
ФОРТРАН хорошо выполняет свое назначение, состоящее в сокращении труда при программировании, в тех случаях, когда соответствующие проблемы могут быть математизированы. Излишне говорить, что для многих проблем он совершенно непригоден. Существуют, конечно, определенные виды на будущее, но для осуществления новых систем требуется длительный подготовительный период, так же как и при программировании в настоящее время. Все эти системы являются также дорогостоящими; стоимость транслирующей программы с языка ФОРТРАН приблизительно равна 500 000 долл.
Заключение
Вычислительные машины быстрее, дешевле и надежнее человека решают задачи, для которых они приспособлены; это положение только усугубится в будущем. Успешное применение вычислительных машин в анализе тесно связано с созданием математической модели. Мы рассмотрели некоторые опасности, подстерегающие тех, кто пользуется вычислительными машинами; они также тесно связаны с опасностями использования моделей. Было указано на скрытый характер этих опасностей. Мы попытались опровергнуть распространенное мнение о том, будто использование вычислительной машины при исследовании непременно гарантирует достоверность его результатов.
Мы попытались также дать некоторое понятие о размерах работы по программированию, необходимой при использовании вычислительных машин, и указали на постоянную и всеобщую тенденцию недооценивать размеры этой работы. Причиной длительности процесса программирования является, по-видимому, различие языка вычислительной машины и нашего обычного языка. Мы коснулись предпринимаемых попыток разрешить эту языковую проблему.
Обсуждая размеры работы по программированию, мы привели несколько примеров не из области исследовательской работы с моделями, а из области обработки информации в предпринимательской деятельности. В этой области существуют дополнительные причины для увеличения объема работы. Здесь представляет большие трудности, например, определение проблемы, над которой стоит работать, а внедрение вычислительных машин часто влечет за собой изменения в стиле работы и реорганизацию предприятия. Когда опыт перехода от обычных к автоматизированным системам обработки информации отсутствует, то возникает дополнительная проблема, связанная с учетом редко встречающихся в практике случаев и обеспечением контроля результатов вычисления.
Мы указали на ряд ограничений возможностей использования вычислительных машин потому, что эти возможности часто сильно переоценивают. Вычислительная машина не оракул, она не поможет вам в решении задач, которые недоступны вашему интеллекту.
С другой стороны, нам не хотелось бы, и недооценивать вычислительные машины. В бухгалтерской работе их появление вызвало, чуть ли не настоящую революцию. Использование вычислительных машин вместе с использованием моделей и современного математического аппарата (включая все методы, которые можно объединить под названием «исследование операций») дает исследователю недоступные раньше возможности анализа.
Я намеренно не высказывал предположений о возможности применения вычислительных машин для работы, требующей разума, но не потому, что не верил в такую возможность, а потому, что это дело слишком отдаленного будущего.
В заключение еще раз обратимся к аналогии игры с огнем: вычислительные машины могут быть очень полезны, но обращение с ними требует осторожности.
Дата публикования: 2015-07-22; Прочитано: 289 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!