Crystal (programming language): Difference between revisions

Content deleted Content added
tidier infobox
Yobot (talk | contribs)
m WP:CHECKWIKI error fixes, removed stub tag using AWB (12041)
Line 4:
| latest preview version = 0.18.2
| latest preview date = {{Start date and age|2016|6|17}}
| typing = [[Type system#Static_type_checkingStatic type checking|static]]
| programming language = Crystal
| platform = '[[IA-32]]' (i386), '[[x86-64]]'
Line 11:
| file ext = .cr
| website = http://crystal-lang.org/
| influenced by = [[Ruby (programming language)|Ruby]],<ref name="rel_0.18.0"/>, [[C (programming language)|C]], [[Rust (programming language)|Rust]], [[Go (programming language)|Go]],<ref name="rel_0.18.0"/>, [[C Sharp (programming language)|C#]],<ref name="rel_0.18.0"/>, [[Python (programming language)|Python]]<ref name="rel_0.18.0"/>
}}
 
Line 17:
 
==Description==
Although resembling the Ruby programming language in syntax, Crystal compiles to much more efficient native code using an [[LLVM]] backend, at the cost of disallowing the dynamic aspects of Ruby. However, the advanced global type inference used by the Crystal compiler, combined with the usage of [[Unionunion type|union types]]s, give Crystal the feel of a higher-level scripting language than many other comparable programming languages. Recent benchmarks have demonstrated that Crystal has a performance broadly similar to [[C (programming language)|C]] for a wide range of computing tasks.<ref>[https://github.com/kostya/benchmarks Some benchmarks of different languages]</ref><ref>[https://github.com/kostya/crystal-benchmarks-game Crystal implementations for The Computer Language Benchmarks Game]</ref><ref>[https://github.com/smarr/are-we-fast-yet/tree/master/benchmarks/Crystal Are We Fast Yet?]</ref> The language has automated garbage collection and currently offers a [[Boehm garbage collector|Boehm collector]]. Crystal possesses a macro system and supports generics and method and operator overloading. Crystal's concurrency model is inspired by [[communicating sequential processes]] (CSP), and implements light-weight fibers and channels (for communicating between fibers) inspired by the [[Go (programming language)|Go programming language]].{{factcitation needed|date=June 2016}}
 
== Examples ==
Line 101:
| quote = It's heavily inspired by Ruby, and other languages (like C#, Go and Python).
}}
</ref>
}}
 
Line 109:
 
[[Category:Object-oriented programming languages]]
 
 
{{Software-stub}}