Forth http://www.fforum.winglion.ru/ |
|
Статья от Jeff Fox 1999 года http://www.fforum.winglion.ru/viewtopic.php?f=8&t=3274 |
Страница 4 из 7 |
Автор: | Hishnik [ Сб авг 01, 2020 19:44 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Ilya писал(а): Интерактивность - большой "+" при отработке нового алгоритма/технологии (особенно при работе с МК). Да, именно так. Часто хочется иметь "дверь в лето" aka "консоль для управления подключенной железкой", а не IDE, в которой все действия будут задаваться большой программой. Ну все равно же люди потом начинают писать разные коды для отсылки в МК, чтобы тот делал какие-то элементарные вещи. Ilya писал(а): Особенности: условный "ардуинщик" - хочу поморгать светодиодом (вывести циферку на lcd, ...) -> поисковик -> на те вам куча готовых либ и инструкций + программу, которая конвертирует требуемый тебе шрифт в готовый исходник. Что самое интересное - то, что хочет сделать ардуинщик, явно или неявно, но аккуратно сводится к тому, что может сделать Ардуино. А дальше начинается интересное дело - ведь ни моргание светодиодом, ни вывод строки на индикатор сами по себе не являются ценным и законченным продуктом. Выводить надо что-то... а что? В результате возня с Ардуино и другими МК с подобным стилем (IDE, библиотеки, примеры) плавно сворачивается в плотный клубок вокруг неуверенного менеджерского "с нашей платой вы можете решать любые свои задачи". А какие любые-то? "Нууу... любые!". Но извините, вопросы-то не в выводе строки, вопросы к МК: "можно ли измерить нужную величину с требуемой точностью и в пределах заданного времени, а также передавать это на ПК", "можно ли по командам с ПК управлять подключенными устройствами, задавая нужную температуру, скорость вращения, координату, влажность почвы в горшке и т.д.". А это уже вопрос не библиотек Ардуино, а головы разработчика. Ilya писал(а): В общем: более кропотливая работа, но зато более глубокое понимание сути + ознакомление с новыми технологиями. Принципиальный вывод! |
Автор: | Hishnik [ Сб авг 01, 2020 19:52 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Total Vacuum писал(а): Представьте, что в какой-то момент вы в одиночку остались лицом к лицу с десятком разношерстных микроконтроллеров, с еще большим количеством плат и кучей проектов, созданных на разных языках (С/С++, Asm) во всевозможных IDE/SDK (Keil, IAR, VisualDSP++, ...)... Да, да, и каждый поставщик уверяет, что именно его МК - самый-самый, а IDE позволяет "решать любые задачи". Total Vacuum писал(а): Если скажу, что сегодня пишу на Форте, то это будет не совсем честно: А вот не соглашусь с "не совсем честно"! Это как раз элемент разлагающего влияния ANS-пропаганды - ну кто сказал, что "честно == так, как нам навязали"? Total Vacuum писал(а): ASCIIZ-строки вида "string" Вот уж сколько на меня с этим наскакивали. А чем плохи ASCIIZ-строки? Да ничем, это просто "сегодняшний день". В Турбо-Паскале были строки со счетчиком, в ANS их тоже ввели - может быть, из-за Borland. Сейчас большинство вызовов библиотечных функций использует именно ASCIIZ. "У Форта свой путь, поэтому нужно addr, len, но ни в коем случае не ASCIIZ"? Ну уж нет! Total Vacuum писал(а): префиксы в числах 0xDEADBEEF По-моему, одно из первых, что я сделал. И 0x 0d 0b, и какое-то время DEADBEEFh было. Опять же - почему вдруг это не Форт? Это именно тот самый "дух Форта", когда программист говорит "я вижу потребность, я вижу, что это мне поможет, и я могу это сделать - значит, я это и сделаю". Total Vacuum писал(а): В моей ситуации, считаю, такое вольное обращение с Фортом оправдано Я бы сказал, что оно не "оправдано", а попросту соответствует наиболее корректному с методологической точки зрения использованию самой концепции Форта. |
Автор: | KPG [ Сб авг 01, 2020 20:22 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Hishnik писал(а): Total Vacuum писал(а): В моей ситуации, считаю, такое вольное обращение с Фортом оправдано Я бы сказал, что оно не "оправдано", а попросту соответствует наиболее корректному с методологической точки зрения использованию самой концепции Форта. Хищник - доктор очевидность. |
Автор: | Ilya [ Сб авг 01, 2020 22:17 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Hishnik писал(а): ...кусь... Но извините, вопросы-то не в выводе строки, вопросы к МК: "можно ли измерить нужную величину с требуемой точностью и в пределах заданного времени, а также передавать это на ПК", "можно ли по командам с ПК управлять подключенными устройствами, задавая нужную температуру, скорость вращения, координату, влажность почвы в горшке и т.д.". А это уже вопрос не библиотек Ардуино, а головы разработчика. Тут правда надо сделать одну поправочку. Когда тебе хочется повторить "лампочку Гайвера" или у тебя "дэдлайн" (простигоспади) и надо ко времени запилить устройство (чтобы получить зарплату/премию), то это одно! А если для тебя (меня), это просто увлечение и возможность к саморазвитию, то это немного другое! Но в любом случае, это всяко лучше, чем водку бухать и ширятся наркотой. |
Автор: | Hishnik [ Вс авг 02, 2020 01:37 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
KPG писал(а): Я бы сказал, что оно не "оправдано", а попросту соответствует наиболее корректному с методологической точки зрения использованию самой концепции Форта. Хищник - доктор очевидность. Да, но раз человек не совсем уверен и сомневается, значит были поводы сомневаться? Значит, волна вот этой пропаганды "ANS настоящий, все остальное - игрушки" все же находила цель. |
Автор: | Hishnik [ Вс авг 02, 2020 03:08 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Ilya писал(а): Когда тебе хочется повторить "лампочку Гайвера" или у тебя "дэдлайн" (простигоспади) и надо ко времени запилить устройство (чтобы получить зарплату/премию), то это одно! Вот кстати, если уж от "лампочки Гайвера" перейти к адресуемым светодиодным лентам, то тут-то Форт и форт-процессоры разворачиваются в полной мере! Несмотря на то, что оно вроде бы кажется несложным, есть маленькая тонкость - однопроводные светодиоды очень критичны к времянкам, а допуск примерно в 200 нс на практике означает, что процессоры 8 МГц проходят на грани. В итоге: ATtine, STM8 и подобные - пара лент, загружаемые последовательности, управление кнопкой (попытка управлять на ходу сбивает последовательности ALED) STM32 - больше лент, в процессе можно что-то посылать по встроенному USB FPGA + форт-процессор - сколько не жалко каналов управления, многоканальный стробоскопический эффект https://www.justabunchofgeeks.com/ С микроконтроллерами, конечно, сложный и неоднозначный вопрос. Здесь я бы сослался на пример спирали. На одном витке "Форт - хобби, МК - для работы". Но если пройти чуть дальше, то "МК - для рутинной работы, Форт - для сложных профессиональных проектов". Я согласен, что просто с наскока нельзя скачать первый попавшийся Форт и получить на нем результаты лучше, чем для комплекта разработчика, когда плата приехала в коробочке, встроенный во флешку драйвер подсунул ссылку на сайт с IDE, и везде полно библиотек. Вот только получить на таком пути можно уже известные результаты, когда производитель МК изъездил эту задачу вдоль и поперек и уже все библиотеки написал, протестировал и даже положил в свободный доступ. Только что, мы и правда теперь самые умные, раз зашли, загрузили и скомпилировали? А вот с любым собственным инструментом таких проблем гораздо меньше, и продукты получаются более конкурентоспособные (если, конечно, это результат систематической работы, а не внезапного желания "сделать лучший в мире Форт"). |
Автор: | zma [ Вс авг 02, 2020 13:43 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Hishnik писал(а): Вот уж сколько на меня с этим наскакивали. А чем плохи ASCIIZ-строки? Да ничем, это просто "сегодняшний день". В Турбо-Паскале были строки со счетчиком, в ANS их тоже ввели - может быть, из-за Borland. Сейчас большинство вызовов библиотечных функций использует именно ASCIIZ. "У Форта свой путь, поэтому нужно addr, len, но ни в коем случае не ASCIIZ"? Ну уж нет! А как Вы, кстати, выделяете память под строку и добавляете нулевой байт? В куче или копируете строку в словарь? |
Автор: | KPG [ Вс авг 02, 2020 16:05 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Total Vacuum писал(а): Параллельно, когда появляется свободное время, ковыряю несколько гораздо более традиционных (и - наоборот - гораздо более экзотических ) Форт-систем, т.к. не исключаю, что такие инструменты рано или поздно понадобятся... А, какой примерно список, из названий этих Форт-систем? zma писал(а): А как Вы, кстати, выделяете память под строку и добавляете нулевой байт? В куче или копируете строку в словарь? В SPF4 к строке со счётчиком, автоматически дописывается 0 и поэтому достаточно просто перейти к ASCIIZ строке 1+ от строки со счётчиком, |
Автор: | Hishnik [ Вс авг 02, 2020 17:42 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
zma писал(а): А как Вы, кстати, выделяете память под строку и добавляете нулевой байт? В куче или копируете строку в словарь? В словаре. Набираемых строк не так много, чтобы они переполнили словарь. Если точнее, в памяти данных. В словарь заносится слово-литерал, кладущее указатель на область памяти данных, в памяти данных размещаются символы. KPG писал(а): В SPF4 к строке со счётчиком, автоматически дописывается 0 и поэтому достаточно просто перейти к ASCIIZ строке 1+ от строки со счётчиком, Поэтому надо постоянно делать DROP или 1+. Зачем - непонятно, зато "совместимо со стандартом" Не проще ли готовить строки сразу в том формате, в котором они потом будут восприниматься программным окружением - теми же функциями ОС в первую очередь? |
Автор: | KPG [ Вс авг 02, 2020 17:59 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Hishnik писал(а): KPG писал(а): В SPF4 к строке со счётчиком, автоматически дописывается 0 и поэтому достаточно просто перейти к ASCIIZ строке 1+ от строки со счётчиком, Поэтому надо постоянно делать DROP или 1+. Зачем - непонятно, зато "совместимо со стандартом" Не проще ли готовить строки сразу в том формате, в котором они потом будут восприниматься программным окружением - теми же функциями ОС в первую очередь? Не вижу никаких сложностей с этим, если не заморачиваться с отдельными надуманными "Форт" проблемами. |
Автор: | Victor__v [ Вс авг 02, 2020 18:11 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Тут согласен с KPG Зачем в очередной раз мусолить то, каким образом лучше реализовывать строки. Как будто заняться нечем |
Автор: | Hishnik [ Вс авг 02, 2020 18:35 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
KPG писал(а): Не вижу никаких сложностей с этим, если не заморачиваться с отдельными надуманными "Форт" проблемами. Если форматы данных делаются с учетом специфики задачи, значит Форт предназначен для решения задачи. Если форматы данных делаются "потому что так написано", значит Форт предназначен для самоидентификации автора и декларирования его принадлежности к определенной группе. Остается только написать жалостливое письмо в комитет и попросить пригреть и накормить ("ведь я же все-все делаю как вы написали!"). |
Автор: | Hishnik [ Вс авг 02, 2020 19:19 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Victor__v писал(а): Зачем в очередной раз мусолить то, каким образом лучше реализовывать строки. Как будто заняться нечем Тут ведь вопрос не как реализовывать, а как понять, что они "лучше" И если "лучше" оценивается по отвлеченным признакам, например, "одобрит ли такое международный комитет Форта", то это вредный эффект подмены цели. Цель разработки Форта не в том, чтобы понравится международному комитету - из такой цели следует только последующая просьба к комитету взять на содержание. Хороший пример подмены цели есть в литературе по системному анализу. В эпоху английских колонизаторов в Индии англичане боялись кобр и хотели уменьшить их число. Для этого они назначили награду за принесенную им голову кобры. Индийцы.... начали разводить кобр Англичане схватились за голову и отменили награду. Индийцы... ну понятно, раз кобры больше не нужны, они их выпустили |
Автор: | Victor__v [ Пн авг 03, 2020 12:06 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
По мне это борьба бобра с ослом. Ну серьезно, внутренние представление м. б. любым. Вид a len, например, достаточно удобен для всяких там SEARCH COMPARE SPLIT и пр. А то что в топе сейчас 0-строки, ну так легче делать :0 |
Автор: | Hishnik [ Пн авг 03, 2020 14:24 ] |
Заголовок сообщения: | Re: Статья от Jeff Fox 1999 года |
Victor__v писал(а): По мне это борьба бобра с ослом. Ну серьезно, внутренние представление м. б. любым. Я могу отметить, что такая позиция стала активной относительно недавно Раньше было сложновато пробиться через "в стандарте написано, значит так и надо! А, нет, делать не будем, будем ждать, пока оно само как-то появится". |
Страница 4 из 7 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |