ВУЗ:
Составители:
20
Преимущество интерпретаторной реализации состоит в том, что
она допускает "непосредственный режим". Непосредственный режим
позволяет вам задавать компьютеру задачу вроде PRINT 3.14159*3/2.1
и возвращает вам ответ, как только вы нажмете клавишу ENTER (это
позволяет использовать компьютер стоимостью 3000 долларов в каче-
стве калькулятора стоимостью 10 долларов). Кроме того, интерпрета-
торы имеют специальные атрибуты, которые упрощают отладку
. Мож-
но, например, прервать обработку интерпретаторной программы, ото-
бразить содержимое определенных переменных, бегло просмотреть
программу, а затем продолжить исполнение.
Больше всего программистам нравится в интерпретаторах воз-
можность получения быстрого ответа. Здесь нет необходимости в ком-
пилировании, так как интерпретатор всегда готов для вмешательства в
вашу программу. Введите RUN и результат вашего
самого последнего
изменения оказывается на экране.
Однако интерпретаторные языки имеют недостатки. Необходимо,
например, иметь копию интерпретатора в памяти все время, тогда как
многие возможности интерпретатора, а следовательно и его возможно-
сти могут не быть необходимыми для исполнения конкретной про-
граммы.
Интерпретаторы тихоходны. Ими затрачивается много времени
на разгадывание того, что делать
, вместо того чтобы заниматься дейст-
вительно делом.
При исполнении программных операторов, интерпретатор дол-
жен сначала сканировать каждый оператор с целью прочтения его со-
держимого, а затем выполнить запрошенную операцию. Операторы в
циклах сканируются излишне много.
Рассмотрим программу: на интерпретаторном Бэйсике 10 FOR
N=1 TO 1000 20 PRINT N,SQR(N) 30
NEXT N при первом переходе по этой программе Бейсик-
Интерпретатор должен
разгадать что означает строка 20:
1. преобразовать числовую переменную N в строку;
2. послать строку на экран;
3. переместить в следующую зону печати;
4. вычислить квадратный корень из N;
5. преобразовать результат в строку;
6. послать строку на экран.
При втором проходе цикла все это разгадывание повторяется
снова, так как абсолютно забыты все результаты изучения этой строки
какую-то миллисекунду тому назад. И так во всех следующих 998 про-
ходах. Очевидно, что если отделить фазу сканирования/понимания от
фазы исполнения, то можно иметь более быструю программу. Для это-
го существуют компиляторы.
Преимущество интерпретаторной реализации состоит в том, что она допускает "непосредственный режим". Непосредственный режим позволяет вам задавать компьютеру задачу вроде PRINT 3.14159*3/2.1 и возвращает вам ответ, как только вы нажмете клавишу ENTER (это позволяет использовать компьютер стоимостью 3000 долларов в каче- стве калькулятора стоимостью 10 долларов). Кроме того, интерпрета- торы имеют специальные атрибуты, которые упрощают отладку. Мож- но, например, прервать обработку интерпретаторной программы, ото- бразить содержимое определенных переменных, бегло просмотреть программу, а затем продолжить исполнение. Больше всего программистам нравится в интерпретаторах воз- можность получения быстрого ответа. Здесь нет необходимости в ком- пилировании, так как интерпретатор всегда готов для вмешательства в вашу программу. Введите RUN и результат вашего самого последнего изменения оказывается на экране. Однако интерпретаторные языки имеют недостатки. Необходимо, например, иметь копию интерпретатора в памяти все время, тогда как многие возможности интерпретатора, а следовательно и его возможно- сти могут не быть необходимыми для исполнения конкретной про- граммы. Интерпретаторы тихоходны. Ими затрачивается много времени на разгадывание того, что делать, вместо того чтобы заниматься дейст- вительно делом. При исполнении программных операторов, интерпретатор дол- жен сначала сканировать каждый оператор с целью прочтения его со- держимого, а затем выполнить запрошенную операцию. Операторы в циклах сканируются излишне много. Рассмотрим программу: на интерпретаторном Бэйсике 10 FOR N=1 TO 1000 20 PRINT N,SQR(N) 30 NEXT N при первом переходе по этой программе Бейсик- Интерпретатор должен разгадать что означает строка 20: 1. преобразовать числовую переменную N в строку; 2. послать строку на экран; 3. переместить в следующую зону печати; 4. вычислить квадратный корень из N; 5. преобразовать результат в строку; 6. послать строку на экран. При втором проходе цикла все это разгадывание повторяется снова, так как абсолютно забыты все результаты изучения этой строки какую-то миллисекунду тому назад. И так во всех следующих 998 про- ходах. Очевидно, что если отделить фазу сканирования/понимания от фазы исполнения, то можно иметь более быструю программу. Для это- го существуют компиляторы. 20
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »