Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср окт 23, 2019 13:48

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 11, 2009 21:26 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
вопрос писал(а):
Лучше не открещиваться так эмоциональнго от потенциально О-очень полезной технологии (местами).

речь идет о том, что у Форта есть своя не менее полезная, мощная и гибкая технология\идеология.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 11, 2009 21:57 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Олег, это всё-таки несколько разные вещи и я уверен, преимущества ООП будут оценены, не сомневаюсь. Прсто не удаётся совместить некоторые свойства Форта с привычными приёмами ООП


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 00:20 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 286
Благодарил (а): 12 раз.
Поблагодарили: 10 раз.
вопрос писал(а):
преимущества ООП будут оценены, не сомневаюсь.

Так никто и не спорит, что их там нет.
Другое дело - кто и что понимает под ООП. Ссылки на "авторитеты" и "труды" - извините, не играют. Почему? Потому, что, в большинстве случаев, авторы "пляшут" от идеи подвести человека к тому средству реализации, которое: либо сам автор хорошо(?) знает, либо автор понимает востребованность знаний об этом инструменте (мэйнстрим), либо автор - сам и есть автор инструмента и пропагандирует своё детище.
ООП в качестве средства проектирования и описания предметных областей - очень хорошо. Собственно, лучше этого подхода пока ничего нет. Опять-таки, кто сказал, что то или иное средство "лучше" остальных? Даже авторы UML (весь комитет с ними) явно имею предпочтения.
О том, что брать за основу "мне вон модель Дельфи нравится" или "есть Си++, а в сё остальное - гавно", явный бред. Если бы меня лет десять назад спросили, я бы и сам так отвечал. Может быть... Скорее всего... :)
Но, в том-тои дело, что с той поры прошло время. Вместе с не одной парой стёртых на заднице джинсов за монитором, я поработал на не одной системе, ни одном языке и не в одной предметной области. Поэтому, я и говорю, что в случае с Фортом, раз уж он такие уникальные возможности предоставляет, надо ОЧЕНЬ аккуратно и взвешенно подходить, а не по принципу "а фигли?! вон есть постулаты ООП - смотрим, как другие их реализовали и подгоняем синтаксис и семантику!"
В том-то и дело, что мне, для того, что бы использовать и применять ООП, собственно язык, в котором есть прямая "поддержка ООП-средств", по большому счёту и не нужен. Я могу ООП-проекты делать и на Си и на ассемблере.
Ещё раз: речь - не о языке сейчас.
В случае с Фортом имеется уникальная ситуация, когда перед нами язык, позволяющий не ограничивать себя синтаксисом и семантикой "привычных" , "общепринятых" средств и кромсать от этого задачу. Здесь мы можем напрямую формировать словарь и описание отношений и операций в предметной области.

И тут - в продолжение:
вопрос писал(а):
Прсто не удаётся совместить некоторые свойства Форта с привычными приёмами ООП


Здесь надо увидеть тонкую грань между
1) созданием возможностей делать "как у других общепринято"
и
2) созданием возможностей делать такие возможности

При этом второе будет низмеримо мощнее на выходе первого.
Вот о выработке стандартов на второе и надо говорить. Благо, в отличие от мэйнстрима у Форта ВООБЩЕ границ и ограничений НИКАКИХ нет для этого.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 00:49 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
вопрос писал(а):
Лучше не открещиваться так эмоционально от потенциально О-очень полезной технологии (местами).

Технологии чужеродной самой архитектуре форта.

И вот собственно мысли по теме строк.
Какие необходимы инструменты?
Сложение строк - причем иногда бывает необходимо использовать и складываемые строки уже после сложения, а иногда - нет. Т.о. нужно два вида сложения - один выделяет новый буфер для результата, другой всегда использует один и тот-же буфер. В ннкроне есть слово S+ ( a1 u1 a2 u2 - a3 u3 ) - оно как раз всегда выделяет новый буфер для строки, что впрочем не проблема - т.к. задачи обычно быстро заканчивают работу и память освобождается виндой автоматически. Но иногда при частом использовании происходят большие утечки памяти. В ннкроне есть и еще один способ сложения строк - выполнение подстроки словом EVAL-SUBST но это очень медленно(впрочем в будущих версиях ннкрона будет использоваться хэширование для поиска, а сейчас оно есть в бета-версии и еще не до конца отлажено).
Цитата:
%...% обpабатывается динамически. т. е. пpи разборе префиксной стpоки вычленяется последовательность между %...% и для этой подстpоки делается EVALUATE

