Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср ноя 19, 2025 04:46

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 90 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Вс май 19, 2019 19:40 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 496
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Hishnik писал(а):
Ilya писал(а):
А как/откуда человек узнает про "ентот ваш Форт", если мы будем сидеть как жабы в своём "болоте"?

Даже на хабре после упоминания Форта в комментариях обнаруживаются люди, которые пишут, что они о таком языке знают. Так что не в этом дело. А если людям постоянно напоминать о языке, не выясняя, теми ли задачами они занимаются, реакция будет как на "замечательные" предложения кредитов, пластиковых окон и наборов кухонных ножей. Что касается хабра, то статья, отвечающая на вопросы, как пройти собеседование на зарплату N сотен тысяч рублей (а еще лучше - как уехать в страну эльфов), при этом позиционировав себя как непомерно крутого и незаменимого специалиста, прошла бы на ура. Это просто контингент такой, и такие вещи многие ждут, заходя на хабр. А статья по Форту вызовет "убойный" аргумент - "мы поискали на job.ru, вакансий нет, так что идите лесом с вашим старьем".

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Пн май 20, 2019 09:11 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2143
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
161eForth: секрет успеха -oкончание цикла статей про eForth на программируемом калькуляторе.
EFORTH для МК-161: Структуры данных


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1325
Благодарил (а): 4 раз.
Поблагодарили: 20 раз.
KPG писал(а):
161eForth: секрет успеха -oкончание цикла статей про eForth на программируемом калькуляторе.
EFORTH для МК-161: Структуры данных

А где комментарии?
В подобных выкладках это самое вкусное :))

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Пн май 20, 2019 19:53 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2143
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Victor__v писал(а):
KPG писал(а):
161eForth: секрет успеха -oкончание цикла статей про eForth на программируемом калькуляторе.
EFORTH для МК-161: Структуры данных

А где комментарии?
В подобных выкладках это самое вкусное :))

Ну так прокомментируйте! (тем более, что автор статей забанен на местном форуме)

P.S. Много ли, например, местных зарегистрированных пользователей комментируют "Дневник разработчика Nova" при интересе к Форт тематике? :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Вт май 21, 2019 00:33 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1325
Благодарил (а): 4 раз.
Поблагодарили: 20 раз.
Конечно много!
Половина форума! Аж целых 4 человека :D :D

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Вт май 21, 2019 01:46 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 8056
Благодарил (а): 29 раз.
Поблагодарили: 147 раз.
А что ж мы тут, лайки собираем? :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Сб окт 26, 2019 18:36 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2143
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Forth in der Robotik
Is Forth Dead
Teaching Stackmachines With A Slow Forth


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Пт май 01, 2020 20:46 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2143
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Публикация на Хабре.
Перевод: Ранние годы ФОРТа (Автор оригинала: Chuck Moore)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Сб май 02, 2020 05:56 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 175
Благодарил (а): 22 раз.
Поблагодарили: 13 раз.
Цитата:
Ранние годы ФОРТа

"Код с прямыми/косвенными потоками" - так шитый код, наверное, ещё не обзывали :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Чт июн 19, 2025 12:06 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1325
Благодарил (а): 4 раз.
Поблагодарили: 20 раз.
Я не знаю что за человек это писал, но он должен гореть на костре.
https://nweb42.com/books/forth/

Приличных слов нет.

Просто взгляните на то, какая там предлагается реализация ООП :^)
Ни структур, ни инициализаторов, ни деструкторов. Про полиморфизм ничего внятного. Хотя самое простое решение это обращаение к структуре данных объекта типа : SET-X 100 CELLS + @ EXECUTE ;

За многопоточность/многозадачность хочется автора воскресить и сжечь заново. Оказывается в форт-системах нет поддержки сабжа. SP-Forth версии 4.20 – 15 лет уже системе, где есть поддержка многопоточности.

А раздел про отпимизацию сводится к великому изречению "нужно делать хорошо, плохо делать не нужно".

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Чт июн 19, 2025 20:43 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 636
Откуда: Москва
Благодарил (а): 61 раз.
Поблагодарили: 30 раз.
О, да это просто кладезь лживой и непроверенной информации :)
Потыкал наугад главу "Низкоуровневое программирование" и волосы дыбом :)

