Nu (programming language)
Paradigm | structured, imperative, object-oriented | ||
---|---|---|---|
Designed by | Tim Burks | ||
Developer | Tim Burks | ||
First appeared | 2007 | ||
2.1.0 / April 15, 2013 | |||
dynamic | |||
License | Apache License, v. 2.0 | ||
Website |
programming | ||
|
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.
Considered a niche tool, possibly because of its Lisp-like syntax,[2] it is notable as part of a recent rise in use of functional programming languages.[3]
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.
See also
References
- ↑ "Burks: Bridges and Beyond". Retrieved 2011-04-11.
- ↑ Paul Graham. "Being Popular". (section 7. Syntax). Retrieved 2011-04-11.
- ↑ Brandon Werner. "The Rise Of Functional Programming: F#/Scala/Haskell and the failing of Lisp". Retrieved 2014-05-21.