Nu (프로그래밍 언어)

위키백과, 우리 모두의 백과사전.

Nu
패러다임구조적, 명령형, 함수형, 객체 지향
설계자팀 벅스(Tim Burks)
개발자팀 벅스(Tim Burks)
발표일2007년(17년 전)(2007)
최근 버전2.2.2
최근 버전 출시일2017년 4월 17일(6년 전)(2017-04-17)
자료형 체계동적
플랫폼x86
운영 체제macOS
라이선스아파치, v. 2.0
웹사이트programming-nu.github.io
영향을 받은 언어
리스프, 오브젝티브-C, 루비

Nu리스프 계열 문법을 사용하는 인터프리터 방식의 객체 지향 프로그래밍 언어이며, 개발자는 팀 벅스이다. 코코아 API를 통해 macOS를 프로그래밍하는 스크립트 언어의 다른 대안이다. 아이폰리눅스용 구현체도 존재한다.

이 언어는 2007년 8월 인디 맥 개발자들을 위한 콘퍼런스인 C4에서 처음 발표되다.[1]

예시 코드[편집]

이 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, 리스프, 루비 언어가 영향을 미친 것을 보여준다.

같이 보기[편집]

각주[편집]

  1. “Burks: Bridges and Beyond”. 2011년 5월 14일에 원본 문서에서 보존된 문서. 2011년 4월 11일에 확인함. 

외부 링크[편집]