Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Ethereal писал(а): Victor__v писал(а): Т. е. такой код (где блин применять этот -,м-м, вектор?) Спросим так - нужно ли будет в практическом плане слово, которое при первом своем вызове изменит семантику на другую. Будет. Пример - динамический импорт. При первом вызове слово, представляющее собой имя Windows-API функции, импортирует адрес своего вызова через GetProcAddress и вызовет фунцкцию по этому адресу, а при последующих будет сразу вызывать функцию по уже импортированному адресу. Т.е. при первом своем вызове будет делать одно, а при последующих другое. Только счас заметил сообщение Лично я делал подобное через перезапись переменной. Т. е. если по адресу не 0, то вызываем, если 0 динамически подключаем. Можно конечно поисхитряться, если не устраивает выбор в самом параметрическом слове. Как-то так STRUCT: API-INFO 1 -- FLAG CELL -- zero-code CELL -- extend-code STRUCT; : (zero-code) \ ещё одно параметрическое слово после которого хранятся указатели на строки либ и функции А ТАКЖЕ НА АДРЕС смещения до валидного кода ; : WINAPI: CREATE HERE >R API-INFO ALLOT HERE R@ zero-code ! ['] (zero-code) COMPILE, R@ FLAG , HERE 2 CELLS ALLOT PARSE-NAME HERE >R S, 0 C, R@ OVER ! RDROP \ fun-str PARSE-NAME HERE >R S, 0 C, R@ OVER CELL+ ! RDROP \ lib-str DROP DOES> >R R@ FLAG C@ CELLS R> zero-code + @ >R ; Как-то так можно сделать
[quote="Ethereal"]
[quote="Victor__v"]Т. е. такой код (где блин применять этот -,м-м, вектор?)[/quote]Спросим так - нужно ли будет в практическом плане слово, которое при первом своем вызове изменит семантику на другую. Будет. Пример - динамический импорт. При первом вызове слово, представляющее собой имя Windows-API функции, импортирует адрес своего вызова через GetProcAddress и вызовет фунцкцию по этому адресу, а при последующих будет сразу вызывать функцию по уже импортированному адресу. Т.е. при первом своем вызове будет делать одно, а при последующих другое.[/quote]
Только счас заметил сообщение :(
Лично я делал подобное через перезапись переменной. Т. е. если по адресу не 0, то вызываем, если 0 динамически подключаем. Можно конечно поисхитряться, если не устраивает выбор в самом параметрическом слове.
Как-то так STRUCT: API-INFO 1 -- FLAG CELL -- zero-code CELL -- extend-code STRUCT;
: (zero-code) \ ещё одно параметрическое слово после которого хранятся указатели на строки либ и функции А ТАКЖЕ НА АДРЕС смещения до валидного кода ;
: WINAPI: CREATE HERE >R API-INFO ALLOT HERE R@ zero-code ! ['] (zero-code) COMPILE, R@ FLAG , HERE 2 CELLS ALLOT PARSE-NAME HERE >R S, 0 C, R@ OVER ! RDROP \ fun-str PARSE-NAME HERE >R S, 0 C, R@ OVER CELL+ ! RDROP \ lib-str DROP DOES> >R R@ FLAG C@ CELLS R> zero-code + @ >R ;
Как-то так можно сделать :)
|
|
|
|
Добавлено: Чт июл 25, 2019 17:32 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Ethereal писал(а): Ну я же говорю, что ты поклоняешься авторитетам, только обьект поклонения у тебя другой. Нууу, понеслось... Ethereal писал(а): Поклоняешься. Дяде Сему. Использование разделителя тысяч в мире программирования нелепо и я бы про этот разделитель тысяч даже не вспоминал. А ты вспомнил. Значит чтишь пиндосские традиции. Из которых эта - самая нелепая. Ах, использовать плавающую запятую нельзя, потому-что У НИХ разделяют ею тысячи. Телепатам явно надо обратно в отпуск У меня и точка, и запятая могут быть разделителем. Добавил именно из-за обработки выгрузки Excel. В определенный момент надоело переключать язык или руками делать замену. Мне в данном случае совершенно не интересны исторические аспекты, а вот конкретная задача обработки данных - интересна. А задачи формулируются не как "а давайте придумаем и внедрим формат представления чисел, который бы удовлетворял умозрительным соображениям", а "вот у нас есть данные". Так что я совсем не хочу впадать в другую разновидность зависимости - слепого отрицания. Зависимость бывает двух типов - один слепо использует где попало, а другой яростно борется с любыми проявлениями или упоминаниями. В любом случае мы имеем дело с заранее просчитываемой безусловной реакцией. Ethereal писал(а): А вот Excel наши традиции уважает и не навязывает нам чужие. Ну так и я уважаю традиции и не навязываю точку Я даже экспоненциальную форму не навязываю. И не запрещаю. И о ужас, я даже не требую при обработке чисел с плавающей точкой всегда переключаться в десятичную систему счисления. А то там что-то вроде 1.23E6 при мании "двойная длина" вызывает проблему. Это число в экспоненциальной форме, или же 1 и 0x23E6? Воот... а всего-то надо отказаться от синдрома белой вороны и рассматривать Форт как инструмент, а не как средство выражения причастности к элите. Ethereal писал(а): А он твой, этот язык ? Я же говорю, что ты потому поминаешь всуе Мура, что сам хочешь стать самым толстым авторитетом. Ой, так там еще и цифры не мои. Индийские, адаптированные арабами. И буквы не мои - ни латиница, ни кириллица. Мне теперь горевать, как Александр Македонский горевал о победах своего отца - дескать, все захватит и Александру не достанется? С чего вдруг эта завязка на какие-то авторитеты? В программировании масса людей, и даже для С/С++ можно найти в мире программистов, которые не уступают ни Ритчи, ни Страуструпу. Или нам теперь и с WiFi работать с оглядкой на Попова и Маркони? Я давно заметил, что в небольших сообществах тема авторитета возникает чаще. Это в С++ вокруг найдется масса специалистов, которые существенно выше уровнем, а для Форта, видимо, люди надеются на "авось из-за небольшого числа фортеров я окажусь самым крутым". Бороться. С собой. Внутри. "По капле выдавливая из себя раба". Есть такие хитрые капли, которые подсказывают рабу стать не свободным, а новым господином. И из этой серии вопрос "не хочу ли я заменить Мура". Нет, не хочу. Я за свободу, а не за себя в роли хозяина. Ethereal писал(а): Чтобы указывать авторам Фортов на тощих микроконтроллерах - или реализуйте плавающую точку, потому что я так сказал, или возьмите другой язык.
А на кой мне указывать "авторам Фортов на тощих микроконтроллерах"? Я ясно написал - в не тощих есть плавающая точка. В тощих бывает эмуляция. А взять другой язык скажет заказчик, который утвердит в ТЗ такие алгоритмы, которые требуют плавающей точки. Она в технике есть, и в системе типов есть, от этого уже никуда не деться. Вот и принципиальный вопрос - фортеры должны нагнетать свою исключительность, устраивая истерики по любому удобному поводу, или же спокойно работать, вытаскивая из языка все полезное?
[quote="Ethereal"]Ну я же говорю, что ты поклоняешься авторитетам, только обьект поклонения у тебя другой.[/quote] Нууу, понеслось... :) [quote="Ethereal"]Поклоняешься. Дяде Сему. Использование разделителя тысяч в мире программирования нелепо и я бы про этот разделитель тысяч даже не вспоминал. А ты вспомнил. Значит чтишь пиндосские традиции. Из которых эта - самая нелепая. Ах, использовать плавающую запятую нельзя, потому-что У НИХ разделяют ею тысячи.[/quote] Телепатам явно надо обратно в отпуск :))
У меня и точка, и запятая могут быть разделителем. Добавил именно из-за обработки выгрузки Excel. В определенный момент надоело переключать язык или руками делать замену. Мне в данном случае совершенно не интересны исторические аспекты, а вот конкретная задача обработки данных - интересна. А задачи формулируются не как "а давайте придумаем и внедрим формат представления чисел, который бы удовлетворял умозрительным соображениям", а "вот у нас есть данные". Так что я совсем не хочу впадать в другую разновидность зависимости - слепого отрицания. Зависимость бывает двух типов - один слепо использует где попало, а другой яростно борется с любыми проявлениями или упоминаниями. В любом случае мы имеем дело с заранее просчитываемой безусловной реакцией.
[quote="Ethereal"]А вот Excel наши традиции уважает и не навязывает нам чужие.[/quote] Ну так и я уважаю традиции и не навязываю точку :) Я даже экспоненциальную форму не навязываю. И не запрещаю. И о ужас, я даже не требую при обработке чисел с плавающей точкой всегда переключаться в десятичную систему счисления. А то там что-то вроде 1.23E6 при мании "двойная длина" вызывает проблему. Это число в экспоненциальной форме, или же 1 и 0x23E6? Воот... а всего-то надо отказаться от синдрома белой вороны и рассматривать Форт как инструмент, а не как средство выражения причастности к элите.
[quote="Ethereal"]А он твой, этот язык ? Я же говорю, что ты потому поминаешь всуе Мура, что сам хочешь стать самым толстым авторитетом.[/quote] Ой, так там еще и цифры не мои. Индийские, адаптированные арабами. И буквы не мои - ни латиница, ни кириллица. Мне теперь горевать, как Александр Македонский горевал о победах своего отца - дескать, все захватит и Александру не достанется? :) С чего вдруг эта завязка на какие-то авторитеты? В программировании масса людей, и даже для С/С++ можно найти в мире программистов, которые не уступают ни Ритчи, ни Страуструпу. Или нам теперь и с WiFi работать с оглядкой на Попова и Маркони? Я давно заметил, что в небольших сообществах тема авторитета возникает чаще. Это в С++ вокруг найдется масса специалистов, которые существенно выше уровнем, а для Форта, видимо, люди надеются на "авось из-за небольшого числа фортеров я окажусь самым крутым". Бороться. С собой. Внутри. "По капле выдавливая из себя раба". Есть такие хитрые капли, которые подсказывают рабу стать не свободным, а новым господином. И из этой серии вопрос "не хочу ли я заменить Мура". Нет, не хочу. Я за свободу, а не за себя в роли хозяина.
[quote="Ethereal"]Чтобы указывать авторам Фортов на тощих микроконтроллерах - или реализуйте плавающую точку, потому что я так сказал, или возьмите другой язык. [/quote] А на кой мне указывать "авторам Фортов на тощих микроконтроллерах"? Я ясно написал - в не тощих есть плавающая точка. В тощих бывает эмуляция. А взять другой язык скажет заказчик, который утвердит в ТЗ такие алгоритмы, которые требуют плавающей точки. Она в технике есть, и в системе типов есть, от этого уже никуда не деться. Вот и принципиальный вопрос - фортеры должны нагнетать свою исключительность, устраивая истерики по любому удобному поводу, или же спокойно работать, вытаскивая из языка все полезное?
|
|
|
|
Добавлено: Вс июн 23, 2019 17:16 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Цитата: Ввиду широкого распространения софта из США игнорировать факт использования точки нерационально. Ну я же говорю, что ты поклоняешься авторитетам, только обьект поклонения у тебя другой. Цитата: Формально - там запятая является разделителем тысяч. То есть 1024 можно записать как 1,024. Поклоняешься. Дяде Сему. Использование разделителя тысяч в мире программирования нелепо и я бы про этот разделитель тысяч даже не вспоминал. А ты вспомнил. Значит чтишь пиндосские традиции. Из которых эта - самая нелепая. Ах, использовать плавающую запятую нельзя, потому-что У НИХ разделяют ею тысячи. Цитата: При этом в зависимости от региональных настроек MS Excel выгружает в файл то точку, то запятую. А вот Excel наши традиции уважает и не навязывает нам чужие. Цитата: Ответ один - "возьмите другой МК, другой язык или другой компилятор". А он твой, этот язык ? Я же говорю, что ты потому поминаешь всуе Мура, что сам хочешь стать самым толстым авторитетом. Чтобы указывать авторам Фортов на тощих микроконтроллерах - или реализуйте плавающую точку, потому что я так сказал, или возьмите другой язык.
[quote]Ввиду широкого распространения софта из США игнорировать факт использования точки нерационально.[/quote]Ну я же говорю, что ты поклоняешься авторитетам, только обьект поклонения у тебя другой.[quote]Формально - там запятая является разделителем тысяч. То есть 1024 можно записать как 1,024.[/quote]Поклоняешься. Дяде Сему. Использование разделителя тысяч в мире программирования нелепо и я бы про этот разделитель тысяч даже не вспоминал. А ты вспомнил. Значит чтишь пиндосские традиции. Из которых эта - самая нелепая. Ах, использовать плавающую запятую нельзя, потому-что У НИХ разделяют ею тысячи. [quote]При этом в зависимости от региональных настроек MS Excel выгружает в файл то точку, то запятую.[/quote]А вот Excel наши традиции уважает и не навязывает нам чужие.[quote]Ответ один - "возьмите другой МК, другой язык или другой компилятор".[/quote]А он твой, этот язык ? Я же говорю, что ты потому поминаешь всуе Мура, что сам хочешь стать самым толстым авторитетом. Чтобы указывать авторам Фортов на тощих микроконтроллерах - или реализуйте плавающую точку, потому что я так сказал, или возьмите другой язык.
|
|
|
|
Добавлено: Вс июн 23, 2019 16:11 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Ethereal писал(а): Я тебе в пять секунд эту проблему разрешу. Поскольку Это не та проблема. Сейчас поясню Ethereal писал(а): 1.) Точка в записи числа уже была застолблена за числами двойной точности Точка в записи числа "застолблена" в 1592 году. В Англии примерно в то же время стали использовать вместо запятой точку, что и нашло отражение в стандарте Интела. В 1616 это описал Джон Непер, а в России запятая использована в трудах Магницкого. Ввиду широкого распространения софта из США игнорировать факт использования точки нерационально. Приоритет Мура таковым не является, поскольку доказывать его надо в сравнении с трудами Непера, переписывая всю математику. Ethereal писал(а): 2.) Это у них плавающая точка, а у нас запятая При этом в зависимости от региональных настроек MS Excel выгружает в файл то точку, то запятую. Поспорим еще и с Excel... Ethereal писал(а): 3.) В микроконтроллерных применениях Форта поддержка не целых чисел типично только бесполезно ресурсы сожрет. Современные микроконтроллеры сами по себе разбиты на классы. В Cortex-A плавающая точка есть как сопроцессор, во многих МК она есть как эмуляция. "Не используйте плавающую точку" уже из серии "данные не могут превышать 64 кб". Ответ один - "возьмите другой МК, другой язык или другой компилятор". Ethereal писал(а): В словах core плавающей точке делать нечего. Это да. Ethereal писал(а): считаем 3,1415 (через запятую) записью числа с плавающей точкойзапятой. На практике - оба. Потому что то Матлаб выгрузит данные, то Excel, то C++. Если бы целью было заявить, что тут везде Форт главный, то конечно да. Тогда можно и идентификаторы не длиннее 5 символов заставлять писать. Но если помочь организовать разработку, то лучше поддерживать такие форматы, какие просят. Ethereal писал(а): Это потому, что ты с точкой лез, которая уже занята. Чесслово, это не я. Это все Непер и Магницкий Да и с запятой было бы не пролезть. Потому что требовали-то не разделитель, а обязательно экспоненциальную форму. Ну и должным образом прогнуться перед "нетаким" языком. Ethereal писал(а): Потому-что вестернизировался и забыл чему в советской школе учили. Телепаты из отпуска вышли? Ethereal писал(а): Можно подумать у них будет что возразить.
Конечно будет, даже не сомневаюсь. Формально - там запятая является разделителем тысяч. То есть 1024 можно записать как 1,024. А неформально - ну как же они согласятся. Надо же proposal подать, по заседаниям комитета поездить и убедить всех, что никакого покушения на авторитет Forth Inc не будет даже близко. Последний пункт является глубинной движущей силой стандартизации и формальных причин отказать будет найдено больше, чем стандартизовано слов
[quote="Ethereal"]Я тебе в пять секунд эту проблему разрешу. Поскольку[/quote] Это не та проблема. Сейчас поясню
[quote="Ethereal"]1.) Точка в записи числа уже была застолблена за числами двойной точности[/quote] Точка в записи числа "застолблена" в 1592 году. В Англии примерно в то же время стали использовать вместо запятой точку, что и нашло отражение в стандарте Интела. В 1616 это описал Джон Непер, а в России запятая использована в трудах Магницкого. Ввиду широкого распространения софта из США игнорировать факт использования точки нерационально. Приоритет Мура таковым не является, поскольку доказывать его надо в сравнении с трудами Непера, переписывая всю математику.
[quote="Ethereal"]2.) Это у них плавающая точка, а у нас запятая[/quote] При этом в зависимости от региональных настроек MS Excel выгружает в файл то точку, то запятую. Поспорим еще и с Excel...
[quote="Ethereal"]3.) В микроконтроллерных применениях Форта поддержка не целых чисел типично только бесполезно ресурсы сожрет.[/quote] Современные микроконтроллеры сами по себе разбиты на классы. В Cortex-A плавающая точка есть как сопроцессор, во многих МК она есть как эмуляция. "Не используйте плавающую точку" уже из серии "данные не могут превышать 64 кб". Ответ один - "возьмите другой МК, другой язык или другой компилятор".
[quote="Ethereal"]В словах core плавающей точке делать нечего. [/quote] Это да. [quote="Ethereal"]считаем 3,1415 (через запятую) записью числа с плавающей точкойзапятой. [/quote] На практике - оба. Потому что то Матлаб выгрузит данные, то Excel, то C++. Если бы целью было заявить, что тут везде Форт главный, то конечно да. Тогда можно и идентификаторы не длиннее 5 символов заставлять писать. Но если помочь организовать разработку, то лучше поддерживать такие форматы, какие просят.
[quote="Ethereal"]Это потому, что ты с точкой лез, которая уже занята.[/quote] Чесслово, это не я. Это все Непер и Магницкий :))
Да и с запятой было бы не пролезть. Потому что требовали-то не разделитель, а обязательно экспоненциальную форму. Ну и должным образом прогнуться перед "нетаким" языком.
[quote="Ethereal"]Потому-что вестернизировался и забыл чему в советской школе учили.[/quote] Телепаты из отпуска вышли? :D
[quote="Ethereal"]Можно подумать у них будет что возразить. [/quote] Конечно будет, даже не сомневаюсь. Формально - там запятая является разделителем тысяч. То есть 1024 можно записать как 1,024. А неформально - ну как же они согласятся. Надо же proposal подать, по заседаниям комитета поездить и убедить всех, что никакого покушения на авторитет Forth Inc не будет даже близко. Последний пункт является глубинной движущей силой стандартизации и формальных причин отказать будет найдено больше, чем стандартизовано слов :)
|
|
|
|
Добавлено: Вс июн 23, 2019 00:47 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Hishnik писал(а): Я не писал PI. Я писал конкретно 3.1415. Это вообще не слово, это число Просто выбрано оно так, чтобы было сразу понятно, что это широко известная константа с плавающей точкой. И достаточное количество людей за пределами России Я тебе в пять секунд эту проблему разрешу. Поскольку 1.) Точка в записи числа уже была застолблена за числами двойной точности 2.) Это у них плавающая точка, а у нас запятая 3.) В микроконтроллерных применениях Форта поддержка не целых чисел типично только бесполезно ресурсы сожрет. делаем так : В словах core плавающей точке делать нечего. Но вот в расширении Форта float (которое у конкретного Форта может быть, а может не быть) считаем 3,1415 (через запятую) записью числа с плавающей точкойзапятой. Помимо экспоненциальной формы. Hishnik писал(а): Об авторитетах. Вот что писал некий Forthware: http://fforum.winglion.ru/viewtopic.php?p=12969"Так что они ваш вариант рассматривали, но решили что он менее общепринят. Вы можете возражать, но авторитета одной Elisabeth Rather хватит чтобы задавить русский ФИГ. Так что ваше мнение, по определению, не верно. " Это потому, что ты с точкой лез, которая уже занята. Потому-что вестернизировался и забыл чему в советской школе учили. А надо было предложить запятую помимо экспоненциальной формы. Раз уж точку нельзя. Ну вот самая ситуация русскую плавающую запятую протолкнуть. Можно подумать у них будет что возразить.
[quote="Hishnik"]Я не писал PI. Я писал конкретно 3.1415. Это вообще не слово, это число :) Просто выбрано оно так, чтобы было сразу понятно, что это широко известная константа с плавающей точкой. И достаточное количество людей за пределами России[/quote]Я тебе в пять секунд эту проблему разрешу. Поскольку 1.) Точка в записи числа уже была застолблена за числами двойной точности 2.) Это у них плавающая точка, а у нас запятая 3.) В микроконтроллерных применениях Форта поддержка не целых чисел типично только бесполезно ресурсы сожрет. делаем так : В словах core плавающей точке делать нечего. Но вот в расширении Форта float (которое у конкретного Форта может быть, а может не быть) считаем 3,1415 (через запятую) записью числа с плавающей [s]точкой[/s]запятой. Помимо экспоненциальной формы.[quote="Hishnik"]Об авторитетах. Вот что писал некий Forthware:
[url]http://fforum.winglion.ru/viewtopic.php?p=12969[/url]
"Так что они ваш вариант рассматривали, но решили что он менее общепринят. Вы можете возражать, но авторитета одной Elisabeth Rather хватит чтобы задавить русский ФИГ. :twisted: Так что ваше мнение, по определению, не верно. :P :))"[/quote]Это потому, что ты с точкой лез, которая уже занята. Потому-что вестернизировался и забыл чему в советской школе учили. А надо было предложить запятую помимо экспоненциальной формы. Раз уж точку нельзя. Ну вот самая ситуация русскую плавающую запятую протолкнуть. Можно подумать у них будет что возразить.
|
|
|
|
Добавлено: Сб июн 22, 2019 20:40 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Об авторитетах. Вот что писал некий Forthware: http://fforum.winglion.ru/viewtopic.php?p=12969"Так что они ваш вариант рассматривали, но решили что он менее общепринят. Вы можете возражать, но авторитета одной Elisabeth Rather хватит чтобы задавить русский ФИГ. Так что ваше мнение, по определению, не верно. "
Об авторитетах. Вот что писал некий Forthware:
[url]http://fforum.winglion.ru/viewtopic.php?p=12969[/url]
"Так что они ваш вариант рассматривали, но решили что он менее общепринят. Вы можете возражать, но авторитета одной Elisabeth Rather хватит чтобы задавить русский ФИГ. :twisted: Так что ваше мнение, по определению, не верно. :P :))"
|
|
|
|
Добавлено: Пт июн 21, 2019 03:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
KPG писал(а): Это какие "авторитетные" применительно к Форт реалиям? Например авторитетны или нет ffl и sfl и в какой степени, или например Win32Forth или SPF4, или SwiftForth и VFX и.т.д. и.т.п P.S. если в реалиях Фортёров в значимом количестве как таковом почти нет. Под "авторитетным" я в данном случае имею ввиду то мнение, которое необоснованно влияет на принятие решений. Когда человек думает: "Логичнее будет сделать вот так, но в SwistForth сделано по-другому, ну им-то виднее, поэтому и я так сделаю" и когда такие решения потом выходят боком. Количество фортеров в данном случае роли не играет, каждый решает для себя (руководитель - за своих подчинённых).
[quote="KPG"]Это какие "авторитетные" применительно к Форт реалиям? Например авторитетны или нет ffl и sfl и в какой степени, или например Win32Forth или SPF4, или SwiftForth и VFX и.т.д. и.т.п :) P.S. если в реалиях Фортёров в значимом количестве как таковом почти нет.[/quote] Под "авторитетным" я в данном случае имею ввиду то мнение, которое необоснованно влияет на принятие решений. Когда человек думает: "Логичнее будет сделать вот так, но в SwistForth сделано по-другому, ну им-то виднее, поэтому и я так сделаю" и когда такие решения потом выходят боком. Количество фортеров в данном случае роли не играет, каждый решает для себя (руководитель - за своих подчинённых).
|
|
|
|
Добавлено: Пт июн 21, 2019 02:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
KPG писал(а): Какая целевая аудитория кому надо объяснять основы на которых функционирует Форт-парадигма и язык? Лобовая атака в виде "Форт лучше" автоматически тянет за собой вывод "значит те, кто Форт не использует - не используют лучший язык". Людям проще отвергать Форт, потому что это не влечет за собой необходимость признавать "неверное понимание". У кого такой проблемы нет, относятся к вопросу спокойнее. У нас пока получалось так: 1. "Программирующие специалисты" Это приборостроение, обработка данных, электроника и подобные отрасли. У людей в целом нет привязки к "любимому языку", владение которым идентифицируется как показатель квалифицированности. Соответственно, они не стремятся защищать "условный Си". 2. Embedded С одной стороны, это тоже приборостроение, с другой - отдельное направление программирования. Если специалист в embedded имеет сильные навыки именно в железе, у него, с одной стороны, нет строгой привязки к навыкам софтописательства, а с другой - он понимает, что все требования "хочу пару мегабайт памяти для Питона" ему же и обеспечивать. Поэтому аргумент насчет языка с чертами ЯВУ, но на ресурсах от ассемблера вполне доступен. 3. Системщики/интеграторы Люди, использующие Tcl, Python, Lua или подобные инструменты, могут выслушать аргументы про другой скриптовый язык и DSL на нем. При этом стековая организация не является приоритетной темой, а скорее тем, с чем можно мириться ради настраиваемого синтаксиса. Кстати, узнал, что английская компания, продукт которой сейчас в процессе замены, использовала фортоподобный язык Сильное подозрение, что это именно Форт с наслоенным DSL. Разница в том, что мы массу ограничений на "стандартность" заказчику просто вычеркнули, потому что заказчику-то абсолютно без разницы, что там придумано для одной из коробочек. У него требования его отрасли, и чем ближе язык к ним, тем лучше. KPG писал(а): Многим уже достаточно возможностей современного "Бейсика" в виде Питон языка. Для встраивания в ПО кто то применяет Lua Ну.. возможно. Форт же не победит сразу всех с обнулением любого конкурирующего языка. Кому-то хватает. Мы вот недавно запустили DDR3 на плате с собственной топологией, чему несказанно рады. Если DDR3 будет не нужна, все только вздохнут с облегчением, потому что это серьезная проблема. Поэтому так вот раздумывать "а не поставить ли туда ОС с кучей языков, чтобы спокойно писалось" возможно далеко не всегда. Важнее понимать критерии применения Форта и отходить в сторону, если эти критерии не видны на горизонте проекта.
[quote="KPG"]Какая целевая аудитория кому надо объяснять основы на которых функционирует Форт-парадигма и язык?[/quote]
Лобовая атака в виде "Форт лучше" автоматически тянет за собой вывод "значит те, кто Форт не использует - не используют лучший язык". Людям проще отвергать Форт, потому что это не влечет за собой необходимость признавать "неверное понимание". У кого такой проблемы нет, относятся к вопросу спокойнее.
У нас пока получалось так: 1. "Программирующие специалисты" Это приборостроение, обработка данных, электроника и подобные отрасли. У людей в целом нет привязки к "любимому языку", владение которым идентифицируется как показатель квалифицированности. Соответственно, они не стремятся защищать "условный Си". 2. Embedded С одной стороны, это тоже приборостроение, с другой - отдельное направление программирования. Если специалист в embedded имеет сильные навыки именно в железе, у него, с одной стороны, нет строгой привязки к навыкам софтописательства, а с другой - он понимает, что все требования "хочу пару мегабайт памяти для Питона" ему же и обеспечивать. Поэтому аргумент насчет языка с чертами ЯВУ, но на ресурсах от ассемблера вполне доступен. 3. Системщики/интеграторы Люди, использующие Tcl, Python, Lua или подобные инструменты, могут выслушать аргументы про другой скриптовый язык и DSL на нем. При этом стековая организация не является приоритетной темой, а скорее тем, с чем можно мириться ради настраиваемого синтаксиса.
Кстати, узнал, что английская компания, продукт которой сейчас в процессе замены, использовала фортоподобный язык :) Сильное подозрение, что это именно Форт с наслоенным DSL. Разница в том, что мы массу ограничений на "стандартность" заказчику просто вычеркнули, потому что заказчику-то абсолютно без разницы, что там придумано для одной из коробочек. У него требования его отрасли, и чем ближе язык к ним, тем лучше.
[quote="KPG"]Многим уже достаточно возможностей современного "Бейсика" в виде Питон языка. Для встраивания в ПО кто то применяет Lua[/quote] Ну.. возможно. Форт же не победит сразу всех с обнулением любого конкурирующего языка. Кому-то хватает. Мы вот недавно запустили DDR3 на плате с собственной топологией, чему несказанно рады. Если DDR3 будет не нужна, все только вздохнут с облегчением, потому что это серьезная проблема. Поэтому так вот раздумывать "а не поставить ли туда ОС с кучей языков, чтобы спокойно писалось" возможно далеко не всегда. Важнее понимать критерии применения Форта и отходить в сторону, если эти критерии не видны на горизонте проекта.
|
|
|
|
Добавлено: Пт июн 21, 2019 02:21 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Hishnik писал(а): 1) При богатстве языков требуется обосновать использование именно этого языка и его эффективность Какая целевая аудитория кому надо объяснять основы на которых функционирует Форт-парадигма и язык? Например такой вариант пойдёт в копилку объяснялок? Стековые языки программирования Hishnik писал(а): 2) Существенно возросла роль планирования и проектирования, удельный вес кодирования уменьшен, а сам процесс во многом автоматизирован. Тогда нужно указать област(ь)и где проекты с Форт появляются и интересны (применимы) Hishnik писал(а): В итоге повторение мантры "используйте язык XXX, он хороший и правильный" ни к чему не приводит, поскольку в отрыве от контекста его использования призыв повисает в воздухе. Многим уже достаточно возможностей современного "Бейсика" в виде Питон языка. Для встраивания в ПО кто то применяет Lua и что дальше?
[quote="Hishnik"]1) При богатстве языков требуется обосновать использование именно этого языка и его эффективность[/quote] Какая целевая аудитория кому надо объяснять основы на которых функционирует Форт-парадигма и язык? Например такой вариант пойдёт в копилку объяснялок? [url=https://habr.com/ru/post/138667/]Стековые языки программирования[/url] :)
[quote="Hishnik"] 2) Существенно возросла роль планирования и проектирования, удельный вес кодирования уменьшен, а сам процесс во многом автоматизирован.[/quote] Тогда нужно указать област(ь)и где проекты с Форт появляются и интересны (применимы) [quote="Hishnik"] В итоге повторение мантры "используйте язык XXX, он хороший и правильный" ни к чему не приводит, поскольку в отрыве от контекста его использования призыв повисает в воздухе.[/quote] Многим уже достаточно возможностей современного "Бейсика" в виде Питон языка. Для встраивания в ПО кто то применяет Lua
и что дальше? :shuffle;
|
|
|
|
Добавлено: Пт июн 21, 2019 01:36 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Ethereal писал(а): Ты специально что-ли неудачный пример выбрал ? Слова PI с конретным определенным значением нет в классических реализациях Форта. Слова PI нет среди core-слов.
Я не писал PI. Я писал конкретно 3.1415. Это вообще не слово, это число Просто выбрано оно так, чтобы было сразу понятно, что это широко известная константа с плавающей точкой. И достаточное количество людей за пределами России категорически против изменений в этом плане, не одобренных в комитете по разработке ANS на Форт. Ethereal писал(а): Да и не Мур сказал, а безо всякого Мура ясно, что можно обойтись без плавающей точки, особенно там где она не нужна. Однако ссылаются-то именно на Мура, вместо того чтобы обосновать, почему именно плавающая точка не нужна. А также на бектрекинг, по принципу "ну а вдруг там что-то есть, а никто почему-то не рапортует о достижениях". И "Слава Пестов сделал тесты" когда-то регулярно появлялось - прямо стишок. Ethereal писал(а): А если тебе действительно нужна плавающая точка, то кто и когда запрещал ее добавлять ? При прямом вопросе - никто. При обсуждении, как это применять, регулярно пробивается "но это же не соответствует ANS". Ну и сколько будет продолжаться это лицемерие? Этакая форт-толерантность - оно, конечно, все гибкое и настраиваемое, и каждый может сделать как хочет. Но делать нужно только совместимо со стандартом. Ethereal писал(а): Прекрати ты воевать с ветряными мельницами, этих мельниц на самом деле нет. Да ты наверно и не воюешь, поскольку врагов по именам не можешь назвать, просто встал в позу "не признаю авторитетов" со скрытым намеком на "хочу сам быть самым толстым авторитетом". Ну, понять мои "скрытые мотивы" лучше меня самого и тем более направить на путь истинный - та еще задачка. Не стоит на себя такое взваливать Ethereal писал(а): Ах, для тебя таки есть авторитеты, такие себе майнстримовские авторитеты, просто они другие. Ах Чарльз Мур именовал не в венгерской нотации, ай-яй-яй ему, ай-яй-яй.
Свободный человек - это отнюдь не человек, который стал Самым Главным Хозяином. И я сразу написал, что подходов к именованию много. Может быть, следует использовать 5-символьные идентификаторы, надеясь при этом на чудо? Выбор нотации - это такое же осознанное действие, как и выбор формата представления данных. И определяется он не традициями языка, а требованиями решаемой задачи. 25-30 лет назад программист еще мог заявить, что больше 64 кб массив быть не может, и его любимый язык не поддерживает вот эту вот операцию. Сегодня это по сути приглашение заменить язык (и программиста). Я вполне понимаю мотивы Forth Inc, которых подкармливают заказами их давние приятели, работающие в крупных компаниях. Но нам-то от этого что? Мы на такой путь рассчитывать не можем, поскольку место "главных фортеров мира" уже застолблено. Так что основных вариантов два - либо на поклон к Forth Inc в качестве гастарбайтера-удаленщика, либо опора на собственный профессионализм и квалификацию, с Фортом в качестве одного из активных навыков.
[quote="Ethereal"]Ты специально что-ли неудачный пример выбрал ? Слова PI с конретным определенным значением нет в классических реализациях Форта. Слова PI нет среди core-слов. [/quote] Я не писал PI. Я писал конкретно 3.1415. Это вообще не слово, это число :) Просто выбрано оно так, чтобы было сразу понятно, что это широко известная константа с плавающей точкой. И достаточное количество людей за пределами России категорически против изменений в этом плане, не одобренных в комитете по разработке ANS на Форт.
[quote="Ethereal"]Да и не Мур сказал, а безо всякого Мура ясно, что можно обойтись без плавающей точки, особенно там где она не нужна.[/quote] Однако ссылаются-то именно на Мура, вместо того чтобы обосновать, почему именно плавающая точка не нужна. А также на бектрекинг, по принципу "ну а вдруг там что-то есть, а никто почему-то не рапортует о достижениях". И "Слава Пестов сделал тесты" когда-то регулярно появлялось - прямо стишок.
[quote="Ethereal"]А если тебе действительно нужна плавающая точка, то кто и когда запрещал ее добавлять ?[/quote] При прямом вопросе - никто. При обсуждении, как это применять, регулярно пробивается "но это же не соответствует ANS". Ну и сколько будет продолжаться это лицемерие? Этакая форт-толерантность - оно, конечно, все гибкое и настраиваемое, и каждый может сделать как хочет. Но делать нужно только совместимо со стандартом.
[quote="Ethereal"]Прекрати ты воевать с ветряными мельницами, этих мельниц на самом деле нет. Да ты наверно и не воюешь, поскольку врагов по именам не можешь назвать, просто встал в позу "не признаю авторитетов" со скрытым намеком на "хочу сам быть самым толстым авторитетом".[/quote]
Ну, понять мои "скрытые мотивы" лучше меня самого и тем более направить на путь истинный - та еще задачка. Не стоит на себя такое взваливать :wink:
[quote="Ethereal"]Ах, для тебя таки есть авторитеты, такие себе майнстримовские авторитеты, просто они другие. Ах Чарльз Мур именовал не в венгерской нотации, ай-яй-яй ему, ай-яй-яй. [/quote] Свободный человек - это отнюдь не человек, который стал Самым Главным Хозяином. И я сразу написал, что подходов к именованию много. Может быть, следует использовать 5-символьные идентификаторы, надеясь при этом на чудо? Выбор нотации - это такое же осознанное действие, как и выбор формата представления данных. И определяется он не традициями языка, а требованиями решаемой задачи. 25-30 лет назад программист еще мог заявить, что больше 64 кб массив быть не может, и его любимый язык не поддерживает вот эту вот операцию. Сегодня это по сути приглашение заменить язык (и программиста). Я вполне понимаю мотивы Forth Inc, которых подкармливают заказами их давние приятели, работающие в крупных компаниях. Но нам-то от этого что? Мы на такой путь рассчитывать не можем, поскольку место "главных фортеров мира" уже застолблено. Так что основных вариантов два - либо на поклон к Forth Inc в качестве гастарбайтера-удаленщика, либо опора на собственный профессионализм и квалификацию, с Фортом в качестве [u]одного из[/u] активных навыков.
|
|
|
|
Добавлено: Пт июн 21, 2019 01:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
KPG писал(а): Чем плоха отсылка к Броуди1,2 (Баранову и др. книгам) для начального знакомства кому то с Форт языком? Есть ли ещё какие то варианты? Варианты довольно просты (в плане easy to learn, hard to master, это сложно перевести с сохранением смысла). Начальное знакомство с языком было приемлемо в 80-90 годы. Тогда память была небольшая и программы получались маленькие. Программист был ближе к кодеру, чем сегодня, оборудование дороже, а сфера применения не такой широкой. На сегодняшний же день изложить список операторов недостаточно, поскольку 1) При богатстве языков требуется обосновать использование именно этого языка и его эффективность 2) Существенно возросла роль планирования и проектирования, удельный вес кодирования уменьшен, а сам процесс во многом автоматизирован. В итоге повторение мантры "используйте язык XXX, он хороший и правильный" ни к чему не приводит, поскольку в отрыве от контекста его использования призыв повисает в воздухе.
[quote="KPG"]Чем плоха отсылка к Броуди1,2 (Баранову и др. книгам) для начального знакомства кому то с Форт языком? Есть ли ещё какие то варианты?[/quote] Варианты довольно просты (в плане easy to learn, hard to master, это сложно перевести с сохранением смысла). Начальное знакомство с языком было приемлемо в 80-90 годы. Тогда память была небольшая и программы получались маленькие. Программист был ближе к кодеру, чем сегодня, оборудование дороже, а сфера применения не такой широкой. На сегодняшний же день изложить список операторов недостаточно, поскольку 1) При богатстве языков требуется обосновать использование именно этого языка и его эффективность 2) Существенно возросла роль планирования и проектирования, удельный вес кодирования уменьшен, а сам процесс во многом автоматизирован. В итоге повторение мантры "используйте язык XXX, он хороший и правильный" ни к чему не приводит, поскольку в отрыве от контекста его использования призыв повисает в воздухе.
|
|
|
|
Добавлено: Пт июн 21, 2019 00:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Hishnik писал(а): И кого же я запутаю, если 3.1415 будет числом "пи" в формате с плавающей точкой, а не двумя числами на стеке? Группку упершихся "отцов Форта", которые будут повторять "Мур сказал, что можно обойтись без плавающей точки"? Ты специально что-ли неудачный пример выбрал ? Слова PI с конретным определенным значением нет в классических реализациях Форта. Слова PI нет среди core-слов. Да и не Мур сказал, а безо всякого Мура ясно, что можно обойтись без плавающей точки, особенно там где она не нужна. Мур предусмотрел возможность не усложняя Форта работать еще и с фиксированной точкой помимо целых. Ну так это красиво и иногда действительно практически нужно. А если тебе действительно нужна плавающая точка, то кто и когда запрещал ее добавлять ? Прекрати ты воевать с ветряными мельницами, этих мельниц на самом деле нет. Да ты наверно и не воюешь, поскольку врагов по именам не можешь назвать, просто встал в позу "не признаю авторитетов" со скрытым намеком на "хочу сам быть самым толстым авторитетом". Hishnik писал(а): на это есть принятые в программировании (вообще программировании, а не фортовском) подходы к именованию объектов программ Ах, для тебя таки есть авторитеты, такие себе майнстримовские авторитеты, просто они другие. Ах Чарльз Мур именовал не в венгерской нотации, ай-яй-яй ему, ай-яй-яй. ------------------------------------------------------------ Victor__v писал(а): Т. е. такой код (где блин применять этот -,м-м, вектор?) Спросим так - нужно ли будет в практическом плане слово, которое при первом своем вызове изменит семантику на другую. Будет. Пример - динамический импорт. При первом вызове слово, представляющее собой имя Windows-API функции, импортирует адрес своего вызова через GetProcAddress и вызовет фунцкцию по этому адресу, а при последующих будет сразу вызывать функцию по уже импортированному адресу. Т.е. при первом своем вызове будет делать одно, а при последующих другое.
[quote="Hishnik"]И кого же я запутаю, если 3.1415 будет числом "пи" в формате с плавающей точкой, а не двумя числами на стеке? Группку упершихся "отцов Форта", которые будут повторять "Мур сказал, что можно обойтись без плавающей точки"?[/quote]Ты специально что-ли неудачный пример выбрал ? Слова PI с конретным определенным значением нет в классических реализациях Форта. Слова PI нет среди core-слов.
Да и не Мур сказал, а безо всякого Мура ясно, что можно обойтись без плавающей точки, особенно там где она не нужна. Мур предусмотрел возможность не усложняя Форта работать еще и с фиксированной точкой помимо целых. Ну так это красиво и иногда действительно практически нужно. А если тебе действительно нужна плавающая точка, то кто и когда запрещал ее добавлять ?
Прекрати ты воевать с ветряными мельницами, этих мельниц на самом деле нет. Да ты наверно и не воюешь, поскольку врагов по именам не можешь назвать, просто встал в позу "не признаю авторитетов" со скрытым намеком на "хочу сам быть самым толстым авторитетом".
[quote="Hishnik"]на это есть принятые в программировании (вообще программировании, а не фортовском) подходы к именованию объектов программ[/quote]Ах, для тебя таки есть авторитеты, такие себе майнстримовские авторитеты, просто они другие. Ах Чарльз Мур именовал не в венгерской нотации, ай-яй-яй ему, ай-яй-яй.
------------------------------------------------------------
[quote="Victor__v"]Т. е. такой код (где блин применять этот -,м-м, вектор?)[/quote]Спросим так - нужно ли будет в практическом плане слово, которое при первом своем вызове изменит семантику на другую. Будет. Пример - динамический импорт. При первом вызове слово, представляющее собой имя Windows-API функции, импортирует адрес своего вызова через GetProcAddress и вызовет фунцкцию по этому адресу, а при последующих будет сразу вызывать функцию по уже импортированному адресу. Т.е. при первом своем вызове будет делать одно, а при последующих другое.
|
|
|
|
Добавлено: Пт июн 21, 2019 00:01 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
zma писал(а): KPG писал(а): И в чём изучение существующих Форт наработок вредно? Вредно не изучение существующих наработок, а отношение к ним, как к абсолютной истине (и, следовательно, отказ от поиска рационального решения задачи в пользу "авторитетного"). Это какие "авторитетные" применительно к Форт реалиям? Например авторитетны или нет ffl и sfl и в какой степени, или например Win32Forth или SPF4, или SwiftForth и VFX и.т.д. и.т.п P.S. если в реалиях Фортёров в значимом количестве как таковом почти нет.
[quote="zma"][quote="KPG"]И в чём изучение существующих Форт наработок вредно?[/quote]
Вредно не изучение существующих наработок, а отношение к ним, как к абсолютной истине (и, следовательно, отказ от поиска рационального решения задачи в пользу "авторитетного").[/quote] Это какие "авторитетные" применительно к Форт реалиям? Например авторитетны или нет ffl и sfl и в какой степени, или например Win32Forth или SPF4, или SwiftForth и VFX и.т.д. и.т.п :) P.S. если в реалиях Фортёров в значимом количестве как таковом почти нет.
|
|
|
|
Добавлено: Чт июн 20, 2019 23:18 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
KPG писал(а): И в чём изучение существующих Форт наработок вредно? Вредно не изучение существующих наработок, а отношение к ним, как к абсолютной истине (и, следовательно, отказ от поиска рационального решения задачи в пользу "авторитетного").
[quote="KPG"]И в чём изучение существующих Форт наработок вредно?[/quote]
Вредно не изучение существующих наработок, а отношение к ним, как к абсолютной истине (и, следовательно, отказ от поиска рационального решения задачи в пользу "авторитетного").
|
|
|
|
Добавлено: Чт июн 20, 2019 23:04 |
|
|
|
|
|
Заголовок сообщения: |
Re: Портирование библиотек между форт-системами |
|
|
Hishnik писал(а): Постоянны отсылки к Броуди. Чем плоха отсылка к Броуди1,2 (Баранову и др. книгам) для начального знакомства кому то с Форт языком? Есть ли ещё какие то варианты? P.S. Про авторитет описания Форт языка в доступных для прочтения книгах вообще ничего не понял, И в чём изучение существующих Форт наработок вредно?
[quote="Hishnik"]Постоянны отсылки к Броуди.[/quote] Чем плоха отсылка к Броуди1,2 (Баранову и др. книгам) для начального знакомства кому то с Форт языком? Есть ли ещё какие то варианты?
P.S. Про авторитет описания Форт языка в доступных для прочтения книгах вообще ничего не понял, :shuffle; И в чём изучение существующих Форт наработок вредно?
|
|
|
|
Добавлено: Чт июн 20, 2019 19:40 |
|
|
|
|