Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт ноя 22, 2019 09:50

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 75 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Вс мар 03, 2019 00:54 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 53
Благодарил (а): 7 раз.
Поблагодарили: 4 раз.
Victor__v писал(а):
zma писал(а):
В Нове есть цикл со счётчиком?

Нет, DO LOOP в ядре отсутствует, поскольку требуется очень редко

Кстати, что в контексте Форта понимается под ядром? Та часть системы, которая компилируется чем-то внешним?


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6814
Благодарил (а): 16 раз.
Поблагодарили: 111 раз.
zma писал(а):
Кстати, что в контексте Форта понимается под ядром? Та часть системы, которая компилируется чем-то внешним?

Есть два варианта. Первый - как вы написали, а второй - слова, входящие в часть CORE, т.е. обязательные для любой реализации Форта. Подразумевается, что для какой-то платформы может не существовать файловой системы или чего-то еще. А вот CORE должно быть.



За это сообщение автора Hishnik поблагодарил: zma
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Вс мар 03, 2019 01:00 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 909
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
zma писал(а):
Кстати, что в контексте Форта понимается под ядром? Та часть системы, которая компилируется чем-то внешним?

Я под этим понимаю все слова и механизмы готового форта.
Т.е. без доп. модификаций и докомпиляций сверху.

Хотя это сообщение прокомментирует Хищник, и поведает о том, как я глубоко неправ :D

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Вс мар 03, 2019 06:03 
Victor__v писал(а):
zma писал(а):
В Нове есть цикл со счётчиком?

Нет, DO LOOP в ядре отсутствует, поскольку требуется очень редко

Кстати, тоже убрал из ядра (да и из языка) уродливый DO LOOP

FOR NEXT из colorForth оказался скромней и более интуитивным. Приятней с ним работать, легче читать текст. Проследил историю цикла со счётчиком. Мур действительно взял FOR NEXT из Бейсика. Оказалась хорошая выдумка. :shuffle;

Изначально же цикл DO был в Фортане. Джон Кемени немного подумал перед тем, как его забрать из Фортрана в свой Бейсик. А Мур не подумал и просто скопировал себе в компилятор, как было в Фортране. Примерно в 1972 заменил фортрановское CONTINUE на вошедшее в стандарты LOOP

Понимание, что Кемени лучше ухватил и реализовал идею, пришло значительно позже. :D


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Вс мар 03, 2019 07:51 
Не в сети

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 53
Благодарил (а): 7 раз.
Поблагодарили: 4 раз.
Victor__v писал(а):
Я под этим понимаю все слова и механизмы готового форта.

Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!")
Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Вс мар 03, 2019 12:07 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 909
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
zma писал(а):
Victor__v писал(а):
Я под этим понимаю все слова и механизмы готового форта.

Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!")
Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума.

Голый исполняемый файл (EXE, ELF и пр.)

Границы-то есть, просто в представлении они могут быть размыты.
Вот есть утверждение: язык такой-то медленный.
Но язык не может быть медленным, поскольку это тупо набор различных правил трансляции. Вот и всё.
Ну а что такое форт? Слова разделённые пробелами. Простое правило, не так ли?
Соот-но программа на форте это то, что исполнилось/скомпилировалось при трансляции.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Nova Дневник разработчика
СообщениеДобавлено: Вс мар 03, 2019 16:22 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1124
Благодарил (а): 3 раз.
Поблагодарили: 42 раз.
zma писал(а):
Victor__v писал(а):
Я под этим понимаю все слова и механизмы готового форта.

Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!")
Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума.

Как минимум есть Форт и Форт-подобные языки.
Например, наличие механизмов расширения языка и его предполагаеиого строения делает Форт Фортом :)

P.S. Неплохой критерий - это совместимость c ANSI Forth 94, что бы опираться на известный базис слов.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6814
Благодарил (а): 16 раз.
Поблагодарили: 111 раз.
zma писал(а):
Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!")
Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума.

