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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: oForth
СообщениеДобавлено: Чт апр 19, 2018 14:37 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Всем привет! Давно сюда не заходил. То дела, то ещё что... (счас вообще болею ): )
С недавнего времени опять вспомнил про SmallTalk и пытаюсь его понять, но непонимаю малость интерфейс и ещё кое-чего (то, чего ещё не успел изучить).
Вспомнил и очень странный проект: http://www.oforth.com - смесь SmallTalk и Forth. Как по мне, так очень даже интересная и гибкая вещь (со вчерашнего до 10 главы английской документации дошёл!).
Так вот, мне интересно, как оцениваете вы это чудо?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 12:46 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Почему, когда я вспоминаю ООП, все молчат? :x Или хотите сказать, что словарная статья немного не напоминает класс? Не уж-то этот проект вам совсем не интересен?


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Скорее словарь напоминает класс - в него инкапсулированы слова, он наследует слова родителя, при совпадении имен вызываемое слово зависит от контекста поиска (полиморфизм).

Однако же для серьезной работы важно как раз не то, какие еще интересные вещи реализованы в том или ином диалекте, а куда вообще авторы этого диалекта идут. Если с ними в глобальном смысле не по пути, то временное совпадение интересов ни к чему в итоге не приведет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 12:57 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Просто, как я понял, мне уже надоело создавать велосипед (свой Форт). Кому он будет нужен?.. Вот и интересуюсь сторонними сборками, лучшего качества)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 12:59 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
+ Там много чего поддерживается. Вот что я насчитал:
* Потоки
* многозадачность
* JSON (здесь недавно упоминался)
* tcp
... (и ещё кое-что) ...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 13:01 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
...и некоторая совместимость с AnsForth


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
_KROL писал(а):
Просто, как я понял, мне уже надоело создавать велосипед (свой Форт). Кому он будет нужен?.. Вот и интересуюсь сторонними сборками, лучшего качества)

Это в целом нормальный и естественный процесс :) Но в целом позиция "сделать Форт и продавать" показала свою нежизнеспособность. Сколько уже жаловались на "отсутствие рынка форт-программ", сколько было попыток организовать продажи или хотя бы просто распространение путем добавления IDE, ООП, оптимизаторов, библиотек, потоков и прочего. Все впустую. Случайно? Нет.

Ситуация становится более понимаемой, если принять, что Форт - это не продукт на продажу, а внутренний инструмент, разрабатываемый в рамках большого проекта. Для суммирования элементов массива никто же не полезет в интернет искать "сумматоры элементов массива, с ООП, потоками и оптимизацией". Задача простая и решается на месте, на нужном в данный момент языке и для тех массивов, которые действительно надо посчитать. Чем тут принципиально отличается Форт? Это просто несколько тысяч строк кода, которые приносят в проект определенные функциональные возможности. Попытки написать стандарт разбивались о то, что нюансы возможностей Форта все видят по-своему, и это совершенно нормально. Если разобраться, то чем же Форт еще интересен, как не возможностью реализовать собственное поведение того ключевого куска кода, который нужен в проекте. Так что Форт ближе к middleware, если даже не к прикладной программе.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 13:23 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Ох, чем больше пытаюсь понять документацию, тем больше кажется, что это микро-ОС с уклоном в Форт!
Hishnik, про продажу своих продуктов (как и Форта вообще) я ничего и не говорил)) И вообще, я ещё учусь, не забывай.


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
_KROL писал(а):
Hishnik, про продажу своих продуктов (как и Форта вообще) я ничего и не говорил)) И вообще, я ещё учусь, не забывай.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 13:55 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Для меня сейчас проект (для универа) это создание базы данных... Данный язык, как я осознал, очень даже подходит для её простой реализации. А так, пишу на Си.
P.s. Прочитал всё. Что-то я зря oForth назвал смесью со SmallTalk. Синтаксис конечно чем-то похож, но сообщений (между объектами) не наблюдается.
P.p.s. В манулке (v.1.0.0) номера страниц чуть не соответствуют настоящим номерам + вроде нашлась пара лишних страниц (одна так точно).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 21:10 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1287
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
_KROL писал(а):
* Потоки
* многозадачность


