Crystal (programming language): Difference between revisions

Content deleted Content added
Found a ref for Go at least
not needed when the title already contains the disambiguation
 
(3 intermediate revisions by 3 users not shown)
Line 1:
{{Short description|Object-oriented programming language}}
{{About|the [[programming language]]||Crystal (disambiguation)}}
{{Infobox programming language
| name = Crystal
Line 28 ⟶ 27:
 
== Description ==
Although resembling the Ruby language in syntax, Crystal compiles to much more efficient native code using an [[LLVM]] backend, at the cost of precluding the dynamic aspects of Ruby. The advanced global type inference used by the Crystal compiler, combined with [[union type]]s, gives it more the feel of a higher-level scripting language than many other comparable programming languages. It has automated garbage collection and offers a [[Boehm garbage collector|Boehm collector]]. Crystal possesses a macro system and supports generics as well as method and operator overloading. Its concurrency model is inspired by [[communicating sequential processes]] (CSP) and implements lightweight fibers and channels (for interfiber communication), inspired by [[Go (programming language)|Go]].<ref name = "go multithread">{{cite web | url=https://forum.crystal-lang.org/t/crystal-multithreading-support/6622/19 | title=Crystal multithreading support | date=23 February 2024 }}</ref>
 
== Examples ==
Line 114 ⟶ 113:
puts value # => 2
</syntaxhighlight>
 
== Adoption ==
 
In 2020, it was reported that the infotainment units in vehicles produced by [[Nikola Corporation]] were written in Crystal.<ref>{{cite web |last1=Pettinati |first1=Martin |title=Nikola Motor Company: Crystal powered dashboards on the trucks of the future {{!}} Manas.Tech |url=https://manas.tech/blog/2020/02/11/nikola-motor-company/ |website=Manas Technology Solutions |language=en |date=11 February 2020}}</ref> Much of the backend of the [[Kagi (search engine)|Kagi search engine]] is written with Crystal.<ref>{{cite web |title=Zac Nowicki – Tales from Kagi {{!}} CrystalConf 2023 |url=https://www.youtube.com/watch?v=r7t9xPajjTM |date=13 November 2023}}</ref>
 
== Further reading ==
Line 202 ⟶ 205:
<ref name="why_crystal">
{{cite web
| url = httphttps://motion-expressadlerhsieh.com/blogp/why-use-crystal-lang
| title = Why Crystal programming language?
| last = Hsieh
| first = Adler
| date = September 20, 2015
| website = motion-expressadlerhsieh.com
}}
</ref>