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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Вт янв 29, 2019 03:53 
До основания Forth Inc. в 1973 вообще один программист был — Чак Мур. Тут вопрос, что это за программисты и как труд этих двоих используется.

В разработке систем программирования труд двоих за 40 лет может быть даже эффективней, чем 40 программистов за 2 года.

Сам ANS — американский стандарт. Но есть ещё и ISO/IEC 15145:1997, если нужно именно формальное действие стандартов.

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

Ситуация, как если бы K&R выпустили голый Си, а stdio.h предлагали только по лицензии. Пишите сами библиотеки под свои системы, товарищи.

Помимо патентов есть ещё и авторское право. И тут вопрос, законно ли для массивов использовать те же имена слов и синтаксис, как в СвифтФорте. Если я купил лицензию, не нарушит ли её. Пока массив с его эталонной реализацией не вошёл в стандарт, мне навязывают использовать код, отличающийся от кода Forth Inc. Но войдёт в стандарт с вероятностью 99% то, как запрограммировано в Forth Inc.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6808
Благодарил (а): 16 раз.
Поблагодарили: 110 раз.
ath писал(а):
В разработке систем программирования труд двоих за 40 лет может быть даже эффективней, чем 40 программистов за 2 года.

То есть мы будем предполагать, что в Forth Inc собрались суперпрофессионалы, и остается только печально вздыхать?

ath писал(а):
Но есть ещё и ISO/IEC 15145:1997, если нужно именно формальное действие стандартов.

Любые стандарты, кроме принципиальной возможности рассматривать их, имеют еще четко очерченные области применения. И это не просто "программирование", а конкретный документ, в котором будет написано "такой-то продукт должен быть реализован в соответствии со стандартом <обозначение>... ". Иначе первый же коммивояжер, продающий замечательные кухонные ножи, соответствующие стандарту, получает право продавать эти ножи всем подряд, независимо от их желания покупать.

ath писал(а):
Книги же по Форту обычно предлагали каждому программировать массивы самостоятельно.

Не вижу тут проблемы.

ath писал(а):
Помимо патентов есть ещё и авторское право.

Авторское право не имеет абсолютно никакого отношения к возможности писать программы. Это констатация факта авторства, и не более того. Невозможно изменить тот факт, что Чарльз Мур является автором Форта, а Лев Толстой - автором "Войны и мира". Продукт может быть в public domain, включая попадание туда по истечении срока давности (как у Толстого). Форт, кстати, с 1971 года тоже давно вышел из области защиты патентами, даже если бы они там были. А возможность называть слова - это вообще нереально для запрета. Intel не смог запретить AMD выпускать процессоры с совместимой системой команд, потому что патентной защите подлежит схема и топология процессора, а не возможность выполнять команды. Достаточно выпустить свою реализацию, и если ее код будет отличаться от кода другого Форта - это отдельный продукт, авторское право для которого возникает автоматически в процессе его создания и неотчуждаемо в принципе, по определению. Имущественные права могут различаться, но Forth Inc не имеет никакой юридической или практической возможности запретить делать реализации Форта. Максимум могут поиграть с товарными знаками, но добьются этим только ухода авторов от названия Forth.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Вт янв 29, 2019 07:49 
Почему только вздыхать? Выше предложил 6 различных вариантов, помимо очевидного — стать клиентами Forth Inc.

Да, в новых законах РФ есть два права:
1. Авторское право — неотчуждаемое
2. Эксклюзивные права — которые как раз и ограничивают копирование, использование, модификацию и т.д. Часть этих прав на SwiftForth и делегирует Forth Inc. по своей лицензии.

Возможно, эксклюзивные права Forth Inc. ограничены по времени. Но это большой роли не играет, т.к. Forth Inc. всё равно передаёт права на свой полный язык, через выпуск стандартов. Вся соль лишь в задержке подобной публикации на десятилетия.

Из патентной защиты Форт вышел. Но лишь в том объёме, в каком он был опубликован в те годы. Роли это особой не играет, т.к. Форт-2012 включает в себя весь Форт 1970-80’ых, и даже намного больше.

Впрочем, если патенты и эксклюзивные права Forth Inc. на полифорт закончились — интересно посмотреть на полную версию языка, как его предлагал Чак Мур. Что из этого вошло в стандарты, а что всё ещё держат от них подальше.

