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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 12  След.
Автор Сообщение
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:33 
gudleifr писал(а):
Мы все это время говорили о задачах, сложных именно для программирования, а не для объяснения программисту.

Предположу, что сложность происходит при решении задачи
в рамках большого количества неопределённых факторов и
проблемы выбора адекватных средств решения частных задач.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:39 
`Kopa писал(а):
Предположу, что сложность происходит...
Зачем же предполагать? Это вполне общепринятый термин. Самое простое определение - программа, объем которой требует привлечения более чем одного программиста.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 20:49 
gudleifr писал(а):
сложность происходит... Самое простое определение - программа, объем которой требует привлечения более чем одного программиста.


Где критерий, если предположить взаимоперетекаемость
программисты-время. Сложно или нет для одного и правда
ли это и как определяется? (Претензии могут быть необоснованы)

P.S. Самому интересно. Обычно, работа даётся, если
у программиста есть предыдущий удачный опыт, а сможет
или нет справится он один выясняется по ходу:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 21:06 
`Kopa писал(а):
Где критерий, если предположить взаимоперетекаемость программисты-время.
Точной границы нет. Например, Дейкстра говорил о сложной программе "скажем, такого же размера, как весь текст этого раздела", а я встречал программиста, хваставшегося, что за год написал 2Мб исходников. Многие утверждают, что за год хороший программист по каким-то там стандартам пишет всего тысячу строк. А шесть шимпанзе...
Обычно, все-таки, программисты и манагеры как-то договариваются.
Если интересно, почитай Брукса.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 21:14 
В чем нуждается Forth, чтобы преодолеть этот барьер страха и непонимания? В довесках, делающих его похожими на другие языки? Я их уже, может быть опрометчиво, заклеймил, сделанного не воротишь. Придется отталкиваться только от опыта Forth. Что меня раздражает? Во-первых и основных, недостаточность стандарта ANSI94. Он описывает только один очень узкий слой Forth.
1) Мне постоянно хочется создавать свои компилирующие слова, но как это делать в стандарте не прописано, т.к. подробности реализации им не определяются. Т.е. меня информационно ограничивают в моем языкотворчестве.
2) ANSI94 слишком много свободы дает в реализации "необязательных" компонентов и оставляет лазейку для частично-совместимых продуктов. В итоге, вот я выложил решение задачи под Win32Forth, а многие ли смогли его проверить? Я сам начинал писать под свой DOS-FOBOS и даже почти вспомнил как пользоваться встроенным туда редактором по Броуди (остальные работать отказались). Потом все-таки пропинал Win32Forth, заставив его встать под Win7. Десяток слов, которые в Win32Forth и FOBOS разные, и поиски файла, в котором я сохранил реализацию слова DOER.
3) В одной из своих статей я замахнулся так высоко, в светлое будущее строительства интеллектуальных Forth-систем, что будет основана эта сверх-Forth-система на ANSI94 или нет, уже не будет важно, хотя какие-то Forth-свойства у нее останутся. Следовтельно Forth и ANSI94, по крайней мере для меня, это "две большие разницы".
Какой можно сделать вывод? Требуется:
1) наличие для всех платформ только одной Forth-системы удовлетворяющей (и полностью) ANSI94;
2) отсутствия в этой системе всего, что не входит в ANSI94 (IDE, полезных библиотек, очевидных улучшений и т.д.); последние должны распространяться отдельно на правах обычных приложений;
3) единообразие представления реализаций этой Fort-системы для различных платформ (невзирая на разницу в процессорах и ОС);
4) наличие метаязыка, описывающее это единообразие (где можно было бы ясно прочесть, какой вариант шитого код был использован, где лежит адресный интерпретатор, как распределяются служебные области, и как получить к ним доступ);
5) способность этого метаязыка описывать решения по дальнейшей эволюции языка;
6) чтобы этим метаязыком был Forth...
Ну не думаете же вы, что нас спасет БНФ или UML?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Чт фев 16, 2012 21:54 
gudleifr писал(а):
Следовтельно Forth и ANSI94, по крайней мере для меня, это "две большие разницы".

т.е. желательно учесть всё многообразие "подвидов" реализации Форт-систем. (Условно, если возможно, в расширении ядра MetaForth)

gudleifr писал(а):
Какой можно сделать вывод? Требуется:
...
2) отсутствия в этой системе всего, что не входит в ANSI94 (IDE, полезных библиотек, очевидных улучшений и т.д.); последние должны распространяться отдельно на правах обычных приложений;


IDE на Форте ограничим терминальным интерфейсом?

gudleifr писал(а):
4) наличие метаязыка, описывающее это единообразие (где можно было бы ясно прочесть, какой вариант шитого код был использован, где лежит адресный интерпретатор, как распределяются служебные области, и как получить к ним доступ);
5) способность этого метаязыка описывать решения по дальнейшей эволюции языка;
6) чтобы этим метаязыком был Forth...


Очередное улучшение Мета возможностей языка?

