Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 09:16

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 12:27 
'Кора писал(а):
В Форт системе необходимые структуры тоже создаются и используются, по необходимости.
Именно, а я о чем написал? Более того, по необходимости может быть создан и синтаксис. Если задача этого требует.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 12:38 
Хищник писал(а):
Причем чем больше объем кода для задачи, тем больше будет выигрыш от предварительного создания удобного расширения.
Более того, средства саморазвития Forth так раздражают своим простоем в маленькой задаче, что существует целое искусство их отрезания при целевой компиляции.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 12:56 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Потому что когда язык предоставляет средства для расширения, это означает, что надо потратить время на расширение, а потом сэкономить его, реализуя собственно задачу. Причем чем больше объем кода для задачи, тем больше будет выигрыш от предварительного создания удобного расширения.

Это верно, но это не автоматически получается. И в форте можно так расширить, что относительный выигрыш при решении больших задач будет меньше чем при решении маленьких. Но зачем говорить, что форт не предназначен для маленьких задач. Можно с такой же уверенностью сказать, что форт не предназначен для решения больших задач, причем причин для этого можно найти много.
Форт может наращиваться очень гибко, так как в нем есть доступ к самым низкоуровневым средствам, вплоть до маш. кода с одной стороны и возможности по созданию наиболее подходящего синтаксиса и средств его разбора(DSL) для задач определенного типа с другой стороны. Отсюда следует возможность максимальной адаптации к особенностям конкретной задачи.
Кроме того, не секрет, что форт используют люди, работающие в определенной предметной области. Это могут быть не профессиональные программисты. У них уже есть инфраструктура в виде кучи библиотек специального назначения и спец. ядра для форт-системы. И им не надо вообще расширять форт для решения конкретных задач в их области. Они по сути работают со своими уже готовыми DSL.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 13:04 
chess писал(а):
...
Именно так. И то, что простые задачи на Forth решать можно, и то, что для таких целей гораздо удобнее не сам Forth, а DSL на его основе. А, вот, для сложной задачи нужен именно FORTH!


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 13:22 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
Именно так. И то, что простые задачи на Forth решать можно, и то, что для таких целей гораздо удобнее не сам Forth, а DSL на его основе. А, вот, для сложной задачи нужен именно FORTH!

Я с этим согласен. Но практика показывает, что сложные задачи, решенные на Форте можно пересчитать по пальцам.
Форт по-прежнему остается языком относительно небольшого числа одиночек, которым просто физически не под силу браться за масштабные задачи и которые работают в определенных достаточно узких предметных областях. И дело здесь по-моему именно в форте, а ни в чем нибудь еще.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 13:27 
chess писал(а):
И дело здесь по-моему именно в форте, а ни в чем нибудь еще.
А вот с этого места, пожалуйста, по-подробнее. Какие именно свойства Forth (а не общества, сообщества, или биржевой политики) Вы имеете в виду? Не надо только кивать на сложность и польскую запись. Видели языки и посложнее, и с дурацким синтаксисом...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 13:46 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
gudleifr писал(а):
Более того, средства саморазвития Forth так раздражают своим простоем в маленькой задаче, что существует целое искусство их отрезания при целевой компиляции.

Что за средства саморазвития? И зачем их надо выкусывать?

gudleifr писал(а):
Forth не предназначен для маленьких задач!

Ну не всегда. Например, опрос в цикле некого датчика с выводом
на экран или периодическая посылка некой последовательности
байтов в порт, на Форте реализуется легко.

gudleifr писал(а):
И то, что простые задачи на Forth решать можно, и то, что для таких целей гораздо удобнее не сам Forth, а DSL на его основе. А, вот, для сложной задачи нужен именно FORTH!

Я бы хотел видеть в составе форт-системы интерпретатор (компилятор)
некого универсального языка (того-же Си или чего-нибудь алголоподобного).
Я бы, в основном, использовал его, а на уровень форт-интерпретатора
выходил для запуска программ или в исключительных случаях.
Некую реализацию Си в Форте я сделал.
Но до ума не довел. Во первых, достаточно трудоемко.
Во вторых, есть возможность встраивать Форт в Си программы.


Последний раз редактировалось Mihail Чт фев 16, 2012 14:29, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 13:51 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
А вот с этого места, пожалуйста, по-подробнее. Какие именно свойства Forth (а не общества, сообщества, или биржевой политики) Вы имеете в виду? Не надо только кивать на сложность и польскую запись. Видели языки и посложнее, и с дурацким синтаксисом...

