Nim (programming language): Difference between revisions

Content deleted Content added
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB (10822)
Topbanana (talk | contribs)
m Link repair: Github -> GitHub - You can help!
Line 11:
| latest_test_version = 0.10.2<ref name="news">{{cite web|url=http://nim-lang.org/news.html|title=News|work=Official website|accessdate=2015-01-02}}</ref>
| latest_test_date = 2014-12-29
| typing = [[static typing|static]],<ref name="nimbyex">{{cite web|url=http://nim-by-example.github.io/|title=Nim by example|publisher=[[GithubGitHub]]|accessdate=2014-07-20}}</ref> [[strong typing|strong]],<ref name="nimrodbg">{{cite conference|url=http://ibob.github.io/slides/nimrodbg/#/|language=Russian|title=Метапрограмиране с Nimrod|last1=Караджов|first1=Захари|last2=Станимиров |first2=Борислав|year=2014|conference=VarnaConf|conferenceurl=http://varnaconf.com/|accessdate=2014-07-27}}</ref> [[type inference|inferred]], [[structural type system|structural]]
| dialects =
| influenced_by = [[Ada (programming language)|Ada]], [[Modula 3]], [[Lisp (programming language)|Lisp]], [[C++ (programming language)|C++]], [[Object Pascal]], [[Python (programming language)|Python]]
| operating_system = [[Linux]], [[Mac OS X]], [[Microsoft Windows|Windows]], [[FreeBSD]], [[NetBSD]]
| license = [[MIT License]]<ref name='license'>{{cite web|url=http://nim-lang.org/question.html|title=FAQ|work=Official website|accessdate = 2014-07-20}}</ref><ref name='license1'>{{cite web|url=https://github.com/Araq/Nim/blob/master/copying.txt|title=copying.txt|work=Nim|publisher=[[GithubGitHub]]|accessdate=2014-07-20}}</ref>
| website = {{URL|http://nim-lang.org/}}
}}
'''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=[[GithubGitHub]]|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=[[GithubGitHub]]|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=[[GithubGitHub]]|date=2014-03-10|accessdate=2014-07-20}}</ref>
 
== Description ==