Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн дек 10, 2018 04:23

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Размышленияпопервоначалу...
СообщениеДобавлено: Пт фев 20, 2009 12:13 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 276
Благодарил (а): 8 раз.
Поблагодарили: 10 раз.
После чтений и тыканий пальцами, появляются первые (может, не совсем осмысленные) осчусчения в сторону Форта...

Модель вычислений со стеком минималистична, кратка и хороша, когда данные правильно на стеке лежат. Вся картина маслом портится вылитой на неё кислотой необходимости как раз правильно сманипулировать стеком для правильного расположения аргументов. При этом "трасса прохождения" значения переменной по стеку в результате операций часто теряется из ещё неокрепшего ламерского умища... А, учитывая, что переменных может быть больше двух - может просто повергнуть неофита к тотальному заблуду в трёх сосенках...
(Кстати, наблюдается интересный и подозрительный эффектв последние два-три дня, вернее - вечера. Во время отхода ко сну, на границе бодрствования и сна, стал ловить себя на мысли, что перед глазами тексты на Форте и мысленные манипуляции со стеком... :) так - абстрактное что-то... Это - не опасно? :) )

Самая главная претензия. Она ещё во время чтения Броуди СМ-Ф стала вырисовываться, а сейчас начинает оформляться чётче...
Стек в Форте - довольно низкоуровневое средство в процессе конструирования программ и систем.
Но проходит "сквозняком" через все уровни представления программной системы. С одной стороны - это - "+" - один универсальный механизм. С другой... Понимаете, в других языках и сущности и ОТНОШЕНИЯ между ними (и способы описания и поддержания этого всего как на уровне исполнительной системы, так и на уровне текстового представления) стремятся сделать максимально гибкими (ну, в рамках средства реализации и парадигм) для способов выражения своих идей... Я, конечно ещё не гуру в Форте, но мне как-то пока не уютно от сознания необходимости вытаскивать "средство склейки" между сущностями с, по сути "автокодовского" уровня, на уровень прикладной задачи и её понятий... А "прятать" этот "клей" - по сути изобретать свой новый язык. И не вахт, что его сможет понять даже коллега за соседним столом. У других языков и средств реализации постулирован синтаксис и семантика. Они могут быть очень простыми или очень сложными, но понятны большинству юзающих... А в проектах на Форте мне придётся двойную-тройную работу делать НА КАЖДОЙ СТАДИИ: от проектирования и до подготовки руководств программиста...

Я не фукаю и не нарываюсь на пофлудить... Гибкость Форта меня привлекает. Но что мне директору говорить, когда он попросит назвать сколько в Харькове (например) я найду фортеров, способных подхватить мой проект (да ещё и БЫСТРО "въехать" в каждый из уровней представления системы и мой собственный DSL самого верхнего уровня), если решу искать лучшей доли вне его лавки?

_________________
У России - только четыре союзника: её Армия, Флот и Авиация с Космическими Войсками.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Размышленияпопервоначалу...
СообщениеДобавлено: Пт фев 20, 2009 14:04 
Не в сети

Зарегистрирован: Ср сен 13, 2006 10:06
Сообщения: 636
Откуда: Омск
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Wlad писал(а):
Я не фукаю и не нарываюсь на пофлудить... Гибкость Форта меня привлекает. Но что мне директору говорить, когда он попросит назвать сколько в Харькове (например) я найду фортеров, способных подхватить мой проект (да ещё и БЫСТРО "въехать" в каждый из уровней представления системы и мой собственный DSL самого верхнего уровня), если решу искать лучшей доли вне его лавки?

А сколько там же найдешь могущих продолжить на ассемблере или если хочется по выше 1С предприятие 8? Тут не важен какой язык, важно то, что умеешь работать с либами нужными, но опять таки, у каждого предприятия свои либы (в основном), а значит хочешь не хочешь, а разбираться придется практически с нуля, а язык любой он тьфу, понять не сложно..

_________________
Меня нет, не будет и не было.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 20, 2009 14:31 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1255
Благодарил (а): 3 раз.
Поблагодарили: 17 раз.
Wlad писал(а):
Кстати, наблюдается интересный и подозрительный эффектв последние два-три дня, вернее - вечера. Во время отхода ко сну, на границе бодрствования и сна, стал ловить себя на мысли, что перед глазами тексты на Форте и мысленные манипуляции со стеком... так - абстрактное что-то... Это - не опасно?