Если брать аналогию с AMD, то покупка современных исходников SwiftForth может сделать невозможным разработку совместимого Форта самим покупателем. Но даже если полноценное описание таким фортером полной версии языка разорвёт его лицензию — другие фортеры смогут обновить свои трансляторы по этому описанию, не дожидаясь очередной «стандартизации».


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 906
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
ath писал(а):
Если брать аналогию с AMD, то покупка современных исходников SwiftForth может сделать невозможным разработку совместимого Форта самим покупателем. Но даже если полноценное описание таким фортером полной версии языка разорвёт его лицензию — другие фортеры смогут обновить свои трансляторы по этому описанию, не дожидаясь очередной «стандартизации».

А нафига делать совместимый форт?
Ведь при всём том многообразии систем те или иные вещи решаются разными способами.

А уравниловка-совместиловка лишит форт-системы эволюционного преимущества.

Тут как в генетике. Либо клоны отличающиеся друг от друга наличием слова SPLIT и умирающие от одного и того же бага, либо куча штаммов каждый со своей стойкостью.

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


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

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 53
Благодарил (а): 7 раз.
Поблагодарили: 4 раз.
Hishnik писал(а):
У себя на кухне можно использовать хоть Американский, хоть Зимбабвийский Стандарт.

Я правильно понимаю, что для Форта вопрос переноса кода между разными системами почти не стоит? И на что тогда опираться при программировании: на какой-то "общепринятый" базовый набор слов, всё-таки на стандарт (какой бы то ни было, принятый официально) или на принятые в команде, если она есть, правила?


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 906
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
zma писал(а):
Hishnik писал(а):
У себя на кухне можно использовать хоть Американский, хоть Зимбабвийский Стандарт.

Я правильно понимаю, что для Форта вопрос переноса кода между разными системами почти не стоит? И на что тогда опираться при программировании: на какой-то "общепринятый" базовый набор слов, всё-таки на стандарт (какой бы то ни было, принятый официально) или на принятые в команде, если она есть, правила?

Ну, от зависит от того, как написан сам код.
Да и переносом мало кто занимается. Хотя, если либа полезная, а самому писать лень, то портирование рулит.
А так обычно:
Фортеры пишут всё сами с нуля для опр. системы.
Общепринятый набор слов есть (штук 100) и он применяется. Это всякие там DUP DROP SWAP IF ELSE THEN и иже с ними.

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


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

Зарегистрирован: Пн янв 28, 2019 03:10
Сообщения: 53
Благодарил (а): 7 раз.
Поблагодарили: 4 раз.
Victor__v писал(а):
А так обычно:
Фортеры пишут всё сами с нуля для опр. системы.

А если есть необходимость перейти на другую систему? Или чтобы имеющаяся программа работала на нескольких? Через [IF] делать?


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 906
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
Хороший вопрос.
Я в таких случаях просто делал слой совместимости (прописывал недостающие слова). Этого обычно хватает.
Но иногда либы опираются на фичи форт-системы. Вот тогда приходится лезть и править исходник.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Вт янв 29, 2019 12:55 
Victor__v писал(а):
А нафига делать совместимый форт?
Ведь при всём том многообразии систем те или иные вещи решаются разными способами.

Чтобы расширить количество задач, решаемых на Форте. И чтобы «Фортеры пишут всё сами с нуля» стало не нормой, а личным выбором или историей.

Например, чтобы в математических программах не приходилось каждый раз объяснять конкретной версии Форта, что такое матрицы. И чтобы фрагменты разных программ, работающих с базами данных, можно было понимать и совершенствовать без разбора каждый раз уникального API.

Если вывести в public domain весь Полифорт, существовавший хотя бы на 1982 год (когда Чак Мур покинул Forth Inc), разнообразие в реализациях всё равно будет. Как сейчас оно есть для того небольшого ядра, что опубликовано (ANS, 2012).


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

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 906
Благодарил (а): 1 раз.
Поблагодарили: 8 раз.
ath писал(а):
Victor__v писал(а):
А нафига делать совместимый форт?
Ведь при всём том многообразии систем те или иные вещи решаются разными способами.

Чтобы расширить количество задач, решаемых на Форте. И чтобы «Фортеры пишут всё сами с нуля» стало не нормой, а личным выбором или историей.

