LINUX.ORG.RU

SP-Forth/4 для Linux


0

0

Михаил Максимов выпустил первую версию SP-Forth/4 для Linux. В комментариях к анонсу обсуждаются планы по развитию проекта с конечной целью написать самостоятельную операционную систему на Forth.

>>> Подробности

★★★

Проверено: Demetrio ()

Писать операционные системы уже не модно лет 10. Теперь модно писать броузеры.

anonymous
()
Ответ на: комментарий от just

>А зачем систему на Forth? Шоб було?

Ну пишут же на haskell... Каждому языку программирования по ОС!

savrus
()
Ответ на: комментарий от anonymous

Это такой язык на котором пишут операционные системы. :) Через пару лет ребята подостынут.

Вообще гиперссылки с пробелами- признак плохого тона. Даже для программистов на Форте :)

Вообще страничка любопытная "писать можно в Win32 на SPF4 (форт на форте), в Linux можно перетаскивать на VmWare? по FTP. " Или "1. Научиться делать на форте минимальный ELF бинарник который делает beep day (сделано! правда без beep, просто запускается и выходит. " Это мне Just for fun напомнило. История повторяется :)

just
()
Ответ на: комментарий от just

>Вообще страничка любопытная "писать можно в Win32 на SPF4 (форт на форте), в Linux можно перетаскивать на VmWare? по FTP.

Я над этим тоже тупил долго. Крутил VMware c FTP всеми анфасами. Единственная связка, которую придумал (извращения фантазии на большее не хватило) ставим на линукс VMWare в нем винду, в ней пишем под линукс, потом на линуксе поднимаем ftpd или чего-нить, коннектимся к нему из под винды и заливаем :)

tyro ★★
()

убиться веником!
почему на форте, почему не сразу на В (предшественник С)?!
завидую этим ребятам - вот уж кому действительно нечего делать...

anonymous
()

>конечной целью написать самостоятельную операционную систему на Forth.

А писалось уже. Ребятки из ЛГУ для процессора 580 (8080) делали. Это чудо работало на терминалах ЕС-7920 (кажется). Там камень был, малехо мозгу и зеленый монитор.

"А вы нактюрн съиграть могли бы на флейте водосточных труб?" - эпиграф там в листинге сырцов такой был.

Давно это было!

vada ★★★★★
()
Ответ на: комментарий от atrus

>> FORTRAN THE BEST

>Это не про fortran. ;-)

А чел не в теме :)

vada ★★★★★
()
Ответ на: комментарий от vada

А что?

В gcc вон тоже goto по указателю есть

пишешь

void *ptrs[10];

...

goto *ptrs[i];

или как-то так. я уж не помню, потому что тоже кричу, если приснится ;-)

anonymous
()
Ответ на: комментарий от anonymous

Глупые онанимусы нынче.

Не в курсе народ разве, что всяких разных ОС на Форте - полно. В ембеддщине Форт рулит, там каждый себе по Форт-ОС пишет, под каждый тип контроллеров.

Вообще, Форт рулит везде, гле:

1) мало ресурсов (то есть, Лисп не заработает)

2) нужно БЫСТРО разрабатывать и отлаживать

3) разработка существенно итеративна

Moridin
()
Ответ на: комментарий от vada

Обалдеть. Кто то еще это помнит. В смысле ЛГУ,форт и 8080.

Игрушки на этом терминале тоже ничего были. Я помнится удава с кроликами писал и докера (который ящики по местам расставляет толкая перед собой) с юниксов на форт портанул. Мне юниксовый админ распечатал прстыню с уровнями :)) Дискет тогда ещё не было.

Респект.

kilolife ★★★★★
()
Ответ на: комментарий от anonymous

> убиться веником!

Точна!

> почему на форте, почему не сразу на В (предшественник С)?!

Я вот знаю, что есть ещё языки "M" и "D".
Интересно, сколько букв уже "забито" под названия языков?

Dimentiy ★★
()
Ответ на: комментарий от anonymous

>кто такой форт?

Родитель Постскрипта и ядра VM Java :)

>Вообще страничка любопытная

Дык, нормальная "горячая" Wiki.

>"писать можно в Win32 на SPF4 (форт на форте)

Ну так это у них ещё с SPF2.x идёт, когда под DOS писалось. На нём потом SPF под Win32 сделали. Сейчас, вот, на SPF4 под Linux компилит.

А что, кросс-трансляция уже не в моде? А на чём первую программу под Linux написали? :D

Кстати, заметьте - вся среда разработки с исходниками - 170кБ.

А по скорости под win32 SPF4 иногда VC++ уделывает. Не говоря уже про GCC :)

Если под Linux соберётся - погоняю бенчи под ним :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Собирается и работает.

Микробаг - если сказать .. валиться в кору.

kilolife ★★★★★
()

Собрал. (До полноценнго Linux-форта не хватает только сохранялки в ELF под Linux). Пробенчил. Рекурсивное (специально, на тест математики + вызовы) вычисление 42-го числа Фибоначи.

gcc 3.3.5, компиляция с -O3
# time ./a.out
433494437
real 0m10.745s
user 0m10.569s
sys 0m0.009s

SPF:
# time ./spf fib.f
real 0m7.923s
user 0m7.414s
sys 0m0.009s

При чём во время работы SPF включена ещё и компиляция программы, т.к. сохранения её в ELF пока нет :)

Исходники:
: FIB ( N1 -- N2 )
DUP 2 < IF
DROP 1 EXIT
THEN
1- DUP RECURSE
SWAP 1- RECURSE
+
;

42 FIB . BYE

и

#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;
}

KRoN73 ★★★★★
()
Ответ на: комментарий от Moridin

>Не в курсе народ разве, что всяких разных ОС на Форте - полно. В ембеддщине Форт рулит, там каждый себе по Форт-ОС пишет, под каждый тип контроллеров.

Пи%%дишь. Из многих пишущих в фидо ru.embedded только один такой, пишущий на форте.

smartly ★★★
()
Ответ на: комментарий от smartly

А кого вообще волнует, что делается в .RU? В .RU - одни ламеры.

Hint: многие так называемые "java-процессоры" - в прошлом - Форт-процессоры.

Moridin
()
Ответ на: комментарий от Moridin

все равно, на асме надо писать, на асме я вам говорю!

anonymous
()
Ответ на: комментарий от just

Вообще-то странно, что называют "Forth". Этот язык называется "Fort", хотя происходит от слова "Forth". Просто по неким соображениям (не помню уже по каким) название должно было содержать только 4 буквы.

>А зачем систему на Forth? Шоб було?

На fort многие вещи получаются очень красиво и очень компактно. Очень. Другое дело, что нишу для него (для fort и для ос на нем) уже не найти. Хотя для микропроцессорных систем это было бы (во многих случаях) идеальным решением.

> FORTRAN THE BEST

К FORTRAN'у fort не имеет никакого отношения.

> А на Басике слабо операционку написать ?

Это Вы зря. Fort - очень серьезный язык. И на нем можно делать очень серьезные вещи. Единственное - он очень непривычен. Но если въехал - цепляет сильно.

> все равно, на асме надо писать, на асме я вам говорю!

Вы, наверное, удивитесь. И, скорее всего, не поверите, но на форте программы получаются компактнее, чем на ассемблере. При несравнимом удобстве программирования.

kraw ★★★★
()
Ответ на: комментарий от anonymous

Конечно нет! фортран лучше!

anonymous
()
Ответ на: комментарий от kraw

> Другое дело, что
нишу для него (для fort и для ос на нем) уже не найти.

что мешает писать на нем всякий opensource?
недостаточная популярность среди разработчиков?

или тот прискорбный факт что большинство, изучив форт, начинают
писать собственный компилятор/интерпретатор, и этим полностью удовлетворяют свое "just for fun"?

anonymous
()
Ответ на: комментарий от anonymous

Господа, если кто не знает... FORT серьезная штука, причем настолько, что в космос издавна летает и на орбитах ей отводят _очень_ серьезные задачи. Он действительно не привычен по сравнению с С или Паскалем. Там логика по другому построена. В инете полно ресурсов по сабжу.

anonymous
()

Это... если вы посмотрите, как происходит загрузка FreeBSD, то можете с удивлением обнаружить, что там всё на Forth`е. Это серьёзная система.

А то, что наработки SPF4 (fork от SPF Черезова) можно будет использовать в Linux, это есть good.

Я до сих пор нахожусь под впечатлением от реализаций ООП в SPF4 (microclass, joop /~day/) (как легко с ними было писать GUI под win... А ещё обратите внимание на размеры). А модуль automation|COM| /~yz/, для управления Word and Excell, как VB? Минимум кода и максимум удовольствия :). Наработок много и они интересные.

P.S. Одно слово -- МОЛОДЦЫ. Ждём дальнейшего развития проекта.

P.P.S. К тому же, это изначально OpenSource.

:-)

anonymous
()
Ответ на: комментарий от kraw

> Вообще-то странно, что называют "Forth".
> Этот язык называется "Fort", хотя происходит от слова "Forth"

Как же ты на прав. Язык называется как раз Forth, а происходит от
слова "fourth". Ограничение было 5 букв в имени программы.

anonymous
()
Ответ на: комментарий от anonymous

> Язык называется как раз Forth, а происходит от слова "fourth". Ограничение было 5 букв в имени программы.

Очень может быть. Старею, видимо. Надо порыться дома, должна была сохраниться старая документация, и уточнить.

А язык мне тогда здорово понравился.

kraw ★★★★
()
Ответ на: комментарий от KRoN73

> #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;
> }


> : FIB ( N1 -- N2 )
> DUP 2 < IF
> DROP 1 EXIT
> THEN
> 1- DUP RECURSE
> SWAP 1- RECURSE
> +
> ;
> 42 FIB . BYE


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

это во-первых, во вторых даже с printf - запусти с выводом в файл а не на консоль и опять сравни.

фортовые яйца окажутся не круче.

anonymous
()
Ответ на: комментарий от anonymous

>1> : FIB ( N1 -- N2 )
>2> DUP 2 < IF
>3> DROP 1 EXIT
>4> THEN
>5> 1- DUP RECURSE
>6> SWAP 1- RECURSE
>7> +
>8> ;
>9> 42 FIB . BYE

> я не мастак в форте,
> однако в твоем примере так и не разглядел ничего похожего на printf.
> на форте результаты печатаются или нет ?

строка 9:

42 - аргумент
FIB - вызов слова (функции/подпрограммы)
. - печать числа
BYE - выход

anonymous
()

Спасибо М. Максимову за проделанную работу. Одни трепятся, другие просто делают. А обосрать можно все что угодно, для этого мозгов много не нужно.

а) Форт в изучении очень простой. Предельно простой. Если сравнивать С и Форт, то Форт изучить и запустит в работу проще. Гораздо. Просто в нас вдалбливают одну модель программирования, а Форт использует другую.

б) Писать на нем не только можно, но и пишется. Если уважаемые не знают софта писанного на нем, это еще не означает что его нет.

в) SP-Forth/4 полностью разработанная русскими программистами.

Не С единым живы. Как по мне, так я С вообще не перевариваю. И для меня Форт это выход.

anonymous
()

Спасибо М. Максимову за проделанную работу. Одни трепятся, другие просто делают. А обосрать можно все что угодно, для этого мозгов много не нужно.

а) Форт в изучении очень простой. Предельно простой. Если сравнивать С и Форт, то Форт изучить и запустит в работу проще. Гораздо. Просто в нас вдалбливают одну модель программирования, а Форт использует другую.

б) Писать на нем не только можно, но и пишется. Если уважаемые не знают софта писанного на нем, это еще не означает что его нет.

в) SP-Forth/4 полностью разработанная русскими программистами.

Не С единым живы. Как по мне, так я С вообще не перевариваю. И для меня Форт это выход.

А русский сайт фортов -- www.forth.org.ru Здесь http://forth-j.narod.ru/links.htm -- небольшая подборка по форт-ресурсам.

anonymous
()
Ответ на: комментарий от anonymous

Я правильно понял, что программы на форте надо читать справа налево? И после этого вы будете говорить, что это удобный язык?

Eldhenn
()
Ответ на: комментарий от Eldhenn

Для тех, кто пишет справа налево - несомненно. Для остальных есть lisp и tcl.

anonymous
()
Ответ на: комментарий от Eldhenn

Для тех, кто работал с советскими калькуляторами тмпа БЗ-34 и МК-52 форт очень понятен и ясен. реализован стек

2 3 - 6 * 9 + == (2-3)*6+9

anonymous
()
Ответ на: комментарий от anonymous

Вау! ты мне напомнил те сладкие деньки когда я мучал свой МК-61 и писал на нем програмки типа вычисления корней квадратного уравнения, пару игрушек в числа... эээээх были времена ;) приятно вспомнить!

anonymous
()
Ответ на: комментарий от KRoN73

Двоечники, вас че в институте программировать не учат?

#include <iostream>

using namespace std;

template<int n> struct F{enum {v = F<n-1>::v + F<n-2>::v};

template<> struct F<0>{enum {v = 0};

template<> struct F<1>{enum {v = 1};

main(){ cout << F<42> << endl; }


Могу спорить на коньяк, что на асме, С или форте никто более быструю

прогу не напишет :))))






Sun-ch
()
Ответ на: комментарий от anonymous

Ну дык! Он на многое был способен- я весь свой курсовик по квантовой химии на нем считал в институте =)

anonymous
()
Ответ на: комментарий от anonymous

>а) Форт в изучении очень простой. Предельно простой. Если сравнивать С и Форт, то Форт изучить и запустит в работу проще. Гораздо. Просто в нас вдалбливают одну модель программирования, а Форт использует другую.

Как впрочем и наделать ошибок в программе на Форте ЗНАЧИТЕЛЬНО проще.

>б) Писать на нем не только можно, но и пишется. Если уважаемые не знают софта писанного на нем, это еще не означает что его нет.

Почему же не знаем? К примеру, АСУ ТП управления бетоносмесительным узлом. Сам даже годик в этом поучаствовал - теперь снится в кошмарных снах.

P.S. Мне вот что интересно: даже если не касаться преимуществ (???) и недостатков форта как такового, есть одна существенная проблема: очень мало программистов, знающих форт и готовых на нём писать, и компания, реализующая новые проекты на форте, обрекает себя на громадные сложности с будующей поддержкой.

anonymous
()
Ответ на: комментарий от anonymous

Опять этот нелепый миф... Популярность технологии (и количество инженеров, на ней специализирующихся) - вообще ни разу не критерий выбора. В любом крупном проекте выгоднее обучить персонал заново под выбранную технологию, чем использовать неоптимальную (для целей проекта) технологию. Тем более, если сложность самого проекта существенно превосходит сложность технологии.

Moridin
()
Ответ на: комментарий от Sun-ch

2 Sun-ch: Проказник :) Оно имхо (если исправить) всё на этапе компиляции считает :) На форте тоже можно так сделать :) А потом время исполнения (т.е. вывод на консоль) для пузомерки посчитать :)

kors
()
Ответ на: комментарий от anonymous

2anonymous (*) (19.01.2005 12:19:11)

> а) Форт в изучении очень простой. Предельно простой. Если сравнивать
> C и Форт, то Форт изучить и запустит в работу проще. Гораздо. Просто
> в нас вдалбливают одну модель программирования, а Форт использует другую.
> б) Писать на нем не только можно, но и пишется. Если уважаемые не
> знают софта писанного на нем, это еще не означает что его нет.
Язык симпатичный, в изучении действительно простой, и изучить его полезно, так же как и lisp, - для общего развития.
Серъезную программу на нем написать практически невозможно (в отличие от lisp). Основные причины, как мне кажется, полное отсутствие
проверок на количество и типы аргументов в вызовах функций (а он весь
на вызовах функций (простите, слов) построен) и плохая читаемость кода
(требуется постоянная тренировка). Для embedded приложений он еще
может иметь какую-то нишу, хотя C/C++/Java все равно гораздо удобней.
А для десктопа и серверов - никаких шансов. Одно дело, Фибоначчи, и
совсем другое дело - Apache, такой вот каламбур.
> в) SP-Forth/4 полностью разработанная русскими программистами.
Без комментариев, Россия - родина слонов!

> Не С единым живы. Как по мне, так я С вообще не перевариваю. И для
> меня Форт это выход.
Это дело вкуса. Для нелюбителей C есть еще Python, например, -
гораздо более юзабельная вещь.


anonymous
()
Ответ на: комментарий от Sun-ch

Саныч, придётся тебе раскошелиться. Форт - чистейший метаязык, как и Лисп, так что в нём и покруче compile time вычисления делать можно.

Moridin
()
Ответ на: комментарий от anonymous

Кто там о type safe Форте мечтает? Налетай - есть такой язык - Joy... Чисто функциональный типизированный, с GC, а в остальном - Форт...

Moridin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.