Nu (programming language)
{{multiple issues|
{{notability|date=June 2018}}
{{primary sources|date=June 2018}}
}}
{{infobox programming language
| name = Nu
| year = {{Start date and age|2007}}
| designer = Tim Burks
| developer = Tim Burks
| latest_release_version = 2.3.0
| latest_release_date = {{Start date and age|2019|07|29}}
| 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 = {{URL|programming-nu.github.io}}
}}
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,{{Cite web | title=Burks: Bridges and Beyond | url=http://www.viddler.com/explore/rentzsch/videos/13 | access-date=2011-04-11 | archive-url=https://web.archive.org/web/20110514222548/http://www.viddler.com/explore/rentzsch/videos/13/ | archive-date=2011-05-14 | url-status=dead }} 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
{{Reflist}}
External links
- {{Official website|programming-nu.github.io}}
- {{github|programming-nu/nu|Nu - Git repository}}
Category:Lisp programming language family
Category:Class-based programming languages
Category:Free and open source compilers
Category:Procedural programming languages