Нет, это не опасно.
Wlad писал(а):
Самая главная претензия. Она ещё во время чтения Броуди СМ-Ф стала вырисовываться, а сейчас начинает оформляться чётче... Стек в Форте - довольно низкоуровневое средство в процессе конструирования программ и систем.
Но проходит "сквозняком" через все уровни представления программной системы. С одной стороны - это - "+" - один универсальный механизм. С другой... Понимаете, в других языках и сущности и ОТНОШЕНИЯ между ними (и способы описания и поддержания этого всего как на уровне исполнительной системы, так и на уровне текстового представления) стремятся сделать максимально гибкими (ну, в рамках средства реализации и парадигм) для способов выражения своих идей... Я, конечно ещё не гуру в Форте, но мне как-то пока не уютно от сознания необходимости вытаскивать "средство склейки" между сущностями с, по сути "автокодовского" уровня, на уровень прикладной задачи и её понятий... А "прятать" этот "клей" - по сути изобретать свой новый язык. И не вахт, что его сможет понять даже коллега за соседним столом. У других языков и средств реализации постулирован синтаксис и семантика. Они могут быть очень простыми или очень сложными, но понятны большинству юзающих... А в проектах на Форте мне придётся двойную-тройную работу делать НА КАЖДОЙ СТАДИИ: от проектирования и до подготовки руководств программиста...

Лично я сравниваю форт и классические ЯП вот так: классические ЯП - это мульти-комбайн, в котором только и надо кнопочки тыкать - это же очень просто, потому и популярно; в то время как форт - это простой молоток, а как известно "Удар молотком - 1 доллар, место удара молотком - 99 долларов." 8)
Wlad писал(а):
Я не фукаю и не нарываюсь на пофлудить... Гибкость Форта меня привлекает. Но что мне директору говорить, когда он попросит назвать сколько в Харькове (например) я найду фортеров, способных подхватить мой проект (да ещё и БЫСТРО "въехать" в каждый из уровней представления системы и мой собственный DSL самого верхнего уровня), если решу искать лучшей доли вне его лавки?

Создать простой и понятный скриптовый язык, сделать подробный хелп(рисунки, схемы и прочее), настроить окружение, написать инструкцию "что, где, зачем и для чего".

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 20, 2009 14:32 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
Wlad писал(а):
А, учитывая, что переменных может быть больше двух - может просто повергнуть неофита к тотальному заблуду в трёх сосенках...

ДА, надо менят мышление в сторону ухода от переменных ;)
И слова должны быть маленькими на входе чаще один параметр или два, слова с тремя нередкость но употребляются реже.

Главное вот что стек стеком, а меня все мучает вопрос как оформит математический алгоритм в виде блок-схемы на языке ФОРТ???

Wlad писал(а):
И не обязаетльно, что его сможет понять даже коллега за соседним столом

Поймет, главное ему ни надо в алгоритм вникать, а толко во входы и выходы слов :)

Wlad писал(а):
А в проектах на Форте мне придётся двойную-тройную работу делать НА КАЖДОЙ СТАДИИ: от проектирования и до подготовки руководств программиста...

Зачем? сделай так чтобы потом было легче расширять функционал

Код:
defer x

:noname bla-bla-bla ; is x

x \ это по умолчанию

: my-x bla-bla-bla ; ' my-x is x

x \  это не по умолчанию


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

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


Можно использовать локальные переменные. Но мне более привлекательной видится идея
использовать в качестве локальных переменных вершины дополнительных стеков.
Один дополнительный стек для хранения данных уже есть - это стек возвратов.
Если не хватает, можно завести еще несколько
типа: http://spf.cvs.sourceforge.net/viewvc/s ... iew=markup

Для использования инфиксной записи http://spf.cvs.sourceforge.net/viewvc/s ... iew=markup

Wlad писал(а):
А "прятать" этот "клей" - по сути изобретать свой новый язык.


Если что-то конкретное в Форте не устраивает все можно изменить.
Но это не значит что это требуется постоянно делать. Можно использовать уже готовые наработки.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 20, 2009 18:08 
[quote="Alexander"][quote="Wlad"]