"Работа с портами ввода-вывода"
Цитата:
Пример управления LCD дисплеем:
: lcd-init ( -- )
0x2000 1 ! \ Установка инициализации дисплея на порт 0x2000
0x2004 0x01 ! \ Отправка команды на дисплей
;
: lcd-clear ( -- )
0x2004 0x02 ! \ Отправка команды очистки экрана
;
В данном примере создаются два слова: lcd-init для инициализации дисплея и lcd-clear для очистки экрана. Порты 0x2000 и 0x2004 используются для обмена командами с дисплеем.

"Управление прерываниями"
Цитата:
Пример того, как можно задать обработчик для прерывания, может выглядеть так:
: setup-interrupt
INTERRUPT-VECTOR interrupt-handler !
;
Здесь INTERRUPT-VECTOR — это специальный адрес памяти, где хранятся векторные таблицы прерываний, а ! используется для записи в это место нашего обработчика.

Но больше всего убило "Взаимодействие с аппаратным обеспечением"
Цитата:
Пример записи в порт:
: write-port ( addr data -- )
dup ! \ записываем data в порт, указанный адресом addr
;
Цитата:
Пример:
: set-register ( addr value -- )
dup ! \ записываем значение в регистр по адресу addr
;
Покорнейше прошу пардона за мой французский, но какой, нахрен, dup? И какой dup это писал?

Среди меня бытует мнение, что этот (не побоюсь этого слова) "учебник" нейросеть родила.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Чт июн 19, 2025 21:47 
Не в сети
Аватара пользователя

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 636
Откуда: Москва
Благодарил (а): 61 раз.
Поблагодарили: 30 раз.
Не про Форт, но все же...
https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D0%B1%D0%B8%D0%B1%D0%B0%D0%B9%D1%82
Друзья, а вы в курсе, что в природе существуют кибибайты и даже (не при дамах будет сказано) йобибайты? А килобайт уже давно весит 1000 байт, а не 1024?
Живите теперь с этим :D


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Пт июн 20, 2025 01:31 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 8056
Благодарил (а): 29 раз.
Поблагодарили: 147 раз.
Как-то да, материалы странные. Во-первых, фактические ошибки. Похоже на нейросеть, которая основывается на MSIL, где команда store действительно берет параметры для записи в память в порядке addr, data. Но опять же, с LCD работают... немного не так (это если обтекаемо выражаться).

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

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


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

Зарегистрирован: Ср июл 03, 2019 11:10
Сообщения: 636
Откуда: Москва
Благодарил (а): 61 раз.
Поблагодарили: 30 раз.
Нет, ну реально помойка какая-то.

"Оптимизация стековых операций"
Цитата:
: compare-pairs ( a1 b1 a2 b2 -- flag )
2OVER 2OVER = SWAP = AND ;
Это компактный способ сравнить два двойных значения.
Алё, почему на вершине стека неправильный ответ, а под ним тонны мусора? Больше всего умиляет связка SWAP =. Как такое вообще придумать можно?
Цитата:
Часто встречается паттерн, когда значение дублируется лишь для того, чтобы позже его отбросить. Пример:
: show-square ( n -- )
DUP * . ;
Если результат не нужен дальше, можно написать:
: show-square ( n -- )
DUP * . DROP ;
Однако лучше переписать так, чтобы явно показать отсутствие интереса к результату:
: show-square ( n -- )
DUP * . ;
А если n более не нужен:
: show-square ( n -- )
DUP * . ;
Важно не оставлять на стеке лишние значения, особенно в исполняемых словах, где стек должен оставаться сбалансированным.
Про неуместный здесь DROP молчу, выглядит так, словно автор решил последовать своему же совету и не оставлять на стеке лишние значения, но слегка перестарался. Но как можно писать 4 одинаковых (почти) примера в одном абзаце?

Либо автор никогда не писал на Форте, либо нейросеть. Много воды, мало информации (даже с учетом недостоверной). Выглядит как какое-то вредительство.

Хех, на этом же сайте по куче других языков учебники есть. Например, монументальный труд по bra*nfuck: https://nweb42.com/books/brainfuck/
"Набор команд Brainfuck" https://nweb42.com/books/brainfuck/nabor-komand-brainfuck/
Цитата:
. (Вывод символа)
Выводит ASCII-символ, соответствующий значению в текущей ячейке.
+++++++.
Этот код выведет символ G (код 71 в ASCII).
Серьезно? Откуда такая уверенность?
Цитата:
Пример бесконечного цикла:
+[.-]
Этот код увеличивает значение текущей ячейки на 1, затем в цикле выводит ASCII-символ и уменьшает значение. Цикл продолжается, пока значение не станет 0.
Так "бесконечного" или "до 0"? (Подсказка: до 0)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Сб июн 21, 2025 15:30 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 8056
Благодарил (а): 29 раз.
Поблагодарили: 147 раз.
"Ключница водку делала". :D Ну то есть "ИИ текст писал". Тупиковый путь из-за отсутствия достаточного объема текста для обучения этого ИИ. Отсюда и смешные с точки зрения Форта пассажи, надерганные из того, что нашлось и хоть как-то похоже по ключевым словам.
Я уже не говорю о пресловутой гибкости Форта.