Понятие программного продукта вообще несколько размыто само по себе. Это и собственно исполняемый файл, и подгружаемые модули (скомпилированные или в исходных текстах). Для Форта размер в словах может варьироваться от 30-40 (embedded) до 300-400 (desktop), чтобы потом с этим можно было работать уже на Форте, не возвращаясь постоянно к исходному варианту, чтобы его докомпилировать какой-то другой программой. На этом пути могут быть и перегибы, когда для Форта специально собирается ядро минимального размера, чтобы потом все, что вообще можно выразить на Форте, выражалось именно на Форте. Но в принципе это не самоцель, и тут уже вопрос удобства, будет ли в ядре сразу NIP, или обязательно подгружать модуль, который сделает : NIP SWAP DROP ;

С субъективной готовностью опять же несложно. Есть в ГОСТ 19-й группы документ "описание применения". Если его получается заполнить разумным текстом, то программа готова :)


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6814
Благодарил (а): 16 раз.
Поблагодарили: 111 раз.
Victor__v писал(а):
Вот есть утверждение: язык такой-то медленный.
Но язык не может быть медленным, поскольку это тупо набор различных правил трансляции. Вот и всё.

В целом да, на то и существует разделение процесса компиляции на фазы. Другое дело, что конкатенативная компиляция в сочетании со стековой машиной не предусматривают целый спектр оптимизаций, которые в принципе можно было бы сделать. Поэтому тот код, который получается просто из Форта в соответствии с его правилами, не такой быстрый, каким мог бы вообще быть код, выполняющий те же вычисления.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6814
Благодарил (а): 16 раз.
Поблагодарили: 111 раз.
KPG писал(а):
Неплохой критерий - это совместимость c ANSI Forth 94, что бы опираться на известный базис слов.

Это плохой критерий, потому что ANS - банально пиар-документ, призванный представлять Forth Inc как единственную "настоящую" группу форт-разработчиков. Соответственно, никакой программы развития у них нет и не предвидится по причине отсутствия возможности что-то развивать. Люди кормятся со старых контактов в американских компаниях, подсовывая менеджерам "американский стандарт", которому они соответствуют. Этот путь, кроме них самих, никому недоступен, поэтому и надеяться, что совместимость с ANS что-то такое даст, бессмысленно и вредно.


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1124
Благодарил (а): 3 раз.
Поблагодарили: 42 раз.
Hishnik писал(а):
KPG писал(а):
Неплохой критерий - это совместимость c ANSI Forth 94, что бы опираться на известный базис слов.

Это плохой критерий, потому что ANS - банально пиар-документ, призванный представлять Forth Inc как единственную "настоящую" группу форт-разработчиков.

Так и думал, что это высказывание, как "красная тряпка" для кого того.
По моему, мысль повторённая Хищником в большом числе постов данного форума "умнее" не становится. :))
А, то что этот стандарт обсуждали и принимали в 94г много участников, кроме Forth Inc, маленькое такое недоразумение? :)
Есть ещё ISO стандарт помимо каких то других отраслевых стандартов.
Hishnik писал(а):
Соответственно, никакой программы развития у них нет и не предвидится по причине отсутствия возможности что-то развивать. .

Мне то, какое дело до проблем с их развитием? У меня есть своё мнение и точка зрения.
Hishnik писал(а):
Люди кормятся со старых контактов в американских компаниях, подсовывая менеджерам "американский стандарт", которому они соответствуют. Этот путь, кроме них самих, никому недоступен, поэтому и надеяться, что совместимость с ANS что-то такое даст, бессмысленно и вредно.

А мне их кусок хлеба не делить. В нашей стране тоже достаточно распила бюджетных средств. :)

P.S. Сколько, например в SPF4, Win32Forth, GForth от ANSI стандарта? (хотя они проходят проверку на соответствие ему)


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6814
Благодарил (а): 16 раз.
Поблагодарили: 111 раз.
KPG писал(а):
Так и думал, что это высказывание, как "красная тряпка" для кого того.
По моему, мысль повторённая Хищником в большом числе постов данного форума "умнее" не становится.