Например, чтобы в математических программах не приходилось каждый раз объяснять конкретной версии Форта, что такое матрицы. И чтобы фрагменты разных программ, работающих с базами данных, можно было понимать и совершенствовать без разбора каждый раз уникального API.

Если вывести в public domain весь Полифорт, существовавший хотя бы на 1982 год (когда Чак Мур покинул Forth Inc), разнообразие в реализациях всё равно будет. Как сейчас оно есть для того небольшого ядра, что опубликовано (ANS, 2012).


Задачи решаются алгоритмами, а не языками. Тут более вопрос в квалификации и знание программистом области.

Да и насчёт разнообразия от опубликования какого-то форта оно навряд ли сильно вырастет.

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


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

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1121
Благодарил (а): 3 раз.
Поблагодарили: 42 раз.
zma писал(а):
Victor__v писал(а):
А так обычно:
Фортеры пишут всё сами с нуля для опр. системы.

А если есть необходимость перейти на другую систему? Или чтобы имеющаяся программа работала на нескольких? Через [IF] делать?

Могут отличаться и соглашения по вызову АПИ в Windows (к примеру SPF4 vs Win32Forth)


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6808
Благодарил (а): 16 раз.
Поблагодарили: 110 раз.
ath писал(а):
Да, в новых законах РФ есть два права:
1. Авторское право — неотчуждаемое
2. Эксклюзивные права — которые как раз и ограничивают копирование, использование, модификацию и т.д. Часть этих прав на SwiftForth и делегирует Forth Inc. по своей лицензии.

Вы, судя по всему, не разбирались в вопросе. Во-первых, это все существует давно и разница даже по сравнению с советскими временами непринципиальна. Во-вторых, кроме авторского, существуют права собственности, а не "эксклюзивные". Вот право собственности может предусматривать предоставление эксклюзивной или неэксклюзивной лицензии, по усмотрению владельца этих прав и в соответствии с договором. Далее, на что Forth Inc делегирует права? На использование своего программного продукта! А использование текста стандарта для создания собственного варианта Форта не требует согласования с кем-либо. Точно так же, как могут существовать разные компиляторы С++, и ни одна компания не может запретить другой писать такие компиляторы. Могут быть нюансы, связанные с программным кодом, но на практике наличие собственных оригинальных исходных текстов делает продукт уникальным и позволяет защищать его точно так же, как это делают другие разработчики.

ath писал(а):
Из патентной защиты Форт вышел. Но лишь в том объёме, в каком он был опубликован в те годы.

Он там никогда и не был, и не мог быть. Нельзя брать SwitftForth и выдавать его за свой - это защищено законодательством. Без проблем можно взять спецификацию SwiftForth и написать собственный продукт, который будет делать в точности то же самое. Если он внутри будет иметь отличающееся двоичное представление программы - это просто другой продукт со своим автором и владельцем.
ath писал(а):
покупка современных исходников SwiftForth может сделать невозможным разработку совместимого Форта самим покупателем.

:shock: Это вообще с какой стати и на каком принципиальном юридическом основании???? Forth Inc запрещает законодательно существование своих конкурентов? :)) Нет, они могут хотеть. Просто оснований у них вообще никаких, и ни у кого таких оснований нет ни на одну продукцию. А так бы было красиво - автомобильный концерн выпускает машину, удовлетворяющую требованиям Euro 5, и (фанфары!) запрещает остальным выпускать машины, удовлетворяющие требованиям Euro 5!!!