Главное вот что стек стеком, а меня все мучает вопрос как оформит математический алгоритм в виде блок-схемы на языке ФОРТ???

Вы сами ответили на этот вопрос абзацем выше.

С уважением, mars


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
Главное вот что стек стеком, а меня все мучает вопрос как оформит математический алгоритм в виде блок-схемы на языке ФОРТ???
Заводили речь о ForthUML как о возможном продукте развития форта... трудоёмко и нет согласия
Ага, ещё была речь про стандартный инфикс на все случаи для форта, я и там ещё трое пытались что-то набросать (есть в конкурсе задач по преобразованию строки задача)

есть инфикс не на все случаи в СПФ

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 20, 2009 20:17 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Wlad писал(а):
Вся картина маслом портится вылитой на неё кислотой необходимости как раз правильно сманипулировать стеком для правильного расположения аргументов.

тут с опытом приходит просветление.
на самом деле нужно учиться правильно располагать параметры на стеках
а все эти OVER SWAP и прочие - по сути это MOV-ы то есть как бы присвоения.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 20, 2009 20:24 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Wlad писал(а):
(Кстати, наблюдается интересный и подозрительный эффектв последние два-три дня, вернее - вечера. Во время отхода ко сну, на границе бодрствования и сна, стал ловить себя на мысли, что перед глазами тексты на Форте и мысленные манипуляции со стеком... так - абстрактное что-то... Это - не опасно? )

это полезно!
значит ваша голова пытается ваш опыт на подсознательном уровне разобрать,
значит вам форт действительно понравился :) (ну или очень заинтересовал)

Wlad писал(а):
Стек в Форте - довольно низкоуровневое средство в процессе конструирования программ и систем.
Но проходит "сквозняком" через все уровни представления программной системы. С одной стороны - это - "+" - один универсальный механизм. С другой...

это надо прочувствовать.
на самом деле это плюс, но нужна самодисциплина :)
подавляющее большинство параметров сквозь всю программу никогда не проходит, а поглащается ближайшими соседями.
этот же факт позволяет отлавливать ошибки практически сразу - программа при несоблюдении баланса сразу же падает :)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 276
Благодарил (а): 8 раз.
Поблагодарили: 10 раз.
mOleg писал(а):
подавляющее большинство параметров сквозь всю программу никогда не проходит, а поглащается ближайшими соседями.

Нет-нет-нет. Или я неясно выразился или Вы не совсем поняли!
Я пишу не о миграции параметров по словам, представляющим понятия по разным уровням описания системы, а о не ясной, пока ещё для меня "универсальности" механизма обеспечения связи слов - о стеке.
В данный момент я вполне согласен о применимости стека для самых низких уровнях, где, в большинстве своём хватает "меслепредставления" на уровне реализации ИМЕННО АРИФМЕТИКИ над целыми, двойными целыми, индексами и проч. скалярами...
А вот на более высоком уровне, где уже удобней другое "наполнение" давать представленным операциям - опять - стек!...
Я повторяю, я сейчас не могу чётко определиться: гут или швах это для меня!
Вот Броуди это хвалит...

Думаю, мне бы ОЧЕНЬ помогло прочтение неких трудов Раскина по его программерским и проектным решениям для его CannonCat... Ноя пока такого не нашёл. Есть более поздняя книга и статьи по пользовательским интерфейсам, а мне нужно что-то аналогичное статьям Гата по системе управления для Deep Space One, что касалось Лиспа...

_________________
У России - только четыре союзника: её Армия, Флот и Авиация с Космическими Войсками.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 21, 2009 00:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6452
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Wlad писал(а):
А вот на более высоком уровне, где уже удобней другое "наполнение" давать представленным операциям - опять - стек!...
Я повторяю, я сейчас не могу чётко определиться: гут или швах это для меня!