Так и мысль, что вечный двигатель невозможен, "умнее" не становится. Ей и не надо быть "умнее". Иметь вечный двигатель приятно, вот на эту идею и западают раз за разом. И в Форте раз за разом западают на идею, что надо пристроиться к стандарту, а дальше оно как-нибудь само устроится.
KPG писал(а):
А, то что этот стандарт обсуждали и принимали в 94г много участников, кроме Forth Inc, маленькое такое недоразумение?

Да, именно маленькое недоразумение. Кто конкретно? Не "много участников", а кто конкретно, что он с 94-го года сделал, и где он вообще? А то вот мое, пока что подтверждаемое, мнение на этот счет - собрался междусобойчик, тоже многие понадеялись, что Forth Inc будет их кормить, а с них банально собрали подписи под документом, и некая Elizabeth Rather открытым текстом мне писала, что стандарт нужен, чтобы Forth Inc могла его показывать своим заказчикам.

KPG писал(а):
Мне то, какое дело до проблем с их развитием? У меня есть своё мнение и точка зрения.

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

KPG писал(а):
А мне их кусок хлеба не делить. В нашей стране тоже достаточно распила бюджетных средств.

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

Так что для Новы тоже два "крайних" по спектру возможностей варианта.
1. Просто писать код, в определенный момент переключиться на "тут уже все очень хорошо, собираем восторги и последователей". Будет плохо, потому что начнется каша из как-бы-последователей, "учителей", споров уровня "да у меня SORT на три такта быстрее" с финальным выходом на общее недовольство миром, который не смог оценить что-то там крутое в коде.
2. Найти в своем окружении (на работе) подходящую задачу, решить ее на Форте, подстроив Нову в нужную сторону. Добиться оценки от непрограммистов уровня "хорошая вещь, нам такую надо". Найти в этих непрограммистах сторонников, которые будут гонять критиканов словами "уйдите от человека, нам плевать, насколько вы там считаете этот язык крутым, но он-то на нем дело делает, а вы только треплетесь со своими не-фортами". Получить общее понимание, куда двигаться, какие слова добавлять, как модифицировать движок. Собственно, двинуться в эту сторону, зафиксировав свою позицию как "автор собственного инструмента, помогающего в практической деятельности".


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

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 53
Благодарил (а): 7 раз.
Поблагодарили: 4 раз.
Victor__v писал(а):
Вот есть утверждение: язык такой-то медленный.
Но язык не может быть медленным, поскольку это тупо набор различных правил трансляции. Вот и всё.
Ну а что такое форт? Слова разделённые пробелами. Простое правило, не так ли?


Под этой фразой обычно понимается медленная основная реализация (или большинство реализаций) языка. Язык, опять-таки, правил трансляции не устанавливает (согласно теории формальных языков), а состоит лишь из алфавита, лексики, синтаксиса и семантики. Как их уложить в машину - детали реализации, один и тот же язык можно компилировать и интерпретировать.
В частности, касательно синтаксиса. "Слова, разделённые пробелами". А S" не является ли синтаксисом определения строковых литералов, не попадая под это правило? То есть синтаксис языка в целом меняется в зависимости от того, какие слова в нём есть.


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1124
Благодарил (а): 3 раз.
Поблагодарили: 42 раз.
Hishnik писал(а):
Ой, и где же? Просто наивных людей, наслушавшихся, что все везде пилят и ничего не делают, довольно-таки много.

Мне достаточно взглянуть на рыночную цену (а у нас ведь рынок?) STM32
контроллера от Миландра в Чип и Дип :shuffle;
Hishnik писал(а):
KPG писал(а):
Мне то, какое дело до проблем с их развитием? У меня есть своё мнение и точка зрения.

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

ДЕМАГОГИЯ!

Правила демагога


Последний раз редактировалось KPG Вс мар 03, 2019 19:52, всего редактировалось 2 раз(а).

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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6814
Благодарил (а): 16 раз.
Поблагодарили: 111 раз.
KPG писал(а):
Мне достаточно взглянуть на рыночную цену (а у нас ведь рынок?) STM32

Чипы в специсполнении зарубежного производства стоят запредельно. Как насчет 85 тыс. долларов за штуку?


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

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


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

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


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

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