реклама на сайте
подробности

 
 
16 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> А вот бы на FORTH написать..., ;-)
ukpyr
сообщение May 5 2009, 11:38
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



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

пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ.
плюс очень простая организация многозадачности путем перезагрузки указателя стека.
хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131 sad.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 5 2009, 12:00
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 5 2009, 15:38) *
пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ.
плюс очень простая организация многозадачности путем перезагрузки указателя стека.
хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131 sad.gif


И в этом напралении есть подвижкиsmile.gif

http://electronix.ru/forum/index.php?showt...st&p=505624
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 5 2009, 14:35
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 6 2009, 03:15
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 5 2009, 17:35) *
в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086.


? Может, лучше использовать готовые отработанные решения?
Коих предостаточное множество на любой вкус.smile.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 7 2009, 03:37
Сообщение #20


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Kopa @ May 6 2009, 06:15) *
? Может, лучше использовать готовые отработанные решения?
Коих предостаточное множество на любой вкус.smile.gif


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

http://fforum.winglion.ru/viewtopic.php?t=...sc&start=15
http://fforum.winglion.ru/viewtopic.php?t=9
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 7 2009, 08:03
Сообщение #21


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 7 2009, 10:29
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(IgorKossak @ May 7 2009, 11:03) *
Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa.


Мне тоже было жаль, но если будет интерес к данной IDE и Форт тематике, то можно
продолжить развитие данного проекта для расширения функциональности и включении
других контроллеров ( ARM, MSP430, PIC, AVR32 и др. ) smile.gif

P.S. При заинтересованности в применении и развитии Форт направления может
быть создан отдельный подфорум. ( возможно через голосование )
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 7 2009, 10:54
Сообщение #23


Беспросветный оптимист
******

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



Цитата(Kopa @ May 7 2009, 14:29) *
P.S. При заинтересованности в применении и развитии Форт направления может
быть создан отдельный подфорум. ( возможно через голосование )

Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта?
Типа рекламного слогана.
Например:
Фортран - быстрая математика
Паскаль - надёжность
Си - гибкость и вседозволенность
Форт - ?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 7 2009, 11:46
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 7 2009, 13:54) *
Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта?
Типа рекламного слогана.
Например:
Фортран - быстрая математика
Паскаль - надёжность
Си - гибкость и вседозволенность
Форт - ?


Ну и шуточки у Васsmile.gif

Например:

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

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

Сообщение отредактировал Kopa - May 7 2009, 11:48
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 7 2009, 12:15
Сообщение #25


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(Kopa @ May 7 2009, 14:46) *
Ну и шуточки у Васsmile.gif

Например:

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

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

Хорошее сравнение.
Когда авторитетная комиссия в Пентагоне пристально изучала сравнительные характеристики АК-47 и М16, эксперты зашли в тупик. По всем объективным показателям М16 - лучше. А в бою сами американские солдаты отдавали предпочтение АК47.
Вывод комиссии: "М16 намного лучше поражает цели. АК47 поражает ВСЕ.
Вот так и ФОРТ
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 7 2009, 12:27
Сообщение #26


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



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

Сообщение отредактировал ukpyr - May 7 2009, 12:30
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 7 2009, 14:22
Сообщение #27


pontificator
******

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



Цитата(MrYuran @ May 7 2009, 20:24) *
Паскаль - надёжность
Си - гибкость и вседозволенность

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

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

Вседозволенность у него выше, чем в С, потому что Форт-система в принципе обозрима и модифицируема. Программист может знать ее полностью, поскольку она компактна, а потому он может перекраивать ее под задачу по своему усмотрению. У С-шного программиста этой свободы нет, границы заданы тем, что умеет конкретный компилятор.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 8 2009, 04:35
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 7 2009, 15:27) *
а как организуется стек данных любого типа ? может вместе с данными в стек помещать сигнатуру типа ?
в принципе это все можно организовать на чистом С через структуры и динамическое выделение/освобождение памяти.
так можно решить проблему кроссплатформенности.


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

На чистом С реализовано n-oе число Форт систем ( gforth, ficl, pfe, kforth и др. )
Один из недостатков этих систем не всегда удовлетворительная производительность
выполняемого кода. ( Например: в силу того, что оптимизатор Си компилятора не может
адекватно воспринять изменённую внутреннюю семантику кода )

P.S. Введение типов в Форт существуют ( например Strong Forth, в PostScripte стеки типизированы,
), но не приживаетсяsmile.gif.
Форт ещё можно характеризовать, как гиперрасширяемый язык.
А вседозволенность, граничит с анархией приведшая к большому количеству несовместимых Форт систем
( хотя узнаваемый базис Форта остаётся )
Также Форт можно отнести к общей группе цепочечных языков. 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 раз компактнее, чем скомпилированная С программа,


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

Использование СЛОВА, как основного элемента программирования наиболее адекватно одному
из основных принципов экстремального программирования - оперировать, как можно меньшими порциями
информации и иметь возможность немедленно ( интерактивно и локально ) проверить работоспособность кода.smile.gif

Сообщение отредактировал Kopa - May 8 2009, 04:42
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 8 2009, 04:56
Сообщение #29


Беспросветный оптимист
******

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



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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 8 2009, 05:38
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 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Кб может не хватитьsmile.gif
Код
Первый закон пользовательского интерфейса Раскина:
"Компьютер не должен своим действием наносить ущерб работе Человека
и не должен своим бездействием способствовать ущербности работы Человека".


Сообщение отредактировал Kopa - May 8 2009, 05:54
Go to the top of the page
 
+Quote Post

16 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 02:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016