|
|
  |
А вот бы на FORTH написать..., ;-) |
|
|
|
May 5 2009, 11:38
|
Профессионал
    
Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347

|
Цитата Во всяком случае, там плавающей запятой нет. Но логика - великолепная. Для объектно- ориентированного программирования почти идеально. а кто мешает добавить плавающую точку ? сделали же ASCII строки ? пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ. плюс очень простая организация многозадачности путем перезагрузки указателя стека. хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131
|
|
|
|
|
May 6 2009, 03:15
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(ukpyr @ May 5 2009, 17:35)  в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086. ? Может, лучше использовать готовые отработанные решения? Коих предостаточное множество на любой вкус.
|
|
|
|
|
May 7 2009, 10:29
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(IgorKossak @ May 7 2009, 11:03)  Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa. Мне тоже было жаль, но если будет интерес к данной IDE и Форт тематике, то можно продолжить развитие данного проекта для расширения функциональности и включении других контроллеров ( ARM, MSP430, PIC, AVR32 и др. )  P.S. При заинтересованности в применении и развитии Форт направления может быть создан отдельный подфорум. ( возможно через голосование )
|
|
|
|
|
May 7 2009, 10:54
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Kopa @ May 7 2009, 14:29)  P.S. При заинтересованности в применении и развитии Форт направления может быть создан отдельный подфорум. ( возможно через голосование ) Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта? Типа рекламного слогана. Например: Фортран - быстрая математика Паскаль - надёжность Си - гибкость и вседозволенность Форт - ?
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 7 2009, 11:46
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(MrYuran @ May 7 2009, 13:54)  Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта? Типа рекламного слогана. Например: Фортран - быстрая математика Паскаль - надёжность Си - гибкость и вседозволенность Форт - ? Ну и шуточки у Вас  Например: Форт - "Калашников" среди языков. P.S. Стек - это его магазин патронов.
Сообщение отредактировал Kopa - May 7 2009, 11:48
|
|
|
|
|
May 7 2009, 12:15
|
Гуру
     
Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802

|
Цитата(Kopa @ May 7 2009, 14:46)  Ну и шуточки у Вас  Например: Форт - "Калашников" среди языков. P.S. Стек - это его магазин патронов. Хорошее сравнение. Когда авторитетная комиссия в Пентагоне пристально изучала сравнительные характеристики АК-47 и М16, эксперты зашли в тупик. По всем объективным показателям М16 - лучше. А в бою сами американские солдаты отдавали предпочтение АК47. Вывод комиссии: "М16 намного лучше поражает цели. АК47 поражает ВСЕ. Вот так и ФОРТ
|
|
|
|
|
May 7 2009, 14:22
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(MrYuran @ May 7 2009, 20:24)  Паскаль - надёжность Си - гибкость и вседозволенность Форт - компактность и вседозволенность. Форт компактен в нескольких смыслах. Во-первых, скомпилированный байт-код типично в 3-10 раз компактнее, чем скомпилированная С программа, за счет того, что в коде почти отсутствуют адреса (команды стековой машины 0-адресные), а также за счет великолепной факторизации кода, сопровождающейся нулевыми издержками при передаче параметров в функции и из них. Во-вторых, исходник Форта раза в 2-3 компактнее исходника на любом другом языке за счет отсутствия любых синтаксических "рюшечек" (скобок, двоеточий и т.п.), а также за счет возможности использования любых символов для определения слова (например, в Форте команда "переслать вершину стека данных в стек возвратов" пишется двумя символами >R ). Исходники Форта лаконичны, в этом их достоинство и недостаток одновременно. Вседозволенность у него выше, чем в С, потому что Форт-система в принципе обозрима и модифицируема. Программист может знать ее полностью, поскольку она компактна, а потому он может перекраивать ее под задачу по своему усмотрению. У С-шного программиста этой свободы нет, границы заданы тем, что умеет конкретный компилятор.
|
|
|
|
|
May 8 2009, 04:35
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(ukpyr @ May 7 2009, 15:27)  а как организуется стек данных любого типа ? может вместе с данными в стек помещать сигнатуру типа ? в принципе это все можно организовать на чистом С через структуры и динамическое выделение/освобождение памяти. так можно решить проблему кроссплатформенности. В Форте классические стеки данных ( отличный от используемого в программируемых калькуляторах ) первым вошел последним вышел. На чистом С реализовано 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/Конкат...рограммированияЦитата(=AK= @ May 7 2009, 17:22)  Cкомпилированный байт-код типично в 3-10 раз компактнее, чем скомпилированная С программа, Ремарка: Часто современные Форт системы транслируют код в нативные команды целевого железа! Использование СЛОВА, как основного элемента программирования наиболее адекватно одному из основных принципов экстремального программирования - оперировать, как можно меньшими порциями информации и иметь возможность немедленно ( интерактивно и локально ) проверить работоспособность кода.
Сообщение отредактировал Kopa - May 8 2009, 04:42
|
|
|
|
|
May 8 2009, 05:38
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(MrYuran @ May 8 2009, 07:56)  Прям заинтриговали... Сразу вспомнился монитор 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 - May 8 2009, 05:54
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|