Nim (programming language): Difference between revisions

Content deleted Content added
Maybe iOS but not Android so far.
Dom96 (talk | contribs)
Undid revision 648962582 by Macaldo (talk)
Line 21:
'''Nim''' (formerly known as Nimrod) is an [[imperative programming|imperative]], [[multi-paradigm programming language|multi-paradigm]], [[compiled programming language]]<ref name="drdobbs">{{cite web|url=http://www.drdobbs.com/open-source/nimrod-a-new-systems-programming-languag/240165321|title=Nimrod: A new systems programming language|first=Andreas|last=Rumpf|work=[[Dr. Dobb's Journal]]|date=2014-02-11|accessdate=2014-07-20}}</ref> designed and developed by Andreas Rumpf. It is designed to be an "efficient, expressive, and elegant" programming language,<ref name="nim-lang">{{cite web|url=http://nim-lang.org/|title=The Nim Programming Language|work=Official website|accessdate=2014-07-20}}</ref> supporting [[metaprogramming]],<ref>{{cite web |url=http://developers.slashdot.org/story/15/02/15/0411217/nim-programming-language-gaining-traction?utm_source=slashdot&utm_medium=twitter |title=Nim Programming Language Gaining Traction |publisher=Slashdot anonymous poster|accessdate=15 Feb 2014}}</ref> [[functional programming|functional]], [[message passing]],<ref name="concurrency">{{cite web|url=http://nim-lang.org/question.html|title=FAQ|work=Official website|accessdate=2013-04-05}}</ref> [[Procedural programming|procedural]], and [[Object-oriented programming|object-oriented]] programming styles.
 
The Nim compiler was initially written in Pascal,<ref name="pas-sources">{{cite web|url=https://github.com/Araq/Nim/tree/ea1f1ec6d4d6c776eb0f81c2bebdd4cb4c817ebe/nim|title=Nim Pascal Sources|work=Nim|publisher=[[GitHub]]|accessdate=2013-04-05}}</ref> in 2008<ref name="news"/> a version of the compiler written in Nim was released. The compiler is open source and is being developed by a group of volunteers in addition to Andreas Rumpf.<ref name="contributors">{{cite web|url=https://github.com/Araq/Nim/contributors|title=Contributors|work=Nim|publisher=[[GitHub]]|accessdate=2013-04-05}}</ref> The compiler generates optimized C code and defers compilation to an external compiler<ref name="infoq">{{cite video|url=http://www.infoq.com/presentations/nimrod|title=Nimrod: A New Approach to Metaprogramming|first=Andreas|last=Rumpf|work=[[InfoQ]]|time=2:23|date=2014-01-15|accessdate=2014-07-20}}</ref> (a large range of compilers including clang and GCC are supported) to leverage their optimization and portability capabilities. The compiler can also generate C++ and Objective C code to allow for easy interfacing with APIs written in those languages,<ref name="drdobbs"/> this in turn allows Nim to be used to write iOS as well as Android applications<ref name="gradhacrossplatform">{{cite web|url=http://gradha.github.io/articles/2014/03/nimrod-for-cross-platform-software.html|title=Nimrod for cross platform software|first=Grzegorz Adam|last=Hankiewicz|work=Rants from the Ballmer Peak|publisher=[[GitHub]]|date=2014-03-10|accessdate=2014-07-20}}</ref>
 
== Description ==