Лично я считаю польскую запись благом, а не злом. Она элементарнее, а поэтому гибче чем скобочная.
Слабость форта проистекает из его силы. Форт не ограничивает программиста почти ни в чем. А программисты все очень разные.
Различие программистов, помноженное на свободу выражения своих мыслей в форте, порождает необходимость значительных затрат времени на совместимость их результатов труда в общих проектах. И по итоговым затратам выигрывают индустриальные(конвейерные) подходы к разработке масштабного ПО, где индивидуальность отдельного программиста не играет особой роли, так как ограничена изначально совокупностью жестких рамок для возможных интерфейсов, синтаксисов, структур данных и тп.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 14:08 
Mihail писал(а):
Что за средства саморазвития? И зачем их надо выкусывать?
Интерпретатор, компилирующие слова, средства препарирования служебных областей... В целевой системе в них нет нужды.
Mihail писал(а):
Например, опрос в цикле некого датчика с выводом на экран или периодическая посылка некой последовательности байтов в порт, на Форте реализуется легко.
А на Perl сложно? Боюсь, там уже есть библиотека, позволяющая написать этакое в одну строку.
Mihail писал(а):
Я бы хотел видеть в составе форт-системе интерпретатор (компилятор) некого универсального языка (того-же Си или чего-нибудь алголоподобного).
Об этом - позднее.
chess писал(а):
Слабость форта проистекает из его силы. Форт не ограничивает программиста почти ни в чем. А программисты все очень разные...
А Perl сдерживает фантазию программистов? Когда постулирует, что любая фигулька может быть написана 18-ю способами, причем 12 из них такие, что у читающего мозги закипают.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 14:31 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
А Perl сдерживает фантазию программистов? Когда постулирует, что любая фигулька может быть написана 18-ю способами, причем 12 из них такие, что у читающего мозги закипают.

Синтаксис при этом используется один и тот же.
В форте это тоже можно сделать:
Код:
: dup 1\11 ;
: dup 1|1 ;
: dup 1|d ;
: dup 0\d ;
: dup 0|d ;
: dup 1|1'1!1 ;
: dup 1\1'1@ ;
: dup 1|'1@ ;
и тд.
Михаил тут здравую мысль про алголоподобный язык в рамках форта высказал(Си только не надо).
У меня мысли такие же, только я бы не выбрасывал польскую запись.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 14:37 
chess писал(а):
Синтаксис при этом используется один и тот же.
Вы просто плохо знаете Perl. В нем невозможно ничего написать, придерживаясь одного синтаксиса. С другой стороны отсутствие синтаксиса Forth не позволяет его выбирать - только создавать. И какое отношение к внутренним проблемы Forth имеют иероглифы?
chess писал(а):
Михаил тут здравую мысль про алголоподобный язык в рамках форта высказал...
Хе-хе. "Наши собираются".


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 15:04 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
Вы просто плохо знаете Perl.

Знаю, что есть такой. Регэкспы там как-бы элемент языка. И все знания. И что, на Perl написано много масштабных проектов?
gudleifr писал(а):
И какое отношение к внутренним проблемы Forth имеют иероглифы?

Это не иероглифы, это комбинаторы. Удаление и добавление одного символа может изменить семантику кардинально.
Базируются на ограниченной кодовой базе. Благодаря эффекту комбинаторного взрыва могут дать практически неограниченный набор семантик для отдельных экземпляров. Не требуют словарей, не имеют имен. В то же время соответствуют жесткому синтаксису, поддерживают польскую запись и имеют жесткий интерфейс. Синтаксис и интерфейсы фиксированы - это главное условие(мое) для языка разработки больших программ.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 15:09 
chess писал(а):
Знаю, что есть такой. Регэкспы там как-бы элемент языка. И все знания.
В Perl наблюдается смешение минимум трех синтаксисов: C, shell, awk.
chess писал(а):
И что, на Perl написано много масштабных проектов?
Я видел достаточно большие, а слышал об эпохальных...
chess писал(а):
gudleifr писал(а):
И какое отношение к внутренним проблемы Forth имеют иероглифы?
Это не иероглифы, это комбинаторы...
Т.е. никакого.
P.S. Я все еще жду, когда же иероглифы смогут посрамить мое решение задачи о переправе.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 15:27 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
gudleifr писал(а):
Т.е. никакого.

Для Вас, думаю - да.
gudleifr писал(а):
P.S. Я все еще жду, когда же иероглифы смогут посрамить мое решение задачи о переправе.

Какой смысл. Каждую из трех задачек, которые вы объединили в одну, можно решить по отдельности и это займет меньше времени, чем у вас. А общую задачу решать тем более смысла нет, из-за того, что язык описания условий будет больше самого решателя.
Чтобы еще раз подтвердить правило предпочтения решения частных задач решению общей? Так это и так для меня очевидно.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 15:28 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
chess писал(а):
(Си только не надо)

Что-же поделать если Си мейнстрим? Не стоит спешить с табу.
Си в Форте может привлечь сишников к форт-технологиям.
На Си много наработок. А главное, на Си написано масса языков.
С помощью Си в Форте можно всех их затащить в Форт.

chess писал(а):
У меня мысли такие же, только я бы не выбрасывал польскую запись.

Более того, желательно, чтобы встроенный интерпретатор (он же компилятор)
представлял собой конвертер в польскую запись. А результат его работы можно
направить на вход EVALUATE.
Форт должен оставаться Фортом, как есть. Встроенные языки оформляются как
вставки (режим работы системы с возможностью выхода из него).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 12  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB