LINUX.ORG.RU
 
Bsd-un

SP-Forth/4 для Linux


0

0

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

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


[#]  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#]  
just

Re: SP-Forth/4 для Linux

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

* ()
[#]  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от just 18.01.2005 18:15:30  

Re: SP-Forth/4 для Linux

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

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

()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 18:31:31  
just

Re: SP-Forth/4 для Linux

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

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

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

* ()
[#] Ответ на: Re: SP-Forth/4 для Linux от just 18.01.2005 18:48:43  
tyro

Re: SP-Forth/4 для Linux

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

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

** ()
[#]  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 19:07:29  

Re: SP-Forth/4 для Linux

FORTRAN THE BEST

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 19:12:53  
vada

Re: SP-Forth/4 для Linux

>FORTRAN THE BEST

FORTRAN IV THE BEST

А вычисляемый GOTO просто песня!

ЗЫ. Если приснится, кричу во сне.

Ж8( )

**** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 19:12:53  
atrus

Re: SP-Forth/4 для Linux

> FORTRAN THE BEST

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

***** ()
[#]  
vada

Re: SP-Forth/4 для Linux

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

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

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

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

**** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от atrus 18.01.2005 19:44:30  
vada

Re: SP-Forth/4 для Linux

>> FORTRAN THE BEST

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

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

**** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от vada 18.01.2005 19:37:55  

Re: SP-Forth/4 для Linux

А что?

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

пишешь

void *ptrs[10];

...

goto *ptrs[i];

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 19:07:29  

Re: SP-Forth/4 для Linux

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

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

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

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

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

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

()
[#] Ответ на: Re: SP-Forth/4 для Linux от vada 18.01.2005 19:46:38  
kilolife

Re: SP-Forth/4 для Linux

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

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

Респект.

***** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 19:07:29  

Re: SP-Forth/4 для Linux

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

Точна!

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

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

* ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 18:31:31  
KRoN73

Re: SP-Forth/4 для Linux

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

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

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

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

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

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

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

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

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

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

***** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от KRoN73 19.01.2005 0:43:40  
kilolife

Re: SP-Forth/4 для Linux

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

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

***** ()
[#]  
KRoN73

Re: SP-Forth/4 для Linux

Собрал. (До полноценнго 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;
}

***** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от Moridin 18.01.2005 20:40:23  

Re: SP-Forth/4 для Linux

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

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

*** ()
[#]  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 2:19:47  

Re: SP-Forth/4 для Linux

а чем BEDOS не устраивает?

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от smartly 19.01.2005 1:52:53  

Re: SP-Forth/4 для Linux

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

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

()
[#] Ответ на: Re: SP-Forth/4 для Linux от Moridin 19.01.2005 3:50:24  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от just 18.01.2005 18:15:30  

Re: SP-Forth/4 для Linux

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

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

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

> FORTRAN THE BEST

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

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

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

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

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

**** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 18.01.2005 19:12:53  

Re: SP-Forth/4 для Linux

>FORTRAN THE BEST

разве FORTRAN и Forth это одно и тоже?

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 8:29:04  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от kraw 19.01.2005 8:27:55  

Re: SP-Forth/4 для Linux

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

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

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 8:29:04  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#]  

Re: SP-Forth/4 для Linux

Это... если вы посмотрите, как происходит загрузка 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 ()
[#] Ответ на: Re: SP-Forth/4 для Linux от kraw 19.01.2005 8:27:55  

Re: SP-Forth/4 для Linux

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

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 9:22:28  

Re: SP-Forth/4 для Linux

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

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

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

**** ()
[#] Ответ на: Re: SP-Forth/4 для Linux от KRoN73 19.01.2005 1:10:47  

Re: SP-Forth/4 для Linux

> #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 ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 9:41:02  

Re: SP-Forth/4 для Linux

>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 ()
[#] Ответ на: Re: SP-Forth/4 для Linux от vada 18.01.2005 19:46:38  

Re: SP-Forth/4 для Linux

Это были терминальные станции ЕС-7970.

anonymous ()
[#]  

Re: SP-Forth/4 для Linux

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

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

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

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

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

anonymous ()
[#]  

Re: SP-Forth/4 для Linux

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

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

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

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

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

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 9:54:08  
Eldhenn

Re: SP-Forth/4 для Linux

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

# ()
[#] Ответ на: Re: SP-Forth/4 для Linux от Eldhenn 19.01.2005 12:35:41  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от Eldhenn 19.01.2005 12:35:41  

Re: SP-Forth/4 для Linux

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

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 13:10:56  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от KRoN73 19.01.2005 1:10:47  
Sun-ch

Re: SP-Forth/4 для Linux

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

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


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

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






# ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 13:19:19  

Re: SP-Forth/4 для Linux

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 12:17:03  

Re: SP-Forth/4 для Linux

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

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

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

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

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

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 13:10:56  

Re: SP-Forth/4 для Linux

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

А нельзя как-нибудь так:

( 2 - 3 ) * 6 + 9 EXPR

?

anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 13:45:39  

Re: SP-Forth/4 для Linux

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

()
[#] Ответ на: Re: SP-Forth/4 для Linux от Sun-ch 19.01.2005 13:19:58  

Re: SP-Forth/4 для Linux

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

* ()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 12:19:11  

Re: SP-Forth/4 для Linux

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

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

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


anonymous ()
[#] Ответ на: Re: SP-Forth/4 для Linux от Sun-ch 19.01.2005 13:19:58  

Re: SP-Forth/4 для Linux

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

()
[#] Ответ на: Re: SP-Forth/4 для Linux от anonymous 19.01.2005 13:50:42  

Re: SP-Forth/4 для Linux

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

()