Собственно, подобные хотелки Forth Inc (а они у них есть) в какой-то степени и являются признаком деградации мелкой компании. Вместо того, чтобы активно совершенствовать продукты на основе имеющегося технического задела, они переключились на напускание тумана и агрессивную пропаганду своей исключительности в качестве "истинных" разработчиков Форта. Это может дезориентировать неопытных программистов и заставить их принимать все за чистую монету, начав копить деньги на SwiftForth ("потому что настоящий, в отличие от"). А с учетом того, что в Forth Inc возраст у людей уже немолодой, и пенсия близится, им там в основном уже все равно - лишь бы успеть откусить последний кусок, в том числе и занимаясь откровенным враньем.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6808
Благодарил (а): 16 раз.
Поблагодарили: 110 раз.
Кстати, вот еще интересный момент насчет совместимости и стандартизации. Уже неоднократно высказывалось мнение, что Форт - не только язык программирования. Это действительно имеет вполне весомые основания. Если рассматривать Форт как часть проекта, обеспечивающую виртуальную машину, управление сценариями, JIT-компиляцию или что-то еще наподобие, ситуация становится немного другой. Форт имеет примерно 9000 строк кода на ассемблере и 3000-4000 на Си. Это не какой-то "стандартный" Форт, а просто система на 300-400 слов, с довольно хорошей функциональностью. Теперь главный вопрос - это больше, чем остальной проект? Если проект на 100 строк кода, то в принципе обсуждать тут особо нечего. Но если речь идет о том, чтобы обеспечить инструмент для программы в 10-50 тыс. строк, особенности виртуальной машины уходят на второй план. Базовая часть Форта становится настолько мала по сравнению с тем кодом, который будет добавлен для конкретного проекта, что пропадает смысл с чем-то там совмещать эти 3-5% кода Форта, чтобы иметь возможность скачать откуда-нибудь еще 3-5% кода.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Ср янв 30, 2019 01:42 
Hishnik,
Посмотрел сейчас ГК РФ, ч. 4
http://www.consultant.ru/document/cons_doc_LAW_64629/

Помимо авторских прав есть смежные с ним. Они делятся на исключительные (их я выше ошибочно назвал эксклюзивными) и личные неимущественные права. Это ст. 1303 п. 2.

Что входит в стандарт — то, разумеется, можно свободно использовать. Forth Inc. здесь возражать не будет.

Я писал о другом. Что в 1980´ые годы Чак Мур разбил придуманный им язык на две части:
Часть 1. Форт
Часть 2. «Полифорт» — скорее всего это микроФорт, я пока не нашёл дату появления полифорта.

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

Высокоуровневую часть Мур держал под защитой авторского (точнее исключительного) права, продавая на неё лицензии. Именно в ней массивы, записи, базы данных и т.п. — всё, что в остальных языках (Си, Паскаль…) в public domain и входит в стандарты.

Благодаря такой бизнес-стратегии конкурентам Forth Inc. пришлось изобретать кучу велосипедов, заведомо несовместимых с Forth Inc. и друг другом. Это и развило стратегии, вроде описанной — каждый серьёзный проект писать «с нуля», индивидуальное ядро и библиотеки.

То, что вынужденно подаётся, как особенность языка, есть лишь особенность заработка денег автором языка. У клиентов Forth Inc. с 1970’ых есть стабильный высокоуровневый язык со всеми необходимыми библиотеками — как в Си или Паскале.

Поскольку нам всем понравилась Часть 1, отданная Чаком Муром в public domain, я делаю вывод, что и Часть 2 не может быть уж совсем ужасной. Если срок действия эксклюзивного права завершился, можно достать полный родной ПолиФорт (микроФорт?) 1982 года, оформить его полноценное описание в виде книжки (или статьи) — и пробовать создавать мощные и совместимые друг с другом трансляторы, лишённые недостатков, описанных в «Судьбе Форта».


Последний раз редактировалось ath Ср янв 30, 2019 02:04, всего редактировалось 1 раз.

Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: ссылка на статьи по Форту
СообщениеДобавлено: Ср янв 30, 2019 01:58 
Victor__v писал(а):
Задачи решаются алгоритмами, а не языками. Тут более вопрос в квалификации и знание программистом области.

Этому не возразишь.

Тем не менее, у языков исторически сложилась своя специализация. Бухгалтерия на Коболе или 1С (в России), научные библиотеки на Фортране, системные на Си, приложения под iOS на Objective C или Свифте, сайты на PHP и т.п.

Конечно, извращенцы могут писать бухгалтерию на PHP, а сайты на Коболе. Никак не запретишь. Особенно если это работа новичка, кто только один ЯВУ выучил и остановился в своём развитии.

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

Нельзя опубликовать программу, проводящую серьёзные математические вычисления «на Форте» так, как публикуют её версию на Фортране 2008, где вся математика и массивы — часть языка. Для современного Форта придётся сперва опубликовать библиотеку (возможно, системно-зависимую) — и только потом сама программу. Понять которую, без изучения самобытной библиотеки, до конца сложно.

Если же оформить полный язык Чака Мура (полифорт) в качестве стандарта, на нём можно писать и математические вычисления, и много что ещё. Тем самым расширив список задач, чьё решение на таком Форте++ относительно просто.


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

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


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

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


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

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