Лента тем форума «Forth» и его подфорумов

Страницы:123

OSland

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

ugoday

Новичок
Мне нужно написать клиент для браузерной MMORPG, бо игрушка интересная, а вэб-интерфейс жутко неудобен. Хочется объеденить приятное с полезным - изучить forth. Однако перед новичком встаёт труднопреодолимое препятствие: количество фортов примерно соответствует количеству фортистов (форторей/ фортовцев). И чем один форт отличается от другого (и соответсвенно какой из них выбрать) совершенно не очевидно. Сижу перед монитором как буриданов осёл. :(
В общем посоветуйте форт такой, чтобы он:
а) работал под линукс;
б) мог линковаться с внешними C библиотеками. Писать свой велосипед для реализации функционала libcurl или pcre мне не хочется;
в) желательно не требовал танцев с бубнами при установке (аля sp-forth).
 

Knightmare

Новичок
Программирую для камня ATMega128 на C++. Естественно, через какое-то время встал вопрос об эффективном расходе ресурсов. На камне 128K памяти для программ, 4K RAM и 4K - EEPROM.
В погоне за эффективностью наткулся на Forth. О чудо ! такой маленький и такой эффективный. В общем, мне он понравился и я загорелся реализовать Forth на этот камень и прямо в этот камень затолкать компилятор ! НО, есть следующие проблемы: гарвардовская архитектура, (т.е. данные и код - раздельно) и память для программ ограничена на количестов перезаписей - всего 1000 раз и к тому же писать можно только страницами (256 байт). Естественно, встает вопрос - как реализовывать компилирующие слова и ассемблер (в Forthе я новичок) и вообще, возможно ли такое сделать для этого камня ?
 

Barmaglot

Новичок
Я вот тут писать ФОРТ собрался под x86 BSD и вот хочу спросить. Решил что лучше будет сделать в таком шитом коде: поскольку под 32 бит архитектуру и слова выравнивать на границу 4 байта надобно, то можно использовать младшие два бита адреса под свои нужды, конкретно можно младший битиспользовать как определение типа слова(машинное или в шитом коде), посему интепретатор шитого кода будет проще и шустрее. Или может лучше по-другому сделать как-то?
 

Balancer

Администратор
Выше сабж. Пока только на уровне тестов, сохранение в ELF ещё не работает.
К сожалению, редактирование на ForthWiki - HomePage не пашет, не позволяет войти в систему (зачем было такую кривую Wiki ставить при наличии той же MediaWiki??)
Так что пока тут.
Компиляция проблем не вызвала - качаем на Windows, делаем целевую компиляцию батником, получаем img.s
Его под Linux и там делаем make.
Тесты по скорости на пресловутом 42-м числе Фибоначи :)
gcc 3.3.5, компиляция с -O3:
# time ./a.out
433494437
real 0m10.745s
user 0m10.569s
sys 0m0.009s
code, type 'text'

SPF:
# time ./spf fib.f
real 0m7.923s
user 0m7.414s
sys 0m0.009s
code, type 'text'

При чём во время работы SPF включена ещё и компиляция программы, т.к. сохранения её в ELF пока нет :)
Исходники:
: FIB ( N1 - N2 )
    DUP 2 < IF
        DROP 1 EXIT
    THEN
    1- DUP RECURSE
    SWAP 1- RECURSE
    +
;
42 FIB . BYE
code, type 'forth'

и
#include <stdio.h>
int fib(int n)
{
    return n<2 ? 1 : fib(n-1)+fib(n-2);
}
int main(void)
{
    int f42=fib(42);
    printf("%d",f42);
    return 0;
}
code, type 'cpp'
 

gloomm

Новичок
день добрый
извиняюсь за беспокойство и возможно глупый вопрос
собствено меня интересует каким образом можно обратится из форотвской прогамы и получить соответствено обратно данные от DDE сервера.
как это реализовать? через WINAPI?
если не затруднит вас ответ с примером и пояснением буду очень рад
заранее спасибо.
PS я не виликий програмист но быстро учусь :) когда желание есть
 

x000

Начинающий
Всем привет! Наконец-то появилась возможность плотно занятся Фортом. Сам по себе Форт как таковой вполне понятен (после ДССП ::))), а вот некоторые элементарные вещи непонятно как делать. Из книг у меня - Баранов, прочитал практически полностью, теоретически как обращаться к внешней памяти вроде бы ясно - через стандартную переменную BUFFER и т. д. , но на spForth это реализовано как-то по другому (или нет ?), по крайней мере с Барановым не совпадает, хотя в стандарте 94 года всё это вроде бы есть. Тексты программ увеличиваются с каждым днём, что радует, а вот как их сохранять и загружать - непонятно. Приходится переколачивать каждую программу заново.
Подскажите пожалуйста, как это делается, или как это реализовать самому.
З.Ы. Ещё вот маленький вопросец: почему на стек spForth 4 я не могу положить четырехбайтное значение, хотя он 32-разрадный?
 

SAA-977

Начинающий
В смысле, чтобы не выводилось консольное окно Форта, а сразу окно приложения (GUI). :o
Где об этом можно почитать?
 

FORTH_beginner

Новичок
Приветствую всех!
Подскажите плз. где можно купить эти книги ?
 Л.Броуди. Начальный курс программирования на языке ФОРТ.
   "Финансы и статистика", М, 1990.
С.Н.Баранов, Н.Р.Ноздрунов. Язык Форт и его реализация.
   "Машиностроение", Л, 1988.
Семенов Ю.А.
Программирование на языке Форт
Я пытался сам искать, но видно эти книги очень древнии и их похоже сейчас не выпускают
Хотелось бы иметь их у себя. Online книги конечно же есть, но ими очень неудобно пользоваться.
To Balancer,
А как Вы начинали изучать Forth , с чего начать лучше?
Я что-то после VB и Perl никак не могу с ориентироваться. Хочется сразу и много.
Вообще то мое основное направление это - Web программы, CGI, ну и вообще разные утилиты упрощающие работу вебмастера, такие , как автосубмит , базы данных, построение сайтов по шаблону и т.п.
На VB получаются очень громоздкие программы, что затрудняет давать их друзьям.
На Perl получаются медленные и ресурсоемкие программы, что делает невозможным их активное использование для веб-сайта . Насчет веб-сайта - это конечно отдельный разговор, но ОЧЕНЬ хотелось бы попробовать сделать програмку на forth для траффикообмена типа как CJ, UCJ или RB4 (обычно использующихся на adult вебсайтах для траффикообмена)
С и С++ - здесь я ничего не понимаю
 

FORTH_beginner

Новичок
Добрый день всем!
Случайно проходил мимо и увидел тут специалистов по Forth.
Пользуюсь случаем, чтобы задать пару-тройку вопросов по forth.
Я недавно (2 дня назад) познакомился с языком FORTH и он мне сразу понравился.
Вот моя проблема:
Мне нужно програмным путем прочитать, что написано в адресной строке IE.
В WINDOWS API есть такая фунцкия :
Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Если аргумент Msg установить WM_GETTEXT (= 13), то эта функия вернет длину строки текста содержащегося в окне hwnd, а
lParam заполнит самим текстом
На VisualBasic это реализуется очень просто,
А как это реализовать на Foth?
Если можно, дайте пожалуйста конретный пример
Большое спасибо
 
Страницы:123

Поиск
Настройки
Персональное
Новости сайта
Популярные темы
На Facebook
География форума




АвиаТОП


 
Сайт работает на сервере ETegro Technologies