factor-language: 설치&시작

주의: 이 글은 정말 아무런 쓰잘떼기 없을 수 있삼.



소개



FactorjEdit의 개발자, Slava Pestov가 진행하는 새로운 언어를 만드는 프로젝트입니다.
원래는 자바기반에서 자바로 게임을 만들며 이를 스크립팅할 언어를 만들기 위해 시작했다고 합니다. 지금은 자바로의 개발은 중단되고, 아주 작은 부분의 c로 작성된 vm와 factor 그 자체로 구성된 core와 확장을 포함하고, 꽤나 멋진 개발환경을 제공하는 언어로 성장해 있습니다.

작다고 나름 자부하는-_-;; IoLanguage와 비교해 보아도 그 core가 정말로 작고-_-;; IoLanguage의 경우에는 c-extension을 포함하면 사실 그 c-code의 크기가 꽤 됩니다. 반면 factor의 경우에는 정말로 c프로그램에 내장하지 않는 이상, 추가적인 c 코드가 필요하지 않습니다.

[/Factor/libs/mysql] : CommonLisp등에서처럼 FFI을 갖고 있어, libmysql을 사용하는 경우에도 해당 SharedObject와 사용하려는 프로시져들의 참조만을 적어주고 사용할 수 있습니다. :-ㅇ)

언어자체는 Forth을 기반하으로하여 작을수밖에 없습니다. ^^;

하지만, Forth의 경우에는 C의 위치, 혹은 시스템 프로그래밍에 목적이 있지만, Factor의 경우에는 CommonLisp, Smalltalk와 같이 HighLevelLanguage을 지향한다고...(카더라.)

정말로 HighLevel한 특성을 갖고 있습니다. 독특한 PrototypeBased, 혹은 CLOS와 비슷한 객체시스템, 코드를 NativeCode로 컴파일하여 실행하는 특성이나, 스몰토크, 커먼리습과 같이 이미지에 시스템의 core을 저장할 수 있는 방식이라던가... 정말 흥미로운 점이 많은 언어입니다.




설치 & Hello, World




  • http://factorcode.org/ 소스(혹은 바이너리)와 boot.image.*을 알맞게 가져온당-_-
  • 소스라면 컴파일을 한다. ex: "make linux-x86"...
  • "factor", 혹은 "factor.exe"가 있는 디렉토리에 받아온 boot-image을 "factor.image"라는 이름으로 넣어준다.
  • "factor"을 실행한다.


만일 OpenGL을 사용할 수 없다면 깔쌈한 Factor의 UI을 보기 힘드실 수 있습니당. 이럴때는 그냥 미련을 버리고 "./factor -shell=tty"와 같이 실행하여 텍스트모드로 실행하셔도 좋습니다. (사실 있으면 예쁘장하고 편한거지 필수는 아니삼.)



어쨌든 텍스트모드건 ui이건 "(scratchpad)"란 프롬프트가 보인다면 성공한 것입니다.

이제 여기에서 "hello, world!"을 찍어보도록 하겠습니다.


"hello, world!" print


혹은...

"hello, world!" .


ui을 기준으로 설명하면 input에 입력을 넣고서 엔터! output에 결과가 찍힐 것입니다.

오늘은 여기까지 ^^; 다음 글에서는 개발환경의 설명과 Factor의 기초적인 원리에 대해서 끄적여 보겠습니다.

by 아겔 | 2007/05/20 16:59 | factor-language | 트랙백

트랙백 주소 : http://ageldama.egloos.com/tb/3183048
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

◀ 이전 페이지          다음 페이지 ▶