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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Интерпретация бинарных файлов
СообщениеДобавлено: Ср ноя 04, 2009 11:50 
Здравствуйте.
Я недавно начал изучать программирование. Форт считаю самым понятным языком для изучения. А трудности вызывает все то, что связано с работой операционных систем. Если рассматривать Форт как самодостаточную систему, значит Форт-система может быть основой кроссплатформенности. Например, иногда бывает необходимо запустить в одной ОС небольшую программу, скомпилированную в другой ОС. Если такая программа использует несколько функций из системных библиотек, то устанавливать для ее запуска утилиты типа Wine не рационально. Шитый код Форта позволяет исключить переход по адресу необходимой функции, который предоставляет ОС, а выполнить все участки кода последовательно. Другими словами, последовательно включить в Форт-систему только необходимые процедуры и функции.
Если такой подход не выполним, то не могли бы Вы разъяснить тот барьер, который не возможно обойти.


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

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Кстати, вот только что случайно наткнулся на довольно интересную статью про двоичную трансляцию. Статья описывает историю, проблемы и трудности двоичной трансляции.
Думаю вот эта цитата:
Цитата:
Разработка системы двоичной трансляции эквивалентна созданию современной ОС и оптимизирующего компилятора вместе взятых, поэтому и неудивительно, что за столько лет было создано считаное число систем двоичной трансляции.

в достаточной степени описывает "барьер".

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Интерпретация бинарных файлов
СообщениеДобавлено: Ср ноя 04, 2009 15:24 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
idem писал(а):
Здравствуйте.
Я недавно начал изучать программирование. Форт считаю самым понятным языком для изучения. А трудности вызывает все то, что связано с работой операционных систем. Если рассматривать Форт как самодостаточную систему, значит Форт-система может быть основой кроссплатформенности. Например, иногда бывает необходимо запустить в одной ОС небольшую программу, скомпилированную в другой ОС. Если такая программа использует несколько функций из системных библиотек, то устанавливать для ее запуска утилиты типа Wine не рационально. Шитый код Форта позволяет исключить переход по адресу необходимой функции, который предоставляет ОС, а выполнить все участки кода последовательно. Другими словами, последовательно включить в Форт-систему только необходимые процедуры и функции.
Если такой подход не выполним, то не могли бы Вы разъяснить тот барьер, который не возможно обойти.


Как вариант есть форты написанные на С++ и , соответственно, компилируемые под л. ОС, под кот. есть С++ - ими можно интрепретировать и компилировать реальный исходник форта


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

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

Дело в том, что язык как средство выражения идей, и сами идеи - то есть порядок вызова разных кусков кода - это существенно разные вещи. Форт как язык не дает ничего нового в плане доступа к оборудованию, он должен на тех же основаниях, что и любой другой язык, обращаться к системным функциям. Так что при переходе между ОС необходимо будет писать специальные прослойки (abstraction layers), чтобы, например, слово OpenFile брало из каждой ОС именно тут функцию, которая специфична именно для нее. Но при этом да, можно переносить шитый код между разными ОС, если для каждой требуемый ОС написан интерпретатор такой разновидности шитого кода.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
:D (шутка) лучше всего ось-интерпретатор, которая понимает просто язык, а не какие-то вызовы


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

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

Ага, а понимать она все это будет святым духом :dmad; Сколько уже говорено - выбор языка не освобождает от необходимости разбираться, понимать и описывать алгоритмы. А иначе Форт из языка превратится в секту.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
вопрос писал(а):
(шутка) лучше всего ось-интерпретатор, которая понимает просто язык, а не какие-то вызовы

Ага, а понимать она все это будет святым духом :dmad; Сколько уже говорено - выбор языка не освобождает от необходимости разбираться, понимать и описывать алгоритмы. А иначе Форт из языка превратится в секту.

Ну шутка же.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 04, 2009 18:38 
Хищник писал(а):
Форт как язык не дает ничего нового в плане доступа к оборудованию, он должен на тех же основаниях, что и любой другой язык, обращаться к системным функциям. Так что при переходе между ОС необходимо будет писать специальные прослойки (abstraction layers), чтобы, например, слово OpenFile брало из каждой ОС именно тут функцию, которая специфична именно для нее.

Из того, что я читал, в основе существующих кроссплатформенных библиотек лежит оператор выбора CASE, когда выбираются функции в зависимости от ОС. Но я хотел бы рассмотреть возможности именно низкоуровневой интерпретации. Например, утверждается, что библиотека SDL использует участки кода, одинаково работающие в Windows и Linux(хотя, это не самый низкий уровень).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 05, 2009 09:41 
На уровне процессора грань между алгоритмом и языком стирается. Машинный язык – это последовательность нулей и единиц, т.е. алгоритм. Если последовательность команд под управлением одной ОС точно повторить под управлением другой ОС, то результат (теоретически) должен быть одинаковый. Получить последовательность команд возможно путем дизассемблирования программы. Форт-система необходима в целевой ОС для предварительных условий: создать процесс и оконную среду, выделить память и взаимодействовать с файловой системой. Достаточно ли интерактивного расширения Форт-системы для компенсации несовершенства дизассемблеров и недокументированных возможностей ОС – вот главный вопрос.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 05, 2009 16:26 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
idem писал(а):
Если последовательность команд под управлением одной ОС точно повторить под управлением другой ОС, то результат (теоретически) должен быть одинаковый.

Это как раз в общем случае неверно из-за по разному организованных структур данных в разных ОС.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 05, 2009 19:38 
Да, я уж слишком упростил. Если правильно понимаю, современные ОС не предоставляют непосредственного доступа программы к «железу». Значит преобразования данных не избежать. Но стек, как мне кажется, и позволяет, с одной стороны, сохранить структуру данных переносимой программы, а с другой, ограничить влияние целевой системы.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
idem писал(а):
Да, я уж слишком упростил. Если правильно понимаю, современные ОС не предоставляют непосредственного доступа программы к «железу». Значит преобразования данных не избежать. Но стек, как мне кажется, и позволяет, с одной стороны, сохранить структуру данных переносимой программы, а с другой, ограничить влияние целевой системы.
Лучше сказать, какую конкретную задачу предполагается решать и к чему предоставлять доступ


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 06, 2009 09:07 
вопрос писал(а):
idem писал(а):
Да, я уж слишком упростил. Если правильно понимаю, современные ОС не предоставляют непосредственного доступа программы к «железу». Значит преобразования данных не избежать. Но стек, как мне кажется, и позволяет, с одной стороны, сохранить структуру данных переносимой программы, а с другой, ограничить влияние целевой системы.
Лучше сказать, какую конкретную задачу предполагается решать и к чему предоставлять доступ

Будет инстрÿмент и применение найдется. А если серьезно, задался вопросом, который в книжках не найти.


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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
А если серьезно, задался вопросом, который в книжках не найти.
а имеенно?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт ноя 06, 2009 11:38 
Интерпретация бинарных файлов. Форт - самый реальный инструмент для этого, если такое вообще возможно.


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

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


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

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


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

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