Crystal
A language for humans and computers
Balkan Ruby 2018
1
2
3
Serdar Doğruyol
a.k.a
Sedo
4
@sdogruyol
5
6
7
Crystal Team Member
8
Kemal Author
9
10
ポリグロット
11
Crystal
12
13
A language for humans and
computers
14
Why?
15
(sorry for the poor quality, the image was created by a Ruby program)
Ruby is dead
16
https://rubyisdead.science/
Why so serious? (for real)
17
● We love Ruby's efficiency for writing code.
● We love C's efficiency for running code.
● We want the best of both worlds.
● We want the compiler to understand what we mean without having to
specify types everywhere.
● We want full OOP.
● Oh, and we don't want to write C code to make the code run faster.
18
How?
19
Ruby + LLVM
20
“All our dreams can come true, if we
have the courage to pursue them.”
Walt Disney
21
6 Years ago!
22
23
1 year later…
First release! Written in Ruby
24
25
Nov 2013
Self-hosted!
26
27
Fast forward 2 years!
28
April 2015
Today
29
● 250+ contributors
● 10000+ stars on Github
● 2500+ packages
● $2000+ monthly donations received
● Tremendous growth
● Finally a core developer working full-time
● Biggest release (0.25.0) is coming next week
30
Features
31
Human Friendly
32
33
34
Strong Type System
35
36
37
Union Types
38
39
Method Overloading
40
41
42
Null reference checks
43
NoMethodError: undefined method
`+' for nil:NilClass
44
45
46
Macros
47
48
Open Classes
49
50
Simple and powerful concurrency
51
CSP
Communicating Sequential
Processes
52
53
Native Code
54
55
56
C bindings
57
58
Testing
59
60
shards
61
62
http://crystalshards.xyz/
63
Awesomeness++
64
crystal play
65
crystal tool format
66
“Double Quotes ROCK!”
67
includes?
68
No Global Variables
69
Does anyone actually use Crystal
in production?
70
71
Performance
72
73
74
The result
75
Deliverance
76
Resources
77
crystal-lang.org/docs
78
crystalforrubyists.com
79
gitter: crystal-lang/crystal
80
kemalcr.com
Stickers
81
82
THANKS!
83
@sdogruyol

Crystal: A Language for Humans and Computers