Вот только реализация не очень неудачная некоторых слов:
Цитата:
%n esPICK%
- вставка n-го числа со стека
%n esPICKS%
- вставка строки со стека, адрес которой хранится
в n-й позиции стека, а счётчик в n-1

И еще необходимы несколько тоже достаточно интенсивных действий, как: поиск строки, (ну а далее все остально лекго делается на базе этого самого поиска) замена строки, обрезание до и после какой-то строки, обрезание строки с начала и с конца, получение позиции символа - вроде бы все это мелочь, но нужная. Ну и конечно же необходимы слова для манипуляции строками на стеке и обязательно вставка в строку непечатаемых символов, кавычек и прочего. И еще обязательно ноль в конце строки независимо от формата. К слову - о форматах немного. В разных ситуациях бывают нужны разные форматы строк - иногда необходим a u , иногда az, соответственно нужны слова конвертации az <> a u . А иногда и то и другое сразу и в нескольких экземплярах. Часто приходится проходить по всей строке и что-то делать. Ну вот, на этом пока все. Если что еще вспомню - отпишусь.
Во, еще чего вспомнил - частенько бывает необходимость в многострочных строках, т.е. строках расположенных на нескольких строчках иходника.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 13, 2009 17:33 
Не в сети

Зарегистрирован: Вс май 06, 2007 02:13
Сообщения: 43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
VoidVolker писал(а):
вопрос писал(а):
Лучше не открещиваться так эмоционально от потенциально О-очень полезной технологии (местами).

Технологии чужеродной самой архитектуре форта.


Что здесь вы понимаете под технологией? Чтоб небыло потом терминологических неувязок :wink:.

_________________
А в попугаях я умнее - целых 38!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 13, 2009 18:19 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Я хочу с позволения присутствующих попытаться внести ясность.

ООП - не технология программирования, не язык и не подход, хотя всё это можно применить в тексте. ООП - это уровень (или способ) абстракции. Мы можем программированть в опкодах, но абстрагируемся от того, как именно представлен код для процессора и задаём команды - это ассемблер, можем абстрагироваться от конкретных команд процессора - будут все остальные языки, которые разного уровня абстракции. ООП - один из уровней, несомненно полезный для многих целей, в нек. случаях наглядность даваемая ООП - незаменима. Не стоит зарекаться использовать это в форте


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 13, 2009 20:03 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4997
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 20 раз.
Поблагодарили: 58 раз.
вопрос писал(а):
ООП - не технология программирования, не язык и не подход, хотя всё это можно применить в тексте.

если честно, уже надоело объяснять, что Форт- это тоже технология, и идеалогия и философия и методология, причем ничуть не слабее вашего ООПа.
ООП в Форте выглядит так же чужеродно, как к примеру, файлы. Но эта чужеродность не мешает вам использовать ваш ненаглядный ООП, ибо либ ООПных под Форт столько же, сколько из маинстрима в Форт пришло программистов.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 13, 2009 20:07 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
mOleg
Я всячески пытаюсь предостеречь от категорических суждений. Кстати, моё сообщение не прочитано. Я как раз совсем другое говорю.
Цитата:
что Форт- это тоже технология, и идеология и философия и методология,
а я говорю, что ООП - не технология и не идеология, это ... логический уровень и потому не может быть плохим или хорошим - как закон физики. Или как степень приближения.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн апр 13, 2009 21:31 
Не в сети

Зарегистрирован: Вс май 06, 2007 02:13
Сообщения: 43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
вопрос

:wink:

_________________
А в попугаях я умнее - целых 38!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 14, 2009 10:56 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
mOleg писал(а):
уже надоело объяснять, что Форт- это тоже технология, и идеалогия и философия и методология, причем ничуть не слабее вашего ООПа.
ООП в Форте выглядит так же чужеродно, как к примеру, файлы.


