Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 22:57

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Форт и ООП
Автор Сообщение
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Wlad писал(а):
Вот, для меня ООП - это больше проектирование, а - не конкретный язык.

А, с применением в Форт это как то связано?

Мне вот, например, немного не понравилось добавлять недостающюю функциональность к ForhIDE из Win32Forth
для задействования больших возможностей по использованию Scintilla.dll (результаты сего действа были представлены на местном форуме)
\ код видимости слов приходится задавать в нескольких местах программы, для включения требуемой функциональности

P.S. При этом когда экспериментировал с кодом редактора FEDN из SPF 2.5 (под ДОС) такого дискомфорта не было и всё было интересно, но и остались нерешённые вопросы по использованию данного ООП-сного подхода в дизайне данного редактора.
(надо, наверное, и результаты тех экспериментов опубликовать на форуме, если кому интересно :)
Сообщение Добавлено: Сб июл 27, 2019 18:41
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Hishnik писал(а):
ООП ведь, кроме собственно структур данных, подразумевает взаимодействие объектов посредством сообщений.

Вот, для меня ООП - это больше проектирование, а - не конкретный язык.
Хотя, если брать именно ООП-языки, то это Смолток и Варианты оберонов.
Но, законченный вид ООП (лично для меня) приобрело через Активный Оберон в Зонноне. В принципе, именно в последнем произошло Великое Объединение в программировании - мир ООП естественным и наиболее верным способом слился с миром многозадачности. Произошло объединение описаний статических и динамических аспектов жизни проектируемых систем. Причём, был выработан минимальный базис такого описания. Так скажем, ортогональное, без излишеств.
Сообщение Добавлено: Сб июл 27, 2019 15:14
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
ООП ведь, кроме собственно структур данных, подразумевает взаимодействие объектов посредством сообщений. Не зря явно прослеживаемый взлет ООП был связан с распространением Windows, которая, в отличие от DOS, на сообщения завязана полностью. В принципе, сейчас можно и в Си сделать сложные структуры, включающие и данные, и указатели на функции, и на С++ писать "в стиле Си".
Сообщение Добавлено: Пт июл 26, 2019 11:29
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Всех, кому не интересно - вычеркиваем... :))
Сообщение Добавлено: Пт июл 26, 2019 09:16
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Total Vacuum писал(а):
Недавно наткнулся на статью. ООП на чистом С (не С++):
https://www.cs.rit.edu/~ats/books/ooc.pdf
Немножко не по теме, но может кому-то будет интересно. Ждем статью ООП на ассемблере :))

А - что такого?
Я уже давно только в ооп-стиле на чистом си (без плюсов) проектирую и пишу для микроконтроллеров. Примерно, как у Миро Самека ( но - не совсем ).
А ещё в 2002 году сделал макросы для работы в ооп на асме adsp2192.
А в 90-х и у ТурбоАссемблера был режим написания ооп-кода.
Сообщение Добавлено: Пт июл 26, 2019 02:30
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
f02732 писал(а):
Total Vacuum писал(а):
Недавно наткнулся на статью. ООП на чистом С (не С++)

И что тут такого? ООП на сишке уже давно эмулировать научились. Просто к структуре (инкапсуляция) добавляют указатели на функции (полиморфизм), методы/функции первым аргументом принимают указатель на объект-структуру. Так, навскидку, такое используется в COM и основанных на нём технологиях (COM+ и т.д.), во freetype, вроде, нечто подобное.

Я на форте для ООП сделал механизм для завуалирования указателя на струкутруру
В итоге можно было писать сразу методы. Эх, помогает
Сообщение Добавлено: Чт июл 25, 2019 17:05
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Total Vacuum писал(а):
Недавно наткнулся на статью. ООП на чистом С (не С++)

И что тут такого? ООП на сишке уже давно эмулировать научились. Просто к структуре (инкапсуляция) добавляют указатели на функции (полиморфизм), методы/функции первым аргументом принимают указатель на объект-структуру. Так, навскидку, такое используется в COM и основанных на нём технологиях (COM+ и т.д.), во freetype, вроде, нечто подобное.
Сообщение Добавлено: Чт июл 25, 2019 14:43
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
ИМХО,
ООП нужен, когда имеется дофига структур и нужны слова для работы с их элементами.
Сообщение Добавлено: Ср июл 24, 2019 17:33
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Ethereal писал(а):
- по объекту класса на каждый пин;
- объект, инкапсулирующий все пины для их инициализации одним методом;
Подумал, а как бы я это "инкапсулировал" на Форте. Вышло так :
Код:
HEX

: PIN ( bit addr -- ) CREATE , 1 SWAP LSHIFT , DOES> 2@ ;
: PIN@ ( mask addr -- flag ) C@ AND 0<> ;
: PIN! ( flag mask addr -- ) 2DUP C@ SWAP INVERT AND 2SWAP AND OR SWAP C! ;

