Перейти к содержанию
    

А вот бы на FORTH написать...

Во всяком случае, там плавающей запятой нет. Но логика - великолепная. Для объектно- ориентированного программирования почти идеально.
а кто мешает добавить плавающую точку ? сделали же ASCII строки ?

 

пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ.

плюс очень простая организация многозадачности путем перезагрузки указателя стека.

хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131 :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ.

плюс очень простая организация многозадачности путем перезагрузки указателя стека.

хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131 :(

 

И в этом напралении есть подвижки:)

 

http://electronix.ru/forum/index.php?showt...st&p=505624

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086.

 

? Может, лучше использовать готовые отработанные решения?

Коих предостаточное множество на любой вкус.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

? Может, лучше использовать готовые отработанные решения?

Коих предостаточное множество на любой вкус.:)

 

Некоторый обзор ссылок на существующие решения для МК можно посмотреть здесь:

 

http://fforum.winglion.ru/viewtopic.php?t=...sc&start=15

http://fforum.winglion.ru/viewtopic.php?t=9

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa.

 

Мне тоже было жаль, но если будет интерес к данной IDE и Форт тематике, то можно

продолжить развитие данного проекта для расширения функциональности и включении

других контроллеров ( ARM, MSP430, PIC, AVR32 и др. ) :)

 

P.S. При заинтересованности в применении и развитии Форт направления может

быть создан отдельный подфорум. ( возможно через голосование )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

P.S. При заинтересованности в применении и развитии Форт направления может

быть создан отдельный подфорум. ( возможно через голосование )

Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта?

Типа рекламного слогана.

Например:

Фортран - быстрая математика

Паскаль - надёжность

Си - гибкость и вседозволенность

Форт - ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта?

Типа рекламного слогана.

Например:

Фортран - быстрая математика

Паскаль - надёжность

Си - гибкость и вседозволенность

Форт - ?

 

Ну и шуточки у Вас:)

 

Например:

 

Форт - "Калашников" среди языков.

 

P.S. Стек - это его магазин патронов.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и шуточки у Вас:)

 

Например:

 

Форт - "Калашников" среди языков.

 

P.S. Стек - это его магазин патронов.

Хорошее сравнение.

Когда авторитетная комиссия в Пентагоне пристально изучала сравнительные характеристики АК-47 и М16, эксперты зашли в тупик. По всем объективным показателям М16 - лучше. А в бою сами американские солдаты отдавали предпочтение АК47.

Вывод комиссии: "М16 намного лучше поражает цели. АК47 поражает ВСЕ.

Вот так и ФОРТ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а как организуется стек данных любого типа ? может вместе с данными в стек помещать сигнатуру типа ?

в принципе это все можно организовать на чистом С через структуры и динамическое выделение/освобождение памяти.

так можно решить проблему кроссплатформенности.

Изменено пользователем ukpyr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Паскаль - надёжность

Си - гибкость и вседозволенность

Форт - компактность и вседозволенность.

 

Форт компактен в нескольких смыслах. Во-первых, скомпилированный байт-код типично в 3-10 раз компактнее, чем скомпилированная С программа, за счет того, что в коде почти отсутствуют адреса (команды стековой машины 0-адресные), а также за счет великолепной факторизации кода, сопровождающейся нулевыми издержками при передаче параметров в функции и из них. Во-вторых, исходник Форта раза в 2-3 компактнее исходника на любом другом языке за счет отсутствия любых синтаксических "рюшечек" (скобок, двоеточий и т.п.), а также за счет возможности использования любых символов для определения слова (например, в Форте команда "переслать вершину стека данных в стек возвратов" пишется двумя символами >R ). Исходники Форта лаконичны, в этом их достоинство и недостаток одновременно.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а как организуется стек данных любого типа ? может вместе с данными в стек помещать сигнатуру типа ?

в принципе это все можно организовать на чистом С через структуры и динамическое выделение/освобождение памяти.

так можно решить проблему кроссплатформенности.

 

В Форте классические стеки данных ( отличный от используемого в программируемых калькуляторах )

первым вошел последним вышел.

 

На чистом С реализовано n-oе число Форт систем ( gforth, ficl, pfe, kforth и др. )

Один из недостатков этих систем не всегда удовлетворительная производительность

выполняемого кода. ( Например: в силу того, что оптимизатор Си компилятора не может

адекватно воспринять изменённую внутреннюю семантику кода )

 

P.S. Введение типов в Форт существуют ( например Strong Forth, в PostScripte стеки типизированы,

), но не приживается:).

Форт ещё можно характеризовать, как гиперрасширяемый язык.

А вседозволенность, граничит с анархией приведшая к большому количеству несовместимых Форт систем

( хотя узнаваемый базис Форта остаётся )

Также Форт можно отнести к общей группе цепочечных языков. http://concatenative.org

 

Статья в википедии http://ru.wikipedia.org/wiki/Конкатенативный язык программирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования

 

Cкомпилированный байт-код типично в 3-10 раз компактнее, чем скомпилированная С программа,

 

Ремарка: Часто современные Форт системы транслируют код в нативные команды целевого железа!

 

Использование СЛОВА, как основного элемента программирования наиболее адекватно одному

из основных принципов экстремального программирования - оперировать, как можно меньшими порциями

информации и иметь возможность немедленно ( интерактивно и локально ) проверить работоспособность кода.:)

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прям заинтриговали...

Сразу вспомнился монитор ZX Spectrum, где в 8кБ было уложено всё что только можно - от плавающей арифметики до рисования фигур на экране

Там тоже всё через стек взаимодействовало

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прям заинтриговали...

Сразу вспомнился монитор ZX Spectrum, где в 8кБ было уложено всё что только можно - от плавающей арифметики до рисования фигур на экране

Там тоже всё через стек взаимодействовало

 

Цитата из статьи "Бородатый мальчик и его самолетики" про Джефа Раскина

http://www.itc.ua/node/20219

 

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

Речь идет о выпускавшейся Canon машине Cat. Всего за шесть месяцев жизни на рынке Canon Cat было произведено 
и продано более двадцати тысяч этих машин. По выбранной элементной базе и основным конструктивным решениями они были похожи на Macintosh 
-- тот же процессор Motorola 68000, тот же "интегрированный" монитор. Но на этом сходство, пожалуй, и заканчивается. 
Макроархитектурно Canon Cat во многом похож на Lisp-машины -- это тоже "машина одного языка", 
правда, в ней используется близкий к функциональным языкам программирования,
но крайне простой в реализации виртуальной машины "стековый" язык Forth. 

Именно компактный Forth позволил "утрамбовать" в 256 KB ПЗУ Cat весьма любопытный интегрированный комплект программ, 
поддерживающий обработку текстов, проверку правописания (со словарем из 90 тыс. слов), вычисления в режиме калькулятора, 
решение ряда коммуникационных задач, и, наконец, -- программирование на Forth и языке ассемблера M68000.
...

 

P.S. А сейчас при использовании контроллеров и 512Кб может не хватить:)

Первый закон пользовательского интерфейса Раскина: 
"Компьютер не должен своим действием наносить ущерб работе Человека 
и не должен своим бездействием способствовать ущербности работы Человека".

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...