Лично я никаких объяснений не видел. В чем собственно ООП чужеродно Форту?
Тоже касается и файлов.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 14, 2009 11:51 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 286
Благодарил (а): 12 раз.
Поблагодарили: 10 раз.
Mihail писал(а):
Лично я никаких объяснений не видел. В чем собственно ООП чужеродно Форту? Тоже касается и файлов.

По 10-му кругу...
Говоря "ООП", Вы ЧТО имеете в виду?
Говоря "файл", Вы ЧТО имеете в виду?

Говоря об обеих вещах, как Вы соотносите их общепринятые смыслы и понятия к идеологии Форта? Что Вы предполагаете предпринять для сокращение семантических разрывов мэйнстрима (вопрос - нужно ли?) и Форт-миром?

К тому, же, начав проработку, не стоит ли задуматься над тем, что если Вы уже реализовали в системе понятие "файл", будет ли необходимо реализовывать понятие объект (для системных приложений)? (См. План 9 и Инферно)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 14, 2009 15:46 
Не в сети

Зарегистрирован: Вс май 06, 2007 02:13
Сообщения: 43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Mihail

Насколько мне дано понять речь идет о Thinking FORTH. Т.е. при программировании на Форте надо использовать фортовскую факторизацию (что само по себе очень эффективно и позволяет сильно порезать внутренние связи в коде, без глобальных переменных и т.п.), а не объектную декомпозицию (с ее повышенной связностью между различными классами и т.д.). А вот про файлы я не очень понял...

Так?

_________________
А в попугаях я умнее - целых 38!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт апр 14, 2009 21:50 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Wlad писал(а):
Говоря "ООП", Вы ЧТО имеете в виду?
Говоря "файл", Вы ЧТО имеете в виду?


http://ru.wikipedia.org/wiki/ООП
http://ru.wikipedia.org/wiki/файл

Wlad писал(а):
как Вы соотносите их общепринятые смыслы и понятия к идеологии Форта?


Идеология Форта в отсутствии каких-либо ограничений. Таким образом он открыт
для всех методов программирования.

Wlad писал(а):
Что Вы предполагаете предпринять для сокращение семантических разрывов мэйнстрима


Не плохо бы было расположить мэйнстрим языки в рамках форт системы

Wlad писал(а):
(вопрос - нужно ли?)


Как минимум языки ничего не теряют от расположения в рамках форт-системы.


VshMt писал(а):
Т.е. при программировании на Форте надо использовать фортовскую факторизацию


Что за фортовская факторизация? и зачем ее использовать?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср апр 15, 2009 13:11 
Не в сети

Зарегистрирован: Вс май 06, 2007 02:13
Сообщения: 43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Mihail писал(а):
Что за фортовская факторизация? и зачем ее использовать?

Мы академиев не заканчивали, но попробую объяснить. Факторизация это деление программы на оптимальный набор слов который предполагает максимально использовать передачу параметров ч.з. стек (ну ес-но в хорошем смысле - без чрезмерных ухищрений по реорганизации стека). При этом будет достигнуто максимальное обособление слов в смысле передачи параметров (отсутствие глоб.переменных). Упрощение в смысле объема исходников каждого слова + бла бла бла (читайте Thinking FORTH). Смысл такой - меняем слово и это изменение не задевает (нет побочных эффектов) другие слова при условии сохранения порядка результатов на стеке, упрощение понимания смысла каждого слова. Посмотрел все понял - пошел дальше....
Ну это мое ИМХО, так как я понял, а я как нормальный чел могу и заблуждаться... Это мое право :lol: Вот.

Может подключение файловой системы в виде словарей и работа с фалами по типу <операция_как_параметр> <Имя_Файла|Имя_Папки|Имя_Диска>?

_________________
А в попугаях я умнее - целых 38!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт апр 16, 2009 08:37 
Не в сети

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


Как я понял, под словами понимаются подпрограммы. И какая разница, как мы будем передавать параметры?

VshMt писал(а):
Смысл такой - меняем слово и это изменение не задевает (нет побочных эффектов) другие слова при условии сохранения порядка результатов на стеке, упрощение понимания смысла каждого слова.


Что за побочные эффекты? Можно не примере?


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

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


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

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


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

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