P.S. "Хотелки" вполне логичные.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 10:15 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
`Kopa писал(а):
IDE на Форте ограничим терминальным интерфейсом?

В базовой системе он необходим и достаточен.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 10:22 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
gudleifr писал(а):
где можно было бы ясно прочесть, какой вариант шитого код был использован,

Зачем это знать программисту?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 10:30 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
dynamic-wind писал(а):
gudleifr писал(а):
где можно было бы ясно прочесть, какой вариант шитого код был использован,

Зачем это знать программисту?


На пример, дописпимо - ли такое задание массива ссылок на процедуры:
Код:
  CREATE EXE-TAB ] + - * / [


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 11:56 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июн 25, 2009 11:12
Сообщения: 412
Благодарил (а): 41 раз.
Поблагодарили: 8 раз.
Для таких (и для всех полезных) действий надо ввести независимую от реализации языковую конструкцию.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 12:53 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
dynamic-wind писал(а):
Для таких (и для всех полезных) действий надо ввести независимую от реализации языковую конструкцию.

Тогда это и будет не Форт, а язык программирования.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 13:36 
dynamic-wind писал(а):
Для таких (и для всех полезных) действий надо ввести независимую от реализации языковую конструкцию.
Реализация должна быть только одна! По крайней мере, пока все не устаканится. Т.к. нас мало, мы можем себе это позволить.
Пока, рассматривая какую-нибудь реализацию могу выделить следующие части, описываемые на "разных языках":
1) что-то подобное недавно организованному "Форт-словарику". Смешно и грустно, описания терминов там можно разделить на три класса тривиальные, спорные и тривиальные, но спорные;
2) куски ассемблерного кода, почему-то в (1) практически не упомянуты;
3) шитый код, организованный из (2), согласно (1), с добавлением "полей";
4) то что лежит выше INTERPRET и может храниться в текстовом виде.
С функциональной точки зрения имеем следующие обязательные части:
1) интерпретатор (включая словари);
2) целевой компилятор (не только для самосовершенствования, но как описание кусков (1-3) выше);
3) консоль;
4) элементы ОС (При работе в нормальной ОС отсутствуют. Зачем мне многозадачность, если я могу запустить два Forth?);
5) БД (от блоковой памяти, до базы наработок и документации).
Что упустил?
P.S. Впрочем, речь идет не о том, что "со всем этим барахлом мы попытаемся взлететь", но мы должны уметь эти штуки формально описывать. И не забывать, что наш язык не должен описать только существующее положение, но и направления дальнейшего развития.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 14:54 
Не в сети
Administrator
Administrator
Аватара пользователя

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

Периодически появляются призывы стандартизировать рецепт. Пускай все кулинары кладут в суп строго определенный набор продуктов! Это позволит при необходимости переливать из одной кастрюли в другую, если в одной кастрюле не удастся наварить столько, сколько хочется. Ну а правда, а вдруг? Вот скажем, пришел в гости полк солдат, так мы ррраз - пригласим соседей, и все вместе наварим строго стандартизированный суп на весь полк. При этом свойства борща, ухи, куриной лапши и грибного супа должны обеспечиваться либо автоматически, либо путем хлебания из соответствующей части тарелки.

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

В целях совместимости с другими видами продуктов предлагается закладывать прямо в кастрюлю еще и банки консервов. И суп сварим, и консервы поедим. А называться все равно будет супом.

При этом:
1. Суп - это вода и продукты в кастрюле. Дать точное определение всем его разновидностям очень сложно. Но кто хочет научиться его варить - может научиться варить.
2. Суп хорош тем, что каждый кулинар может приготовить его так, как хочет. С учетом своих вкусов, питательности и цены продуктов, сложности приготовления и имеющейся посуды.
3. Суп как рецепт - понятие абстрактное. В тарелку можно налить только какой-то конкретный суп, из конкретных продуктов. Этот конкретный суп не может быть лапше-борще-ухой на холодном квасе, надо выбрать что-то одно.
4. Можно сварить кастрюлю на 5 или 10 литров, но нельзя наварить бочку на 10 лет вперед. Прокиснет, а задолго до того надоест.
5. Человек, у которого есть тарелка супа, может наесться на день. Человек, который умеет варить суп, может себя прокормить.



За это сообщение автора Hishnik поблагодарил: 4myke
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 15:02 
Хищник писал(а):
Мне вот обсуждения реализации Форта напоминают... обсуждение рецепта супа
Очень удачный пример. Когда во всех цивилизованных странах уже были созданы полевые кухни, французы еще отстаивали право каждого солдата варить суп "на свой манер".
Я говорю именно о военном положении. Экстренных мерах. Иначе мы так и погрязнем в маниловщине.
P.S. Вот, кстати, у нас и получился хороший пример сложного проекта.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Разработка "сверху вниз"
СообщениеДобавлено: Пт фев 17, 2012 15:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
gudleifr писал(а):
Очень удачный пример. Когда во всех цивилизованных странах уже были созданы полевые кухни, французы еще отстаивали право каждого солдата варить суп "на свой манер".

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


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

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


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

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


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

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