무척 모자란 실력으로, 제가 써놓고도 알아보지 못할 만큼 무성의한 번역입니다. 원문은 여기이며 수정, 태클 얼마든지 환영합니다.
====================================================================================================================
Factor는 Slava Pestov의 주도에 의해 디자인과 구현이 된 동적 타입의 연쇄 프로그래밍 언어이다. Factor 는 Joy, Forth, Lisp 그리고 Self에 영향을 받았다.
다른 연쇄적 언어들처럼, Factor는 후위연산 문법을 가지는데, 이는 함수의 인자가 함수 앞에 쓰여진다는 것을 의미하는 것이다. 예를 들어서, Hello, world를 Factor에서 쓰려면
"Hello world" print
라고 한다.
Factor는 동적 타입이고, 공용 개체 시스템을 가지고 있다. Factor에서는, 작은 그룹의 기본 타입이 있고, 사용자들과 표준 라이브러리는 튜플이나 혹은 다른 메카니즘을 이용해서 그들 자신의 클래스를 만들 수 있다. 이는 상속이 아니라 Self에서처럼 위임이다. 덧붙여서, 타입이나 튜플을 이용하지 않아도 클래스를 다른 방법으로 만들수도 있다 ; Factor는 Predicate 클래스(역주 - predicate class는 다른 클래스의 부차적인 클래스를 말함)나 공용 클래스도 지원한다. Factor는 고정되거나 가변적인 길이의 벡터와 해시테이블을 포함한 복합 데이터타입을 내장하고 있다. 이 언어는 또한 실수, 임의의 정확도를 가진 정수 또한 지원한다. 연결리스트, 복잡한 숫자와 분수 또한 표준 라이브러리에서 정의한다.
Factor는 원래는 인터프리트 언어이나, 지금은 컴파일할 수도 있다. 최적화된 기계어 컴파일러가 Factor로 완전히 쓰여졌다. 이것은 표준 실행 파일을 만들지는 않지만 기계 코드가 이미지로 저장이 된다.
스택 시스템을 이용하는데 만족하지 않는다면, 동적 범위를 지원하는 것을 택할수도 있다. Factor는 계속 성장하는 라이브러리를 지원하며, 웹프레임워크를 수반한 HTTP 서버, OpenGL바인딩, GUI 라이브러리, XML 파서, 그 외에 다른 유틸리티들을 지원한다.
Factor의 중심목표 중 하나는 상호작용적이고 테스트 위주의 개발을 유용하게 할 수 있는 것이다. 왜 Factor냐면 그것의 코어는 Forth의 안전한 버전이기 때문이다. Factor는 동적 타입이지만, 컴파일러는 단어(함수)의 스택 깊이를 평가하고 할당한다. (역주- 스택 언더플로우가 없다는 뜻)
이제까지, 자바와 C 두가지 구현이 완성되었다. 자바 구현은 지양되었으며, 더이상 유지되지 않는다. C버전의 네이티브 런타임은 Factor 스스로 구현된 비율이 높아짐에 따라 계속 작아진다. 그렇지만 Factor의 일부분은 앞으로도 항상 C로 쓰여질 것이다.
Factor c같은 방법으로 확장 표준 라이브러리가 단단히 접착되어 있지는 않다, 이 언어는 많은 문서가 있다.
2007년 5월을 기해, 현재 Factor의 버전은 .89.A이며 2년내에 1.0을 릴리즈할 계획을 가지고 있다.
============================================================================
이 언어에 대해 관심이 있으시다면 아겔님의 블로그 를 방문해 보세요. 제가 알기로는 국내에 유일하게 한글로 된 factor관련 자료가 있는 곳입니다. ^^

