LINUX.ORG.RU

Forth


0

0

Тут вроде много программистов не традиционной ориентации (лисп) :)
Хотелось бы услышать Ваше мнение о Форте. Стоит ли его изучать?

anonymous

Стоит, конечно же. Тоже метаязык, только, в отличии от Лиспа, совсем низкоуровневый. Для ембеддед, где у тебя жесткое ограничение по ресурсам - самое то.

Можешь ещё изучить его полезную разновидность PostScript.

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

Вот уж не думал, что PostScript - это разновидность Форта

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

>Для ембеддед, где у тебя жесткое ограничение по ресурсам - самое то.

Не надо ля-ля. Самое то для ембеддед - Си. А форт - или баловство или что-то специфическое (например исполнение кода из необычной области памяти)


Про постскрипт:
А форт - разновидность калькулятора MK-52...

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

Вообще-то, C - это 3-е поколение, Forth - 4-ое, а вот PostScript - 5-ое, так-что PostScript самый продвинутый и нирваны достигать только на нем, как завещали индусы :)

anonymous
()

> Стоит ли его изучать?

Да.

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

2smartly (*) (07.07.2005 1:18:39)

> А форт - разновидность калькулятора MK-52...

А ну-ка изобрази мне на C встроенный итерактивный язык, приемлемого размера, с такой, например, функциональностью (на русском языке):

\ id3=id1*id2
: Матр* ( id1 id2 id3 -- ) \ *
ТекущаяМатр3
ТекущаяМатр2
ТекущаяМатр1
Строк1 Столбцов2 НачалоМатр3 ДатьПараметры
Столбцов2 0
DO
Строк1 0
DO
I J 2DUP
СтрокуНаСтолбец
НачалоМатр3 ДатьЭлемент
LOOP
LOOP
;

\ матр id в степени u
: Матр** ( id u -- ) \ *
DUP 1 >
IF
OVER DUP ВзятьПараметры НеименМатр TO Временная
TO НачалоМатр1
1 DO
DUP НачалоМатр1 Временная Матр*
Временная TO НачалоМатр1
LOOP
Временная SWAP КопироватьМатр
Временная Освободить
ELSE 2DROP
THEN
;

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

Sorry форматирование слетело. :(

2smartly  (*) (07.07.2005 1:18:39)

> А форт - разновидность калькулятора MK-52...



А ну-ка изобрази мне на C встроенный итерактивный язык, приемлемого размера, с такой, например, функциональностью (на русском языке):

\ id3=id1*id2
: Матр* ( id1 id2 id3 -- ) \ *
    ТекущаяМатр3
    ТекущаяМатр2
    ТекущаяМатр1
    Строк1 Столбцов2 НачалоМатр3 ДатьПараметры
    Столбцов2 0
    DO
      Строк1 0
      DO
         I J 2DUP 
         СтрокуНаСтолбец 
         НачалоМатр3 ДатьЭлемент
      LOOP
    LOOP
;

\ матр id в степени u
: Матр** ( id u -- ) \ *
    DUP 1 >
    IF
      OVER DUP ВзятьПараметры НеименМатр TO Временная
      TO НачалоМатр1
      1 DO
          DUP НачалоМатр1 Временная Матр*
          Временная TO НачалоМатр1
        LOOP
      Временная SWAP КопироватьМатр
      Временная Освободить 
    ELSE 2DROP
    THEN
;

anonymous
()

Форт стоит изучать хотя бы в дзен-целях :))) хороший язык для автосублимации

Zert
()

Говорят что в Каскоде программируют на форте под симентсовские микроконтроллеры c165. Якобы форт используется для программитрования кассовых аппаратов.

МК-52 - супер. Это первый девайс который я запрограммировал :)

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

Заманали уже с MK-52 - много кала, аж 52 кг.

anonymous
()

>Якобы форт используется для программитрования кассовых аппаратов. я тоже видел - в одной конторе программируют кассовые аппараты на Форте

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

>А ну-ка изобрази мне на C встроенный итерактивный язык, приемлемого размера, с такой, например, функциональностью (на русском языке):

Я не вдуплялся, что ты тут написал (напоминает какой-то алгоритм, а не "встроенный итерактивный язык", причем определений "Строк1", "СтрокуНа столбец" и прочего ты не дал, так что я не смогу определить, что он делает), но ты что, хочешь сказать, что это нельзя сделать на Си?

И еще раз. Для ембеддед рулит Си. И еще довольно долго будет рулить. (Хотя С++ тоже набирает популярность. Я вот свои новые программы уже на С++ пишу. Не скажу, что они стали насквозь ОО, просто некоторые фичи С++ использую.)

>А форт - разновидность калькулятора MK-52...

Это я вообще-то про постскрипт писал. Постскрипт такая же разновидность форта, как и форт - калькулятора МК-52

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

>> А ну-ка изобрази мне на C встроенный итерактивный язык, приемлемого размера, с такой, например, функциональностью (на русском языке):

> Я не вдуплялся, что ты тут написал (напоминает какой-то алгоритм, а не "встроенный итерактивный язык", причем определений "Строк1", "СтрокуНа столбец" и прочего ты не дал, так что я не смогу определить, что он делает), но ты что, хочешь сказать, что это нельзя сделать на Си?

Это можно сделать и на ассемблере. Однако, если бы ты занимался _промышленной_ разработкой систем, то ты бы оценил _сроки_ разработки и _масштабируемость_.

> И еще раз. Для ембеддед рулит Си. И еще довольно долго будет рулить. (Хотя С++ тоже набирает популярность. Я вот свои новые программы уже на С++ пишу. Не скажу, что они стали насквозь ОО, просто некоторые фичи С++ использую.)

Есть ЯП привычные, есть модные, а есть удобные, для определённого класса задач. :)

P.S. Forth -- это классика. Причём, на год младше C и на год старше Pascal, но уже _в_то_время_ имел в арсенале то, что сейчас называется модным словосочетанием ООП, и то, что сейчас называется байт-код (java, Parrot, .NET), и + итерактивность разработки, при скромных размерах среды.

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

>Однако, если бы ты занимался _промышленной_ разработкой систем,

А чем, по твоему, я занимаюсь?

>ты бы оценил _сроки_ разработки и _масштабируемость_.

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

>но уже _в_то_время_ имел в арсенале то, что сейчас называется модным словосочетанием ООП, и то, что сейчас называется байт-код (java, Parrot, .NET)

Ну и что? Ведь применение этому арсеналу нашли только сейчас.

Еще раз: Я именно про embedded системы говорю.

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