Nu (programming language)
title: "Nu (programming language)" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["lisp-programming-language-family", "class-based-programming-languages", "free-and-open-source-compilers", "procedural-programming-languages", "object-oriented-programming-languages", "programming-languages-created-in-2007"] topic_path: "technology/programming-languages" source: "https://en.wikipedia.org/wiki/Nu_(programming_language)" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::data[format=table title="infobox programming language"]
| Field | Value |
|---|---|
| name | Nu |
| year | |
| designer | Tim Burks |
| developer | Tim Burks |
| latest_release_version | 2.3.0 |
| latest_release_date | |
| influenced_by | Lisp, Objective-C, Ruby |
| typing | dynamic |
| paradigm | structured, imperative, functional, object-oriented |
| platform | x86 |
| operating system | OS X |
| license | Apache, v. 2.0 |
| website | |
| :: |
| name = Nu | year = | designer = Tim Burks | developer = Tim Burks | latest_release_version = 2.3.0 | latest_release_date = | latest_test_version = | latest_test_date = | implementations = | influenced_by = Lisp, Objective-C, Ruby | typing = dynamic | dialects = | influenced = | paradigm = structured, imperative, functional, object-oriented | platform = x86 | operating system = OS X | license = Apache, v. 2.0 | website =
Nu is an interpreted object-oriented programming language, with a Lisp-like syntax, created by Tim Burks as an alternative scripting language to program OS X through its Cocoa application programming interface (API). Implementations also exist for iPhone and Linux.
The language was first announced at C4, a conference for indie Mac developers held in August 2007.
Example code
This Nu code defines a simple complex numbers class.
::code[lang=lisp] (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)) ::
The example is a basic definition of a complex number: it defines the instance variables, and a method to initialize the object. It shows the similarity between the code in Nu and the equivalent in Objective-C; it also shows the similarity with Ruby.
::code[lang=lisp] (unless @prefix (set @prefix "#{((((NSProcessInfo processInfo) arguments) 0) dirName)}.."))
(unless @icon_files (set @icon_files (array "#{@prefix}/share/nu/resources/nu.icns"))) ::
This sample, from the nuke tool bundled with Nu, also shows the influence of Objective-C, Lisp, and Ruby in the design of the language.
References
References
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::