Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
Оффтоп (и т.к. я случайно потер ответ коллеге): mgw писал(а): Я не понимаю, почему мы не можем оторваться от "дна". Потому, что вопрос касается основ. И хватит захламлять все темы мечтами о "библиотеках". Библиотеки - это вопрос ОС, а не языка программирования (тем более, не метода). В данной же теме ОС выступает не как самоцель, а как пример специфической задачи.
Оффтоп (и т.к. я случайно потер ответ коллеге): [quote="mgw"]Я не понимаю, почему мы не можем оторваться от "дна".[/quote]Потому, что вопрос касается основ.
И хватит захламлять все темы мечтами о "библиотеках". Библиотеки - это вопрос ОС, а не языка программирования (тем более, не метода). В данной же теме ОС выступает не как самоцель, а как пример специфической задачи.
|
|
|
|
Добавлено: Сб авг 09, 2014 12:17 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
Получается примерно так: 1. FORTH-машина состоит из нескольких частей 2. Взаимопроникновение частей, как показывает опыт FORTH-строения и вопреки "общепринятому" мнению, минимально
Тогда приведенные в начале темы варианты: 1. "лексиконостроение" - увеличение степени взаимопроникновения частей 2. "инкапсуляция" - замена некоторых частей на другие, внешне такие же 3. "спец.машина" - изменение общего количества частей 4. "втор.машина" - использование нескольких наборов частей (при этом неизбежно возникнет взаимопроникновение, что объясняет изначальное сродство решений (1) и (4)).
Получается примерно так: 1. FORTH-машина состоит из нескольких частей 2. Взаимопроникновение частей, как показывает опыт FORTH-строения и вопреки "общепринятому" мнению, минимально
Тогда приведенные в начале темы варианты: 1. "лексиконостроение" - увеличение степени взаимопроникновения частей 2. "инкапсуляция" - замена некоторых частей на другие, внешне такие же 3. "спец.машина" - изменение общего количества частей 4. "втор.машина" - использование нескольких наборов частей (при этом неизбежно возникнет взаимопроникновение, что объясняет изначальное сродство решений (1) и (4)).
|
|
|
|
Добавлено: Пт авг 08, 2014 22:38 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
О, я смотрю, уже кристаллизуется. Оно обычно по схожим сценариям идет - сначала ворох отвлеченных рассуждений, потом формулировка причин, по которым сей убогий мир не готов к восприятию столь возвышенного. Не Вы первый, не Вы последний...
О, я смотрю, уже кристаллизуется. Оно обычно по схожим сценариям идет - сначала ворох отвлеченных рассуждений, потом формулировка причин, по которым сей убогий мир не готов к восприятию столь возвышенного. Не Вы первый, не Вы последний...
|
|
|
|
Добавлено: Пт июл 25, 2014 12:22 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
Да, похоже все темы, которые я создал после этой свелись к ней. Что ран-тайм компиляция, что подгонка структуры FORTH под структуру задачи (и наоборот)...
(Как кибернетик решает задачу? "Надо доставить груз из точки A в точку B". - "Очевидно. Строим в точке A машину, максимум энтропии которой достигается в точке B. Привязываем к ней груз. Ждем...")
Так и я все пытаюсь, то ли "привязать" FORTH к задаче, то задачу к FORTH... Кто кого должен тащить?
P.S. Ладно, не переживайте. Вопрос явно не по Форуму. Прошу извинить.
Да, похоже все темы, которые я создал после этой свелись к ней. Что ран-тайм компиляция, что подгонка структуры FORTH под структуру задачи (и наоборот)...
(Как кибернетик решает задачу? "Надо доставить груз из точки A в точку B". - "Очевидно. Строим в точке A машину, максимум энтропии которой достигается в точке B. Привязываем к ней груз. Ждем...")
Так и я все пытаюсь, то ли "привязать" FORTH к задаче, то задачу к FORTH... Кто кого должен тащить?
P.S. Ладно, не переживайте. Вопрос явно не по Форуму. Прошу извинить.
|
|
|
|
Добавлено: Пт июл 25, 2014 11:04 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
Я не понимаю, почему мы не можем оторваться от "дна". Я давно уже испытал и новый уровень форта и попытку ОСостроения. Дорога известна, просто надо по ней идти. На собственном опыте понял, что оставаясь на базисе, низком уровне форта, большую программу не построишь. Все равно в начале нужны библиотеки, кто бы как их не называл, хоть лексиконы, хоть драйвера хоть интерпретаторы. Разницы нет. Хищник все уже рассказал, как и зачем. Попытка найти философский камень Форта, останется попыткой.
Я не понимаю, почему мы не можем оторваться от "дна". Я давно уже испытал и новый уровень форта и попытку ОСостроения. Дорога известна, просто надо по ней идти. На собственном опыте понял, что оставаясь на базисе, низком уровне форта, большую программу не построишь. Все равно в начале нужны библиотеки, кто бы как их не называл, хоть лексиконы, хоть драйвера хоть интерпретаторы. Разницы нет. Хищник все уже рассказал, как и зачем. Попытка найти философский камень Форта, останется попыткой.
|
|
|
|
Добавлено: Ср апр 30, 2014 21:19 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
mgw писал(а): Пишем лексикон (1) и меняем интерпретатор (4) на базе написанного лексикона. Непонятно. mgw писал(а): Именно с этого уровня можно идти на большие программы. Большие программы на то и большие, что "начальный уровень" для них совершенно не важен. Если вам нужно наполнить ванну, то пара десятков ведер имеет значение, если бассейн - уже нет. mgw писал(а): Окно,это новая сущность с которой и будем работать. Лучше не надо. Выбор для начала работы уровня окна/формы - прямой путь к плохой программе. Но, об этом, давайте не в этой теме.
[quote="mgw"]Пишем лексикон (1) и меняем интерпретатор (4) на базе написанного лексикона.[/quote]Непонятно. [quote="mgw"]Именно с этого уровня можно идти на большие программы.[/quote]Большие программы на то и большие, что "начальный уровень" для них совершенно не важен. Если вам нужно наполнить ванну, то пара десятков ведер имеет значение, если бассейн - уже нет. [quote="mgw"]Окно,это новая сущность с которой и будем работать.[/quote]Лучше не надо. Выбор для начала работы уровня окна/формы - прямой путь к плохой программе. Но, об этом, давайте не в этой теме.
|
|
|
|
Добавлено: Ср апр 30, 2014 21:01 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
Пишем лексикон (1) и меняем интерпретатор (4) на базе написанного лексикона. Задача перейти на новый проблем но ориентированный уровень. Именно с этого уровня можно идти на большие программы. В терминах оконной системы - забываем о сообщениях windows, это низкий уровень и он не для нас. Окно,это новая сущность с которой и будем работать.
Пишем лексикон (1) и меняем интерпретатор (4) на базе написанного лексикона. Задача перейти на новый проблем но ориентированный уровень. Именно с этого уровня можно идти на большие программы. В терминах оконной системы - забываем о сообщениях windows, это низкий уровень и он не для нас. Окно,это новая сущность с которой и будем работать.
|
|
|
|
Добавлено: Ср апр 30, 2014 20:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
mgw писал(а): Тогда используем его. Если он этого не умеет, то пишем "правильный" ОСный. Пишем, пишем... По вариантам ответов: 1. То, что Вы, видимо и подразумеваете. Создаем библиотеку/лексикон и т.д. 2. Правим свой FORTH, чтобы он делал "все правильно", но никому об этом не говорим. 3. То же, что и (2), но вытаскиваем все нужные для этого слова наружу, чтобы удобнее было использовать. 4. Добавляем в код FORTH второй вариант в параллель первому, т.е. половину жизни FORTH работает по-старому (например, при саморазвертывании), половину по-новому... С окнами: 1. Пишем большую оконную библиотеку/лексикон, инкапсулируя (возможно, оконно-ориентированно) win-api. 2. Втихаря переписываем EXPECT и TYPE под работу в консоли (создаем Цикл Приложения, окно-консоль и т.д.). Т.е. имеем тот же ANSI-FORTH, но "виндовый". 3. Проводим аналоги между Циклом Управления FORTH и Циклом Приложения и программируем последний по-FORTH-овски: WORD читает Win-msg, FIND ищет обработчик сообщения и т.д. 4. Т.к. в (3) не осталось места под нормальный ПОТОК, до цепляем вместе два FORTH - один читает слова, другой - сообщения...
[quote="mgw"]Тогда используем его. Если он этого не умеет, то пишем "правильный" ОСный. [/quote]Пишем, пишем... По вариантам ответов: 1. То, что Вы, видимо и подразумеваете. Создаем библиотеку/лексикон и т.д. 2. Правим свой FORTH, чтобы он делал "все правильно", но никому об этом не говорим. 3. То же, что и (2), но вытаскиваем все нужные для этого слова наружу, чтобы удобнее было использовать. 4. Добавляем в код FORTH второй вариант в параллель первому, т.е. половину жизни FORTH работает по-старому (например, при саморазвертывании), половину по-новому...
С окнами: 1. Пишем большую оконную библиотеку/лексикон, инкапсулируя (возможно, оконно-ориентированно) win-api. 2. Втихаря переписываем EXPECT и TYPE под работу в консоли (создаем Цикл Приложения, окно-консоль и т.д.). Т.е. имеем тот же ANSI-FORTH, но "виндовый". 3. Проводим аналоги между Циклом Управления FORTH и Циклом Приложения и программируем последний по-FORTH-овски: WORD читает Win-msg, FIND ищет обработчик сообщения и т.д. 4. Т.к. в (3) не осталось места под нормальный ПОТОК, до цепляем вместе два FORTH - один читает слова, другой - сообщения...
|
|
|
|
Добавлено: Ср апр 30, 2014 17:57 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
gudleifr писал(а): Это в тему. Внутри вашего FORTH есть процедура (условно EXPECT), которая получает символы. Она реализована через кольцевой буфер? Допустим, нет. Что проще, ограничиться при написании нашей "ОС-подобной" программы уже готовым EXPECT, сделать второй ввод при помощи библиотеки/лексикона "кольцевого" EXPECT-2, или переписать свой EXPECT (и, соответственно свой FORTH) под кольцевой буфер? Это место не понятно. Что значит, что проще? EXPECT уже есть? Он отвечает понятию ОС? Он работает по прерываниям, он может буферизировать поток и т.д. Тогда используем его. Если он этого не умеет, то пишем "правильный" ОСный. Выбора то нету. Но я всё о том же, где переход на другой уровень абстракции? Пример: Окна новое Окно№1 Окно№1.Покажи 200 300 Окно№1.Размеры
[quote="gudleifr"]Это в тему. Внутри вашего FORTH есть процедура (условно EXPECT), которая получает символы. Она реализована через кольцевой буфер? Допустим, нет. Что проще, ограничиться при написании нашей "ОС-подобной" программы уже готовым EXPECT, сделать второй ввод при помощи библиотеки/лексикона "кольцевого" EXPECT-2, или переписать свой EXPECT (и, соответственно свой FORTH) под кольцевой буфер?[/quote] Это место не понятно. Что значит, что проще? EXPECT уже есть? Он отвечает понятию ОС? Он работает по прерываниям, он может буферизировать поток и т.д. Тогда используем его. Если он этого не умеет, то пишем "правильный" ОСный. Выбора то нету. Но я всё о том же, где переход на другой уровень абстракции?
Пример: Окна новое Окно№1 Окно№1.Покажи 200 300 Окно№1.Размеры
|
|
|
|
Добавлено: Ср апр 30, 2014 17:50 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
mgw писал(а): По мне так вообще нет разницы между Фортом и С, с точки зрения построения ОС. Разница проста: авторы Unix написали язык C под себя, для удобной реализации на нем Unix... А фортеры как только начинают писать ОС, убеждаются, что игра не стоит свеч, т.к. все и так прекрасно работает... mgw писал(а): Так на Форте будем реализовывать библиотеку поддержки кольцевого буфера, или нет? Это в тему. Внутри вашего FORTH есть процедура (условно EXPECT), которая получает символы. Она реализована через кольцевой буфер? Допустим, нет. Что проще, ограничиться при написании нашей "ОС-подобной" программы уже готовым EXPECT, сделать второй ввод при помощи библиотеки/лексикона "кольцевого" EXPECT-2, или переписать свой EXPECT (и, соответственно свой FORTH) под кольцевой буфер? mgw писал(а): где заканчивается обычный Форт и начинается другой слой, слой проблемноориентированных интерфейсов Во всех вариантах ответа (1-5) - по-разному.
[quote="mgw"]По мне так вообще нет разницы между Фортом и С, с точки зрения построения ОС.[/quote]Разница проста: авторы Unix написали язык C под себя, для удобной реализации на нем Unix... А фортеры как только начинают писать ОС, убеждаются, что игра не стоит свеч, т.к. все и так прекрасно работает... [quote="mgw"]Так на Форте будем реализовывать библиотеку поддержки кольцевого буфера, или нет?[/quote]Это в тему. Внутри вашего FORTH есть процедура (условно EXPECT), которая получает символы. Она реализована через кольцевой буфер? Допустим, нет. Что проще, ограничиться при написании нашей "ОС-подобной" программы уже готовым EXPECT, сделать второй ввод при помощи библиотеки/лексикона "кольцевого" EXPECT-2, или переписать свой EXPECT (и, соответственно свой FORTH) под кольцевой буфер? [quote="mgw"]где заканчивается обычный Форт и начинается другой слой, слой проблемноориентированных интерфейсов[/quote]Во всех вариантах ответа (1-5) - по-разному.
|
|
|
|
Добавлено: Ср апр 30, 2014 17:36 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
По мне так вообще нет разницы между Фортом и С, с точки зрения построения ОС. Разница в библиотеках. Например драйвер TTY в Linux реализован на С, но вся его работа - это кольцевая очередь, с одного конца наполняет клавиатура с другого конца забирает READ. Так на Форте будем реализовывать библиотеку поддержки кольцевого буфера, или нет?
Просто я не как не могу увидеть, где заканчивается обычный Форт и начинается другой слой, слой проблемноориентированных интерфейсов
По мне так вообще нет разницы между Фортом и С, с точки зрения построения ОС. Разница в библиотеках. Например драйвер TTY в Linux реализован на С, но вся его работа - это кольцевая очередь, с одного конца наполняет клавиатура с другого конца забирает READ. Так на Форте будем реализовывать библиотеку поддержки кольцевого буфера, или нет?
Просто я не как не могу увидеть, где заканчивается обычный Форт и начинается другой слой, слой проблемноориентированных интерфейсов
|
|
|
|
Добавлено: Ср апр 30, 2014 17:18 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
mgw писал(а): Хорошо. Тогда вопрос, в этом типовом Форте есть ли библиотеки... gudleifr писал(а): Итак, на входе - обычный FORTH, не имеющий на борту ничего, чего бы не было необходимым для его работы (саморазвития). Вы можете сделать библиотеки органичной частью FORTH в этом смысле?
[quote="mgw"]Хорошо. Тогда вопрос, в этом типовом Форте есть ли библиотеки...[/quote] [quote="gudleifr"]Итак, на входе - обычный FORTH, не имеющий на борту ничего, чего бы не было необходимым для его работы (саморазвития).[/quote]Вы можете сделать библиотеки органичной частью FORTH в этом смысле?
|
|
|
|
Добавлено: Ср апр 30, 2014 17:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
Хорошо. Тогда вопрос, в этом типовом Форте есть ли библиотеки: 1 - работа со строками 2 - работа с памятью 3 - работа с файлами 4 - работа с модулями 5 - работа с ООП
или предполагается, что как такового набора готовых библиотек нету и будем по ходу работы добавлять новые функции (слова) ?
По мне так вообще нет разницы между Фортом и С, с точки зрения построения ОС. Разница в библиотеках. Например драйвер TTY в Linux реализован на С, но вся его работа - это кольцевая очередь, с одного конца наполняет клавиатура с другого конца забирает READ. Так на Форте будем реализовывать библиотеку поддержки кольцевого буфера, или нет?
Хорошо. Тогда вопрос, в этом типовом Форте есть ли библиотеки: 1 - работа со строками 2 - работа с памятью 3 - работа с файлами 4 - работа с модулями 5 - работа с ООП
или предполагается, что как такового набора готовых библиотек нету и будем по ходу работы добавлять новые функции (слова) ?
По мне так вообще нет разницы между Фортом и С, с точки зрения построения ОС. Разница в библиотеках. Например драйвер TTY в Linux реализован на С, но вся его работа - это кольцевая очередь, с одного конца наполняет клавиатура с другого конца забирает READ. Так на Форте будем реализовывать библиотеку поддержки кольцевого буфера, или нет?
|
|
|
|
Добавлено: Ср апр 30, 2014 17:12 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
mgw писал(а): Так Форт есть или его нет? Тут надо определится. В смысле? В топикстарте ясно же сказано: берем любой FORTH и дорабатываем напильником. Использование какого-либо "стандартного FORTH" имеет отношение только к вариантам ответа (1) и (5). "Операционные системы" в этой теме выступают только в роли "например, Слоненка". Как возможная сфера применения "сложного FORTH". P.S. А почему "ОС не получится"? Unix же из "самого C" получился же...
[quote="mgw"]Так Форт есть или его нет? Тут надо определится.[/quote]В смысле? В топикстарте ясно же сказано: берем любой FORTH и дорабатываем напильником. Использование какого-либо "стандартного FORTH" имеет отношение только к вариантам ответа (1) и (5).
"Операционные системы" в этой теме выступают только в роли "например, Слоненка". Как возможная сфера применения "сложного FORTH".
P.S. А почему "ОС не получится"? Unix же из "самого C" получился же...
|
|
|
|
Добавлено: Ср апр 30, 2014 17:06 |
|
|
|
|
|
Заголовок сообщения: |
Re: От FORTH - к OS |
|
|
gudleifr писал(а): Итак, на входе - обычный FORTH, не имеющий на борту ничего, чего бы не было необходимым для его работы (саморазвития). Нам надо расширить его некоторыми свойствами операционной системы - взаимодействием с некими устройствами, многозадачностью и прочим... gudleifr писал(а): Предполагается писать не "на FORTH", а "самого FORTH" или, даже "не совсем FORTH". Так Форт есть или его нет? Тут надо определится. Если пишем ОС, то и получится ОС. Если пишем "самого FORTH" или, даже "не совсем FORTH", то ОС не получится.
[quote="gudleifr"]Итак, на входе - обычный FORTH, не имеющий на борту ничего, чего бы не было необходимым для его работы (саморазвития). Нам надо расширить его некоторыми свойствами операционной системы - взаимодействием с некими устройствами, многозадачностью и прочим...[/quote] [quote="gudleifr"]Предполагается писать не "на FORTH", а "самого FORTH" или, даже "не совсем FORTH".[/quote]
Так Форт есть или его нет? Тут надо определится.
Если пишем ОС, то и получится ОС. Если пишем "самого FORTH" или, даже "не совсем FORTH", то ОС не получится.
|
|
|
|
Добавлено: Ср апр 30, 2014 16:56 |
|
|
|
|