Нельзя сказать, что Форт цепляется за стековую модель "всеми лапами". Она является следствием так называемой конкатенативной компиляции. Сравнивая выражения
Код:
a = 2
и
Код:
2 a !
, нетрудно убедиться, что в первом случае для генерации кода требуется проведение синтактического анализа, а во втором мы имеем дело с тремя абсолютно независимыми токенами, которым просто сопоставлены собственные куски кода. Осмысленное выражение существует только в голове программиста. Таким образом, за колоссальную простоту транслятора мы платим необходимостью использовать постфиксную запись на стеке и отсутствием контроля типов (а также вообще какого-либо контроля). Тут два пути - либо делать из Форта нечто привычное, сразу видя массу недостатков по сравнению с этим привычным. Либо попробовать адаптироваться к особенностям записи низкоуровневых выражений, и сделать упор на злостную эксплуатацию сильных сторон языка.
К сильным сторонам можно отнести, например, возможность создания domain-speficic расширений. В минимальном варианте это могут быть просто наборы слов, делающие текст программы в ее высокоуровневой части существенно более читаемым, чем даже ЯВУ. Достаточно заметить, что на том же Си придется писать my_function(); (т.е. со скобками и точкой с запятой) на всех уровнях абстрагирования. На Форте же можно даже стековые операции замаскировать под элементы оформления. Например,
Код:
2 -> РЕЖИМ_РАБОТЫ
выглядит скорее не как постфикс, а как дружественный пользователю язык настройки.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 21, 2009 21:44 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4956
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 56 раз.
Wlad писал(а):
mOleg писал(а):подавляющее большинство параметров сквозь всю программу никогда не проходит, а поглащается ближайшими соседями.
Нет-нет-нет. Или я неясно выразился или Вы не совсем поняли!
Я пишу не о миграции параметров по словам, представляющим понятия по разным уровням описания системы, а о не ясной, пока ещё для меня "универсальности" механизма обеспечения связи слов - о стеке.

я понял правильно и вы выразились понятно. Ответ вы не поняли :)
давайте вспомним Русский язык, а Форт очень походит на живой язык!
Возьмем к примеру предложение: "Вытащи из пакета хлеб и положи в хлебницу"

в предложении явно пристутсвует промежуточная переменная, "помнящая" предмет, то есть "хлеб"
( в Форте это же предложение выглядело бы так: пакет хлеб @ хлебница ! -- вот эта переменная есть вершина стека данных )

то есть мы имеем некую смысловую переменную, которая помнит последний предмет, над которым производится операция.
Эта самая переменная может приводить к курьезам, когда из предложения явно не следует, о ком речь:
На хлебе нож, возьми и положи его на место.
вот это и есть самая большая проблемя форта :) косноязычие :)
из предложения никак не понятно, что же нужно на место положить?: нож или хлеб?
в Форте то же самое происходит при перенасыщении определения словами OVER SWAP и подобными им.
поэтому следует правильно располагать элементы на стеке и слова в определении, то есть таким образом, чтобы всегда было ясно с кем работают.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс фев 22, 2009 20:45 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 276
Благодарил (а): 8 раз.
Поблагодарили: 10 раз.
Дедушка Вирт (которого я безгранично чту и уважаю и которому, кстати, 15 февраля исполнилось 75), писал, что язык ни в коей мере не должен опираться и всячески скрывать природу подлежащего исполнительного механизма...
Запись а = 2 механизм скрывает, 2 а ! - нет. (И "пакет хлеб искать DUP? IF @ хлебница ! THEN" - тоже.)
А в Форте это "протягивается" по всем уровням.
Пример с хлебом и ножом - как раз подходит, на самом деле, под мой вопрос про IF... Действительно, явно не понятно, после чего что проверяем...

Я - вЪ глубокихЪ размышленияхЪ...

ЗЫ ДОБАВКА:
...И - кстати... В связи с моим опытом ООП и по некоторому обмыслию, я бы переписал так:
"хлеб пакет искать DUP? IF @ хлебница ! THEN"
Но мне здесь не понятно: если "пакет" - некая контейнерная структура (объект, условно говоря), какой механизм вызова "метода" "искать"... Словари? Но тогда из - уймища нужна...
А - наследование/расширение?
Не хочется мне из ООП-парадигменных языков и привычек уходить... Я и на Си могу в ООП писать, но поддержка там этого стиля и парадигмы требует кучу структур, макросов и функций... Что же тогда про Форт говорить?
Или я не прав?...

