Forth http://fforum.winglion.ru/ |
|
Nova Дневник разработчика http://fforum.winglion.ru/viewtopic.php?f=58&t=3227 |
Страница 2 из 15 |
Автор: | zma [ Вс мар 03, 2019 00:54 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Victor__v писал(а): zma писал(а): В Нове есть цикл со счётчиком? Нет, DO LOOP в ядре отсутствует, поскольку требуется очень редко Кстати, что в контексте Форта понимается под ядром? Та часть системы, которая компилируется чем-то внешним? |
Автор: | Hishnik [ Вс мар 03, 2019 01:00 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
zma писал(а): Кстати, что в контексте Форта понимается под ядром? Та часть системы, которая компилируется чем-то внешним? Есть два варианта. Первый - как вы написали, а второй - слова, входящие в часть CORE, т.е. обязательные для любой реализации Форта. Подразумевается, что для какой-то платформы может не существовать файловой системы или чего-то еще. А вот CORE должно быть. |
Автор: | Victor__v [ Вс мар 03, 2019 01:00 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
zma писал(а): Кстати, что в контексте Форта понимается под ядром? Та часть системы, которая компилируется чем-то внешним? Я под этим понимаю все слова и механизмы готового форта. Т.е. без доп. модификаций и докомпиляций сверху. Хотя это сообщение прокомментирует Хищник, и поведает о том, как я глубоко неправ |
Автор: | ath [ Вс мар 03, 2019 06:03 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Victor__v писал(а): zma писал(а): В Нове есть цикл со счётчиком? Нет, DO LOOP в ядре отсутствует, поскольку требуется очень редко Кстати, тоже убрал из ядра (да и из языка) уродливый DO LOOP FOR NEXT из colorForth оказался скромней и более интуитивным. Приятней с ним работать, легче читать текст. Проследил историю цикла со счётчиком. Мур действительно взял FOR NEXT из Бейсика. Оказалась хорошая выдумка. Изначально же цикл DO был в Фортане. Джон Кемени немного подумал перед тем, как его забрать из Фортрана в свой Бейсик. А Мур не подумал и просто скопировал себе в компилятор, как было в Фортране. Примерно в 1972 заменил фортрановское CONTINUE на вошедшее в стандарты LOOP Понимание, что Кемени лучше ухватил и реализовал идею, пришло значительно позже. |
Автор: | zma [ Вс мар 03, 2019 07:51 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Victor__v писал(а): Я под этим понимаю все слова и механизмы готового форта. Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!") Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума. |
Автор: | Victor__v [ Вс мар 03, 2019 12:07 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
zma писал(а): Victor__v писал(а): Я под этим понимаю все слова и механизмы готового форта. Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!") Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума. Голый исполняемый файл (EXE, ELF и пр.) Границы-то есть, просто в представлении они могут быть размыты. Вот есть утверждение: язык такой-то медленный. Но язык не может быть медленным, поскольку это тупо набор различных правил трансляции. Вот и всё. Ну а что такое форт? Слова разделённые пробелами. Простое правило, не так ли? Соот-но программа на форте это то, что исполнилось/скомпилировалось при трансляции. |
Автор: | KPG [ Вс мар 03, 2019 16:22 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
zma писал(а): Victor__v писал(а): Я под этим понимаю все слова и механизмы готового форта. Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!") Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума. Как минимум есть Форт и Форт-подобные языки. Например, наличие механизмов расширения языка и его предполагаеиого строения делает Форт Фортом P.S. Неплохой критерий - это совместимость c ANSI Forth 94, что бы опираться на известный базис слов. |
Автор: | Hishnik [ Вс мар 03, 2019 16:44 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
zma писал(а): Закономерный вопрос: что есть готовый Форт? Мой Форт может читать текст программы с клавиатуры и из файла и выполнять его, он готовый? Или готовность определяется разработчиком чисто субъективно ("Всё, сделал!") Насколько я понял, Форт вообще границ не устанавливает (где язык, а где программа, где ядро, а где библиотеки), поэтому и спрашиваю, что под этим понимают участники форума. Понятие программного продукта вообще несколько размыто само по себе. Это и собственно исполняемый файл, и подгружаемые модули (скомпилированные или в исходных текстах). Для Форта размер в словах может варьироваться от 30-40 (embedded) до 300-400 (desktop), чтобы потом с этим можно было работать уже на Форте, не возвращаясь постоянно к исходному варианту, чтобы его докомпилировать какой-то другой программой. На этом пути могут быть и перегибы, когда для Форта специально собирается ядро минимального размера, чтобы потом все, что вообще можно выразить на Форте, выражалось именно на Форте. Но в принципе это не самоцель, и тут уже вопрос удобства, будет ли в ядре сразу NIP, или обязательно подгружать модуль, который сделает : NIP SWAP DROP ; С субъективной готовностью опять же несложно. Есть в ГОСТ 19-й группы документ "описание применения". Если его получается заполнить разумным текстом, то программа готова |
Автор: | Hishnik [ Вс мар 03, 2019 16:49 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Victor__v писал(а): Вот есть утверждение: язык такой-то медленный. Но язык не может быть медленным, поскольку это тупо набор различных правил трансляции. Вот и всё. В целом да, на то и существует разделение процесса компиляции на фазы. Другое дело, что конкатенативная компиляция в сочетании со стековой машиной не предусматривают целый спектр оптимизаций, которые в принципе можно было бы сделать. Поэтому тот код, который получается просто из Форта в соответствии с его правилами, не такой быстрый, каким мог бы вообще быть код, выполняющий те же вычисления. |
Автор: | Hishnik [ Вс мар 03, 2019 16:54 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
KPG писал(а): Неплохой критерий - это совместимость c ANSI Forth 94, что бы опираться на известный базис слов. Это плохой критерий, потому что ANS - банально пиар-документ, призванный представлять Forth Inc как единственную "настоящую" группу форт-разработчиков. Соответственно, никакой программы развития у них нет и не предвидится по причине отсутствия возможности что-то развивать. Люди кормятся со старых контактов в американских компаниях, подсовывая менеджерам "американский стандарт", которому они соответствуют. Этот путь, кроме них самих, никому недоступен, поэтому и надеяться, что совместимость с ANS что-то такое даст, бессмысленно и вредно. |
Автор: | KPG [ Вс мар 03, 2019 18:11 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Hishnik писал(а): KPG писал(а): Неплохой критерий - это совместимость c ANSI Forth 94, что бы опираться на известный базис слов. Это плохой критерий, потому что ANS - банально пиар-документ, призванный представлять Forth Inc как единственную "настоящую" группу форт-разработчиков. Так и думал, что это высказывание, как "красная тряпка" для кого того. По моему, мысль повторённая Хищником в большом числе постов данного форума "умнее" не становится. А, то что этот стандарт обсуждали и принимали в 94г много участников, кроме Forth Inc, маленькое такое недоразумение? Есть ещё ISO стандарт помимо каких то других отраслевых стандартов. Hishnik писал(а): Соответственно, никакой программы развития у них нет и не предвидится по причине отсутствия возможности что-то развивать. . Мне то, какое дело до проблем с их развитием? У меня есть своё мнение и точка зрения. Hishnik писал(а): Люди кормятся со старых контактов в американских компаниях, подсовывая менеджерам "американский стандарт", которому они соответствуют. Этот путь, кроме них самих, никому недоступен, поэтому и надеяться, что совместимость с ANS что-то такое даст, бессмысленно и вредно. А мне их кусок хлеба не делить. В нашей стране тоже достаточно распила бюджетных средств. P.S. Сколько, например в SPF4, Win32Forth, GForth от ANSI стандарта? (хотя они проходят проверку на соответствие ему) |
Автор: | Hishnik [ Вс мар 03, 2019 19:23 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
KPG писал(а): Так и думал, что это высказывание, как "красная тряпка" для кого того. По моему, мысль повторённая Хищником в большом числе постов данного форума "умнее" не становится. Так и мысль, что вечный двигатель невозможен, "умнее" не становится. Ей и не надо быть "умнее". Иметь вечный двигатель приятно, вот на эту идею и западают раз за разом. И в Форте раз за разом западают на идею, что надо пристроиться к стандарту, а дальше оно как-нибудь само устроится. KPG писал(а): А, то что этот стандарт обсуждали и принимали в 94г много участников, кроме Forth Inc, маленькое такое недоразумение? Да, именно маленькое недоразумение. Кто конкретно? Не "много участников", а кто конкретно, что он с 94-го года сделал, и где он вообще? А то вот мое, пока что подтверждаемое, мнение на этот счет - собрался междусобойчик, тоже многие понадеялись, что Forth Inc будет их кормить, а с них банально собрали подписи под документом, и некая Elizabeth Rather открытым текстом мне писала, что стандарт нужен, чтобы Forth Inc могла его показывать своим заказчикам. KPG писал(а): Мне то, какое дело до проблем с их развитием? У меня есть своё мнение и точка зрения. Парадокс в том, что "свое мнение", заключающееся в том, что кто-то это мнение отдает на откуп кому-то постороннему, перестает быть своим. KPG писал(а): А мне их кусок хлеба не делить. В нашей стране тоже достаточно распила бюджетных средств. Ой, и где же? Просто наивных людей, наслушавшихся, что все везде пилят и ничего не делают, довольно-таки много. А на поверку оказывается, что конкретные технические работы обложены финансовыми проверками со всех сторон, и никакие американские стандарты туда не подсунуть ни в каком виде. Так что в последнее время работать таки надо, и никуда от этого не деться. Так что общая стратегия "делаем нормально" в конечном итоге оказывается выигрышной. Так что для Новы тоже два "крайних" по спектру возможностей варианта. 1. Просто писать код, в определенный момент переключиться на "тут уже все очень хорошо, собираем восторги и последователей". Будет плохо, потому что начнется каша из как-бы-последователей, "учителей", споров уровня "да у меня SORT на три такта быстрее" с финальным выходом на общее недовольство миром, который не смог оценить что-то там крутое в коде. 2. Найти в своем окружении (на работе) подходящую задачу, решить ее на Форте, подстроив Нову в нужную сторону. Добиться оценки от непрограммистов уровня "хорошая вещь, нам такую надо". Найти в этих непрограммистах сторонников, которые будут гонять критиканов словами "уйдите от человека, нам плевать, насколько вы там считаете этот язык крутым, но он-то на нем дело делает, а вы только треплетесь со своими не-фортами". Получить общее понимание, куда двигаться, какие слова добавлять, как модифицировать движок. Собственно, двинуться в эту сторону, зафиксировав свою позицию как "автор собственного инструмента, помогающего в практической деятельности". |
Автор: | zma [ Вс мар 03, 2019 19:42 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Victor__v писал(а): Вот есть утверждение: язык такой-то медленный. Но язык не может быть медленным, поскольку это тупо набор различных правил трансляции. Вот и всё. Ну а что такое форт? Слова разделённые пробелами. Простое правило, не так ли? Под этой фразой обычно понимается медленная основная реализация (или большинство реализаций) языка. Язык, опять-таки, правил трансляции не устанавливает (согласно теории формальных языков), а состоит лишь из алфавита, лексики, синтаксиса и семантики. Как их уложить в машину - детали реализации, один и тот же язык можно компилировать и интерпретировать. В частности, касательно синтаксиса. "Слова, разделённые пробелами". А S" не является ли синтаксисом определения строковых литералов, не попадая под это правило? То есть синтаксис языка в целом меняется в зависимости от того, какие слова в нём есть. |
Автор: | KPG [ Вс мар 03, 2019 19:43 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
Hishnik писал(а): Ой, и где же? Просто наивных людей, наслушавшихся, что все везде пилят и ничего не делают, довольно-таки много. Мне достаточно взглянуть на рыночную цену (а у нас ведь рынок?) STM32 контроллера от Миландра в Чип и Дип Hishnik писал(а): KPG писал(а): Мне то, какое дело до проблем с их развитием? У меня есть своё мнение и точка зрения. Парадокс в том, что "свое мнение", заключающееся в том, что кто-то это мнение отдает на откуп кому-то постороннему, перестает быть своим. ДЕМАГОГИЯ! Правила демагога |
Автор: | Hishnik [ Вс мар 03, 2019 19:47 ] |
Заголовок сообщения: | Re: Nova Дневник разработчика |
KPG писал(а): Мне достаточно взглянуть на рыночную цену (а у нас ведь рынок?) STM32 Чипы в специсполнении зарубежного производства стоят запредельно. Как насчет 85 тыс. долларов за штуку? |
Страница 2 из 15 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |