Nu (programming language)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Nu
Paradigm(s) structured, imperative, object-oriented
Appeared in 2007
Designed by Tim Burks
Developer Tim Burks
Stable release 2.0.1 (September 2, 2011; 5 months ago (2011-09-02))
Typing discipline dynamic
Influenced by Lisp, Objective-C, Ruby
License Apache License, v. 2.0
Website programming.nu

Nu is an interpreted object-oriented programming language, with a Lisp-like syntax, created by Tim Burks as an alternative scripting language to program Mac OS X through its Cocoa application programming interface (API). Implementations also exist for Linux, and iPhone.

The language was first announced at C4,[1] a conference for indie Mac developers held in August 2007.

Although being for the moment confined as a niche tool, possibly because of its Lisp-like syntax,[2] it is generally considered stable,[3] and is notable as part of a recent rise in use of functional programming languages.[4]

Contents

[edit] 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 Nu code and the equivalent Objective-C code; 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 snippet, from the nuke tool bundled with Nu, also shows the influence of Objective-C, Lisp, and Ruby in the design of the language.

[edit] See also

[edit] References

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export