Так это есть и у фортов обитателей этого форума.
Кварк исключая.

По БД
А насколько простая требуется БД?
Просто в моём понимании это нечто умеющие переопределять типы столбцов с поддержкой транзъацкий.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Пт апр 20, 2018 21:27 
Не в сети

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Вообще примерно такое:
Код:
\ 03.04.2018 _KROL
\ KaDB project
\ Copyright [C] 2018 _KROL krolmail@list.ru
\ Исходная постановка задачи и входные ограничения

9) База данных содержит информацию о заказанных номерах в гостинице:
  * номер (целое  трехзначное  число),
  * с какой  и  по  какую  даты (в  формате  дд.мм.гггг),
  * ФИО постояльца (строка 30  символов).
Дополнительно, программа должна формировать отчет за определенный
промежуток времени по определенному номеру в гостинице.

Из лабараторной работы No.4 следует, что:
  * программа поддерживает два способа вывода:
  1. формат "поле: значение"
  2. табличный
  * программа содержит меню, для выбора нужной операции

Из лабараторной работы No.5 следует, что:
  * программа должна работать с файлами: создание, загрузка, сохрание БД.
  ! остаётся неизвестным точный смысл работы и реализации функции remove_DB()

Из лабараторной работы No.6 следует, что:
  * решение должно быть разделено на соответствующие смысловые модули
  * решение должно содержать модульную схему

Сторонние ограничения:
  * проект без ООП
  * базу данных нельзя реализовывать с помощью списков
Только я хочу это позже усовршенстовать, когда доделаю...
P.s. Преподователь занят, поэтому ему ещё ничего не показывал) Пытаюсь оформлять примерно как mOleg, только лучше. Однако, пользовательский интерфейс скорее-всего будет не такой, как тут описано ;)
P.p.s. Условие задания лабы 5:
Код:
Дополнить проект, созданный в предыдущей лабораторной работе, следующими
функциями и добавить новые пункты в меню программы:
1. Функция new_DB(), в которой будет создаваться новый файл базы данных и открываться для
записи. Функция должна возвращать объект потока ввода для нового файла.
2. Функция remove_DB(), удаляющая файл по названию. В функции должна быть реализована
обработка ошибок.
3. Функция clear(), которая будет очищать динамическую память, выделенную для структур
базы данных.
4. Функция save_DB(), которая будет сохранять данные из динамического массива структур в
указанный файл.
5. Функция load_DB(), которая будет выгружать данные из указанного файла в динамический
массив структур.


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

Зарегистрирован: Пт янв 06, 2017 14:57
Сообщения: 365
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Цитата:
* базу данных нельзя реализовывать с помощью списков
Это я решил обойти так, что по define переключаю на компиляцию нужной реализации (динамический массив или список структур).
P.s. Простите, может и не в тему, Виктор попросил.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Сб апр 21, 2018 09:18 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 1287
Благодарил (а): 3 раз.
Поблагодарили: 18 раз.
Так блин списками гибче и тип можно переопределить относительно легко.
Проще, но зато надёжней.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: oForth
СообщениеДобавлено: Сб апр 21, 2018 22:18 
Не в сети

Зарегистрирован: Пт июн 06, 2008 14:21
Сообщения: 128
Откуда: Карелия
Благодарил (а): 1 раз.
Поблагодарили: 4 раз.
Victor__v писал(а):
Так блин списками гибче и тип можно переопределить относительно легко.
Проще, но зато надёжней.

Так сейчас многие БД в структурах поддерживают переменную длину поля, как же там без списков обойтись..


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

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


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

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


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

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