| Paradigm | structured, imperative, functional, object-oriented | 
|---|---|
| Designed by | Tim Burks | 
| Developer | Tim Burks | 
| First appeared | 2007 | 
| Stable release | 2.3.0
   /    July 29, 2019 | 
| Typing discipline | dynamic | 
| Platform | x86 | 
| OS | OS X | 
| License | Apache, v. 2.0 | 
| Website | programming-nu | 
| Influenced by | |
| Lisp, Objective-C, Ruby | |
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,[1] a conference for indie Mac developers held in August 2007.
Example code
This Nu code defines a simple complex numbers class.
(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.
(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.
See also
References
- ↑ "Burks: Bridges and Beyond". Archived from the original on 2011-05-14. Retrieved 2011-04-11.