18 CONSTANT PORTB
0 PORTB PIN PORTB.0
1 PORTB PIN PORTB.1
2 PORTB PIN PORTB.2
3 PORTB PIN PORTB.3
4 PORTB PIN PORTB.4
5 PORTB PIN PORTB.5
6 PORTB PIN PORTB.6
7 PORTB PIN PORTB.7

\ \\\\\\\\\\\\\\\\\\\\\\\\\\

8F PORTB C! \ Initialization by one method
...
TRUE  PORTB.5 PIN! \ _-
FALSE PORTB.5 PIN! \ -_
PORTB.3 PIN@ IF ... ELSE ... THEN
Там после той статьи такой диалог в обсуждениях :
- Но нужно предохраняться, чтобы не подхватить ООП головного мозга. ... Возможно, вы слишком сильно разбиваете задачу на объекты. Зачем на каждый пин по объекту?
- Тогда нарушается принцип «один объект — одна область ответственности».

Ну вот выше я сделал одно слово - одна область ответственности - "пин" и слово инкапсулирующее все пины в "порт". Чо що то нужно ? Зачем огород городить ?
Не понимаю я в итоге этого ООП. Как в студенческие годы не понял так и до сих пор. В чем там фишка ?
Сообщение Добавлено: Ср июл 24, 2019 16:52
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Я кстати видел где-то в инете пример ООП на асме.
Сообщение Добавлено: Ср июл 24, 2019 15:10
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Недавно наткнулся на статью. ООП на чистом С (не С++):
https://www.cs.rit.edu/~ats/books/ooc.pdf
Немножко не по теме, но может кому-то будет интересно. Ждем статью ООП на ассемблере :))
Сообщение Добавлено: Ср июл 24, 2019 13:29
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Ethereal писал(а):
Да уж.
Мне малознаком C++ , но увидел в статье упоминание про какие-то constexpr и почитал что это такое https://habr.com/ru/post/228181/ Да это-же попытка закосить под Форт и прикрутить к C++ какую-никакую интерпретацию на этапе компиляции. Правда

constexpr
Новый препроцессор! Теперь банановый :))
Сообщение Добавлено: Ср июл 24, 2019 13:25
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Да уж.

- по объекту класса на каждый пин;
- объект, инкапсулирующий все пины для их инициализации одним методом;
- объект контроля RCC, который инкапсулирует все объекты, которые находятся на аппаратных шинах;
- проект конвертера CAN<->RS485 по протоколу заказчика содержит под 60 объектов;


Это пипец какой-то. Метод родил дикое усложнение только ради того чтобы уложить реальность в прокрустово ложе парадигмы.

Мне малознаком C++ , но увидел в статье упоминание про какие-то constexpr и почитал что это такое https://habr.com/ru/post/228181/ Да это-же попытка закосить под Форт и прикрутить к C++ какую-никакую интерпретацию на этапе компиляции. Правда

Но тут у C++ большие проблемы с синтаксисом: ... Также все это сопровождается непонятными сообщениями об ошибке, которые могут занимать сотни строк.
Но на этом проблемы не заканчиваются.


используемые шаблоны и constexpr невозможно просчитать до просмотра map, asm и bin файлов конечной прошивки (или запуска отладки в микроконтроллере);

Воистину превращение C в C++ - это нездоровая деятельнось по притаскиванию за уши всего удачного, что можно подсмотреть в других языках. Чтобы в итоге получилось C++ the best. Только меня почему-то воротит от всего этого.
Сообщение Добавлено: Ср июл 24, 2019 13:03
  Заголовок сообщения:  Re: Форт и ООП  Ответить с цитатой
Сложность уровня абстракций (ради абстракций?)
Статья на хабр
Пять лет использования C++ под проекты для микроконтроллеров в продакшене

P.S. В рамках Форт решалось бы минимальными трудозатратами.
Чем хорош данный форум, что по разным вопросам уже было форумное обсуждение. :)
Сообщение Добавлено: Ср июл 24, 2019 11:20
  Заголовок сообщения:   Ответить с цитатой
вопрос писал(а):
Олег, это всё-таки несколько разные вещи и я уверен, преимущества ООП будут оценены, не сомневаюсь. Прсто не удаётся совместить некоторые свойства Форта с привычными приёмами ООП

собственно, почти эксклюзивно для вас написана следующая статья языковая среда программирования так же советую почитать статьи, посвященные ЯОП (его пророчат на смену ООП, почему-то не замечая, что Форт уже есть, и давно) там озвучены претензии к ООП технологии, и перечисленны преимущества ЯОП. Почитайте хотя бы ту ссылку, которая дана в конце статьи ;)
Сообщение Добавлено: Пн апр 27, 2009 22:44

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


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