_________________
У России - только четыре союзника: её Армия, Флот и Авиация с Космическими Войсками.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс фев 22, 2009 21:14 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6452
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
Wlad писал(а):
Дедушка Вирт (которого я безгранично чту и уважаю и которому, кстати, 15 февраля исполнилось 75), писал, что язык ни в коей мере не должен опираться и всячески скрывать природу подлежащего исполнительного механизма...

Он это не мог написать отвлеченным, висящим в воздухе афоризмом. Такие высказывания обязательно имеют окружение, комментарии и рассмотрение вариантов "а что, если?". Вот хорошо, а если язык все-таки не скрыл природу, тогда что? Некое нарушение эстетики, или существенные ограничения в функциональности всех программ? Ведь на каждый вариант последует свой метод борьбы с негативными последствиями.
Wlad писал(а):
А в Форте это "протягивается" по всем уровням.

Потому что на всех уровнях оказывается возможным обойтись таким форматом, только и всего. Это не значит, что где-то расставлены барьеры.
Wlad писал(а):
Пример с хлебом и ножом - как раз подходит, на самом деле, под мой вопрос про IF... Действительно, явно не понятно, после чего что проверяем...

Так ведь расставить все по местам в полной власти программиста. Слова, кладующие флаг условия, вполне можно выделять синтаксисом. Например, знаком вопроса. Еще достаточно "говорящие" слова = < >. 2 2 = IF THEN


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

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 276
Благодарил (а): 8 раз.
Поблагодарили: 10 раз.
Хищник писал(а):
Он это не мог написать отвлеченным, висящим в воздухе афоризмом. Такие высказывания обязательно имеют окружение, комментарии и рассмотрение вариантов "а что, если?". Вот хорошо, а если язык все-таки не скрыл природу, тогда что? Некое нарушение эстетики, или существенные ограничения в функциональности всех программ? Ведь на каждый вариант последует свой метод борьбы с негативными последствиями..


Это высказывание взято отсюда:
Цитата:
(Niklaus Wirth «From Modula to Oberon» Institute for Computer Systems, ETH, Zurich, Technical Pa-per. © 1990, N.Wirth. Перевод: Никлаус Вирт «От Модулы к Оберону» © 1998. ИнфоАрт)

«...язык должен определяться в терминах математических, абстрактных концепций без ссылки на какой бы то ни было вычислительный механизм (выделение мое - Wlad). И только, если язык удовлетворяет этому критерию, он может считаться высокоуровневым. Решительно никакая синтаксическая глазурь не в силах заставить обойтись язык без этого атрибута.

Описание языка должно быть строгим и лаконичным. Этого можно достичь лишь путем аккуратного выбора соответствующих абстракций и подходящей структуры, которая позволяет их комбинировать. Руководство по языку должно быть весьма коротким и избегать пояснения частных случаев, проистекающих из общих правил. Мощь формализма не должна измеряться длиной описания. Более того, чересчур пространное описание - это характерный симптом двояких толкований. В этом плане целью должна быть не сложность, а простота.

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

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

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

Компилятор Оберона был реализован для процессоров семейства NS32000 и был встроен в операционную среду Оберон. Этот компилятор требует 50 Кбайт памяти, состоит из 6 модулей, общим размером около 4000 строк исходного текста и сам себя компилирует примерно за 15 секунд на рабочей станции с 25 МГц процессором типа NS32532.»



Хищник писал(а):
Потому что на всех уровнях оказывается возможным обойтись таким форматом, только и всего. Это не значит, что где-то расставлены барьеры.

Пока, что я полагаюсь только на авторитет опыта присутствующих здесь фортеров вообще и Ваш лично в частности...
Но нужно многое не только обмозговать на "автомате", но и дойти до глубинной сучности принятых тех или иных решений.
С одной стороны, я знаю, что Мур - сторонник минимализма через Форт-стековые подходы, с другой, в предисловии одной из книг по Форту сказано, что-де было написана на Форте (и - только???) система управления аэропортом в Эр-Рияде(?). Последний аргумент для меня весомей - просто из-за специфики моих (сделанных мной или где я принимал участие) проектов. Я просто представляю что это за работа по сложности и объёму и пока не сложу в голове, то что знаю о Форте на текущий момент с уровнем таких задач...

_________________
У России - только четыре союзника: её Армия, Флот и Авиация с Космическими Войсками.


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

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


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

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


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

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