Crystal

Crystal Meetup #01

05.12.2015

Serdar Doğruyol

Lead Developer - Protel

  • Ruby Türkiye, Crystal Türkiye Organizatörü
  • Açık kaynak geliştiricisi
  • Dil meraklısı

@sdogruyol

Nedir

Ruby kadar kolay, C kadar hızlı, verimlilik ve sadelik üzerine odaklanmış, açık kaynak kodlu derlenen bir programlama dilidir.

Yeni Nesil Diller

  • Rust
  • Go
  • Swift
  • Nim
  • D

Neden

  • Tamamen Object Oriented
  • Ruby benzeri syntax 
  • İfade gücü yüksek
  • C kadar performanslı ve az kaynak tüketen
  • LLVM sayesinde native code üretimi
  • Dinamik bir dil gibi tip belirtmeden değişken tanımlayabilme
  • Compile-time değerlendirme ile kod oluşturma ile gereksiz kodu azaltma

Performans

Benchmark

Crystal: 64549

JRuby: 27441

Ruby: 9662

Garbage Collector

Self Hosted

MINASWAN

みなさん

Matz is nice so we are nice

Kod Zamanı!

Hello World

puts "Hello World"

Çalıştıralım

crystal hello.cr

Kodu derleyip çalıştırır hızlı geliştirme için uygundur.

crystal build --release hello.cr
./hello

Önce kodu derledik. --release en yüksek seviye LLVM optimizasyonu yaparak kodu derler. Sonrasında native binary çalıştırdık

HTTP Server

# A very basic HTTP server

require "http/server"

server = HTTP::Server.new(8080) do |request|
  HTTP::Response.ok "text/plain", "Hello world, got #{request.path}!"
end

puts "Listening on http://0.0.0.0:8080"
server.listen

http://crystal-lang.org/docs

Sorular?

Teşekkürler

@sdogruyol

https://slides.com/sdogruyol/crystal

Crystal

By Serdar Dogruyol