Nu (프로그래밍 언어)
리스프 계열 문법을 사용하는 인터프리터 방식의 객체 지향 프로그래밍 언어
Nu는 리스프 계열 문법을 사용하는 인터프리터 방식의 객체 지향 프로그래밍 언어이며, 개발자는 팀 벅스이다. 코코아 API를 통해 macOS를 프로그래밍하는 스크립트 언어의 다른 대안이다. 아이폰과 리눅스용 구현체도 존재한다.
패러다임 | 구조적, 명령형, 함수형, 객체 지향 |
---|---|
설계자 | 팀 벅스(Tim Burks) |
개발자 | 팀 벅스(Tim Burks) |
발표일 | 2007년 |
최근 버전 | 2.2.2 |
최근 버전 출시일 | 2017년 4월 17일 |
자료형 체계 | 동적 |
플랫폼 | x86 |
운영 체제 | macOS |
라이선스 | 아파치, v. 2.0 |
웹사이트 | programming-nu |
영향을 받은 언어 | |
리스프, 오브젝티브-C, 루비 |
예시 코드
편집이 Nu 코드는 단순 복소수 클래스를 정의한다.
(class Complex is NSObject
(ivar (double) real
(double) imaginary)
(- initWithReal:(double) x imaginary:(double) y is
(super init)
(set @real x)
(set @imaginary y)
self))
아래 예시는 복소수의 기본 정의이다: 인스턴스 변수를 정의하고 객체를 초기화하기 위한 메소드를 정의한다. Nu의 코드와 오브젝티브-C의 동일 코드 간 유사성을 보여주고 있다. 또, 루비와도 유사성을 보여준다.
(unless @prefix
(set @prefix
"#{((((NSProcessInfo processInfo) arguments) 0) dirName)}.."))
(unless @icon_files
(set @icon_files
(array "#{@prefix}/share/nu/resources/nu.icns")))
이 샘플은 Nu에 번들링된 "nuke" 도구로부터 비롯된 것으로 언어 설계에 오브젝티브-C, 리스프, 루비 언어가 영향을 미친 것을 보여준다.
같이 보기
편집각주
편집- ↑ “Burks: Bridges and Beyond”. 2011년 5월 14일에 원본 문서에서 보존된 문서. 2011년 4월 11일에 확인함.
외부 링크
편집- Nu - 공식 웹사이트
- (영어) Nu - Git repository - 깃허브