Цитата:
как на языке Forth сложить два числа на стеке?

ChatGPT 4.5 | DeepSeek | Midjourney, [21.06.2025 14:25]
В языке Forth для сложения двух чисел, находящихся на стеке, используется оператор +. Вот простой пример:

1. Сначала вы помещаете два числа на стек. Например, чтобы сложить числа 3 и 4, вы можете ввести:

3 4


2. Затем вы вызываете оператор +, чтобы сложить эти два числа:

+


Таким образом, полная последовательность команд будет выглядеть так:

3 4 +


После выполнения этой команды на вершине стека будет результат сложения, то есть 7.


как на языке Forth сложить два числа на стеке и взять младшие 8 бит?

ChatGPT 4.5 | DeepSeek | Midjourney, [21.06.2025 14:26]
В языке Forth, чтобы сложить два числа на стеке и взять младшие 8 бит результата, вы можете использовать оператор + для сложения и оператор AND с маской 255 (что соответствует младшим 8 битам). Вот пример последовательности команд:

1. Поместите два числа на стек. Например, чтобы сложить 300 и 200:

300 200


2. Сложите их:

+


3. Примените маску, чтобы получить младшие 8 бит:

255 AND


Полная последовательность команд будет выглядеть так:

300 200 + 255 AND


После выполнения этих команд на вершине стека будет результат, содержащий младшие 8 бит суммы двух чисел.


если в языке Forth слово + ограничивает разрядность суммы 8 младшими битами, то как на языке Forth сложить два числа на стеке и взять младшие 8 бит?

ChatGPT 4.5 | DeepSeek | Midjourney, [21.06.2025 14:27]
В языке Forth операция сложения + сама по себе не ограничивает разрядность суммы. Чтобы сложить два числа и получить только младшие 8 бит результата, вы можете использовать операцию сложения, а затем применить битовую маску. Вот как это можно сделать:

1. Поместите два числа на стек.

2. Используйте оператор + для сложения.

3. Примените оператор AND с маской 255 (или 0xFF), чтобы получить младшие 8 бит.

Вот пример последовательности команд:

300 200 + 255 AND


В этом примере:

• 300 и 200 помещаются на стек.

• + складывает их, и результат помещается на стек.

• 255 AND берет результат сложения и применяет к нему битовую маску, оставляя только младшие 8 бит.

После выполнения этих команд на вершине стека будет значение, соответствующее младшим 8 битам суммы двух чисел.


Вот! То есть было четко сказано, что + уже модифицирован и делает ровно то, что нужно.

Но теперь пробую это указать явно.

Цитата:
я переписал слово + в языке Forth, чтобы оно ограничивало разрядность суммы 8 младшими битами. как мне в этом случае сложить два числа на стеке и взять младшие 8 бит?

ChatGPT 4.5 | DeepSeek | Midjourney, [21.06.2025 14:31]
Если вы переписали оператор + в языке Forth так, чтобы он автоматически ограничивал сумму до младших 8 бит, то вам просто нужно использовать этот новый оператор для сложения двух чисел на стеке.

Предположим, что вы определили новое слово + следующим образом (это всего лишь пример):

: + ( n1 n2 -- sum )
+ 255 AND ;


Теперь, чтобы сложить два числа и получить результат с ограничением по младшим 8 битам, вы можете просто использовать ваш новый оператор + следующим образом:

300 200 + .


Здесь:

• 300 и 200 помещаются на стек.

• + выполняет сложение и автоматически применяет маску для получения только младших 8 бит.

• . выводит результат на экран.

Таким образом, если вы уже определили новое поведение для оператора +, вам не нужно дополнительно применять маску; просто используйте его как обычно.



Но теперь что? Нужно сначала все исходники скормить ИИ, чтобы он разобрался, что к чему?


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

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


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

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


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

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