насколько я понимаю -- это рафинированный форт. Точно так же, как схема это рафинированный лисп. Так что если спрашивать зачем фактор, то наравне можно спросить зачем схема?
а действительно, зачем оно, я почитал в вике про stack-oriented, но не сильно понял какие такие фичи этот подход дает, ну помимо postscript, где еще такой подход применить можно?
Хых, вспоминаю фразу, которую сказал Kenny Tilton из comp.lang.lisp очередному пришедшему изобретателю Лиспа без скобок. Только оригинал не могу найти, но смысл такой
"Однажды скобочка, запятая и апостроф пошли в бар..." :)
Ржал в голос. Я понял, что сил на изобретателей "лиспа без скобок" там больше ни у кого нет. :)
>Steel Bank Common Lisp - a specific implementation whose design and code influenced Factor
Хм.
>CLIM specification - Factor's UI toolkit borrows ideas from CLIM but is (significantly) simpler
Хм. Вообще офигеть.
>Garnet GUI toolkit - a GUI toolkit implemented in Common Lisp with its own prototype-based object system; Garnet's "constraints" inspired the Factor UI's "models"
С миру по Шнитке. (c) :)
>At some point, a Java bytecode compiler appeared, inspired by Armed Bear Common Lisp.
>Programming languages which inspired Factor:
>Forth - the canonical stack language >Joy - Factor's primary inspiration >Common Lisp - the king of programming languages >Slate - sophisticated Smalltalk/Self/Common Lisp hybrid
да таких мутантов везде полно ruby, python, perl да и все остальные черпали фичи у древних, в этом-то как раз ничего плохого, если результат будет работать лучше и в каких-нибудь сферах выигрывать
>да таких мутантов везде полно ruby, python, perl
Yukihiro "Matz" Matsumoto (автор языка ruby) этого и не скрывал,
откуда он черпал идеи:
Ruby is a language designed in the following steps:
* take a simple lisp language (like one prior to CL).
* remove macros, s-expression.
* add simple object system (much simpler than CLOS).
* add blocks, inspired by higher order functions.
* add methods found in Smalltalk.
* add functionality found in Perl (in OO way).
So, Ruby was a Lisp originally, in theory.
Let's call it MatzLisp from now on. ;-)
Взято с http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/179642
> Ruby is a language designed in the following steps:
>
> * take a simple lisp language (like one prior to CL).
> * remove macros, s-expression.
> ...
Всё, не буду даже и смотреть - и не просите :) Взял автомобиль, выкинул двигатель, колёса, рулевое, присобачил лыжи. Осталось найти коня или собачью упряжку... :))
"Стою на асфальте..."
про руби, но зато у руби есть рельсы:) и вообще при написании небольших скриптов он удобней лиспа, хотябы отсутствием шаманств и костылей для запуска из консоли, хотя сейчас какой-то cl-launch есть, но никак руки недойдут посмотреть на него
>и вообще при написании небольших скриптов он удобней лиспа, хотябы отсутствием шаманств и костылей для запуска из консоли, хотя сейчас какой-то cl-launch есть, но никак руки недойдут посмотреть на него
ИМО, тут очень удобен CLISP, так как маленький. Для скриптов -- самое оно.
А вообще, есть ссылки в инете, кто и как это дело побеждает:
>одна из фич -- очень красивые компактные программы
Я когда первый раз в жизни редактировал PostScript, который генерил emacs, с целью добавления в него перекодировочной таблицы, то с непривычки чуть голову себе не сломал этим stack-based синтаксисом. Ну а потом въехал (времени не было читать учебники, поэтому въезжал по месту и сразу). :)
>Я когда первый раз в жизни редактировал PostScript, который генерил emacs, с целью добавления в него перекодировочной таблицы, то с непривычки чуть голову себе не сломал этим stack-based синтаксисом.
Бедные, бедные емаксоводы... Так вот как вы тексты печатаете. Сразу видно превосходство емакс над нормальными IDE.