Forth http://fforum.winglion.ru/ |
|
Программирование проблемно-ориентированного языка http://fforum.winglion.ru/viewtopic.php?f=37&t=3079 |
Страница 1 из 1 |
Автор: | kzagradskiy [ Сб окт 31, 2015 13:43 ] |
Заголовок сообщения: | Программирование проблемно-ориентированного языка |
Название: Программирование проблемно-ориентированного языка Автор: Чарльз Х. Мур Оригинальный текст: [Programming a Problem-Oriented-Language] Перевод: "gudleifr" (псевдоним на сайте fforum.winglion.ru) Особенности перевода:
Издательство: опубликовано на сайте переводчика Год оригинала: 1970 Год перевода: 2012 Язык: Русский Обложка: Описание (из книги):
Допуская ввод, программа получает язык, позволяющий пользователю управлять ее работой. Естественно, это увеличивает гибкость программы, но требуют ли этого условия применения программы? Есть возможность достичь значительного упрощения программы, используя ввод для управления ее выполнением. Следующий шаг - проблемно-ориентированный язык. Разрешая программе динамически изменять свой язык управления, мы получаем качественное изменение способностей. Так мы переключаем наше внимание с программы на язык управления. Это и важно, и опасно. Здесь очень легко потерять из виду проблему, увлекшись красотой решения. В некотором смысле, наша программа превратилась в метаязык, описывающий язык, на котором написано приложение. Но метаязык термин для нас неподходящий. Мы тут не философией занимаемся. Для точного описания нашей ситуации двух уровней - язык и метаязык - не хватит, нужно не меньше четырех. Разделить их очень трудно. Кроме того, в различных случаях, встречающихся на практике, уровни могут перепутываться очень замысловато. Проблемно-ориентированный язык может описать любую проблему, из тех, с которыми я сталкивался. И помните, мы занимаемся не языком, но программой, которая реализует язык. Изменяя язык, мы можем применять ту же самую программу для других целей. Однако имеется класс расширений языка, которые дают новое качество. Они не увеличивают применимость программы, но расширяют способности языка. Делают язык более выразительным. Мы рассмотрим некоторые из таких расширений в Главе 8. Я собрал их вместе, в основном, потому, что одинаково их недопонимаю. Например, я думаю, что язык нужно обсуждать в концепциях человеческих языков. Наконец, я хочу описать процесс реализации программы на языке машины. Т.е. процесс загрузки и саморазвертывания программы. Я надеюсь, что вам понравятся изложенные идеи. В частности, я надеюсь, что Вы согласитесь, что программа, которую я описываю, в каком-то смысле оптимальна, т.к. следует объективным закономерностям. Пытаясь говорить просто, я затянул свои объяснения. Я надеюсь, что вы не сочтете это злостным нарушением Основного Принципа. Легче было сказать обо всем этом сейчас, чем возвращаться потом. Если вам действительно удобно, вы можете использовать мои подпрограммы. Но, если вы путаете то, что полезно, с тем, что необходимо, ваши программы будут расти бесконечно. Я не использую блок-схемы. Я никогда не любил их, поскольку считаю, что они местами избыточны, а местами недостаточны. Кроме того, они подразумевают большую жесткость в структуре программы, чем существует реально. Я буду давать конкретные рекомендации, но я буду использовать слова, а не блок-схемы. Блок-схемы лишь отняли бы время - и у меня, и у вас. Особенность книги:
Краткое содержание:
1. Введение
1.2. Обзор
2.2. Выбор компьютера 2.3. Мелочевка 2.4. Имена 2.5 Подпрограммы
3.2. Цикл управления 3.3. Подпрограмма word 3.4. Десятичное преобразование 3.5. Стеки 3.6. Словарь 3.7. Язык управления, пример
4.2. Удаление статей 4.3. Операции 4.4. Определение статей 4.5. Кодовые статьи
5.2. Текст на диске
6.2. Приглашение 6.3. Строки 6.4. Поля
7.2. Очереди 7.3. Частные словари 7.4. Дисковые буфера 7.5. Переключение пользователей
8.2. Определения приоритета 8.3. Бесконечный словарь 8.4. Бесконечная память
9.2. Корни 9.3. Ветви Стандарт языка: не указан Ссылки:
|
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |