چرا باید کریستال را یاد بگیرید؟
آیا تا به حال نام این زبان شگفت انگیز به نام کریستال را شنیده اید؟ خوب، بیایید کمی در مورد همه چیزهایی که این زبان برنامه نویسی شگفت انگیز ارائه می دهد درک کنیم.
هدف از این مقاله کوتاه این است که کمی در مورد کریستال و اینکه چرا ممکن است علاقه مند به توسعه استفاده از آن باشید صحبت کنیم.
کریستال چیست؟
کریستال به عنوان یک زبان برنامه نویسی چند پارادایم، برای انسان و کامپیوتر، طراحی و توسعه یافته توسط آری بورنزوایگ، خوان واینرمن، برایان کاردیف، علاوه بر بیش از 480 مشارکت کننده تا به امروز، با نحو الهام گرفته از زبان روبی، برای به کارگیری مفاهیم برجسته بود. همزمانی و استفاده عمومی به روش “متمایز”، با استفاده از بررسی نوع استاتیک از طریق یک الگوریتم استنتاج جهانی. در حال حاضر در حال توسعه فعال، تحت مجوز Apache 2.0.
تاریخ
با شروع اولین آثار در سال 2011 با هدف ادغام بهره وری و ظرافت روبی با سرعت، کارایی و امنیت یک زبان کامپایل شده، به اصطلاح Joy ظاهر می شود که بعدها به کریستال تغییر نام داد.
اولین کامپایلر آن به زبان روبی نوشته شد، اما در کریستال بازنویسی شد و از نوامبر 2013 میزبانی خود را امکان پذیر کرد و اولین نسخه آن در ژوئن 2014 منتشر شد و علاوه بر پیوستن به فهرست TIOBE در جولای 2016. اولین نسخه پایدار آن در مارس 2021 ظاهر شد. نسخه معروف 1.0!
چرا کریستال کارآمدتر است؟
ساده، کریستال کدهای بومی را با استفاده از LLVM، بدون احتساب جنبه های پویا روبی، کامپایل می کند. این استنتاج نوع جهانی پیشرفته ای است که در کامپایلر اعمال می شود، همراه با انواع اتحادیه، بیش از بسیاری از زبان های برنامه نویسی دیگر که قابل مقایسه هستند، حس زبان برنامه نویسی سطح بالاتر را ایجاد می کند.
علاوه بر این، کریستال دارای یک سیستم ماکرو است و از روش و اپراتور اضافه بار پشتیبانی می کند. مدل همزمانی آن از ارتباطات فرآیند متوالی (CSP) الهام گرفته شده است که رشتههای سبزی به نام فیبر و سایر مفاهیم الهام گرفته از زبان برنامهنویسی Go را پیادهسازی میکند. نکته مهم دیگر جمعآوری خودکار زباله است که جمعآوری بوهم را ارائه میکند.
روش نصب؟
نصب برای هر سیستم عامل مورد استفاده متفاوت است! میتوانید با جستجوی بسته نامگذاری شده، نصب را از طریق مدیر بسته پیشفرض خود امتحان کنید crystal
یا راهنمای نصب رسمی را دنبال کنید!
اگر از ویندوز استفاده می کنید، می توانید از طریق WSL نصب کنید یا نسخه آزمایشی نصب کننده رسمی ویندوز را امتحان کنید!
خرده ریز
Shards نام مدیر وابستگی در زبان برنامه نویسی کریستال است که به طور پیش فرض از آن استفاده می کند shard.yml
فایل برای تعریف تنظیمات پروژه
name: shards
version: 0.1.0
dependencies:
openssl:
github: datanoise/openssl.cr
branch: master
development_dependencies:
minitest:
git: https://github.com/ysbaddaden/minitest.cr.git
version: ~> 0.3.1
license: MIT
با کلیک بر روی اینجا می توانید مخزن رسمی را مشاهده کنید.
کد
با استفاده از .cr
پسوند فایل به صورت پیشفرض، بیایید یک مثال عملی ایجاد کنیم که اساس یک “Hello World” ساده، یک سرور HTTP و یک مدل همزمان را نشان میدهد!
سلام دنیا!
p "Hello World!"
# or
puts "Hello World!"
سرور HTTP
require "http/server"
server = HTTP::Server.new do |context|
context.response.content_type = "text/plain"
context.response.print "Hello, got #{context.request.path}!"
end
puts "Listening on http://127.0.0.1:8080"
server.listen(8080)
اکنون فقط به صفحه محلی با پورت “8080” برای تست دسترسی داشته باشید!
مدل همزمانی
channel = Channel(Int32).new
total_lines = 0
files = Dir.glob("*.txt")
files.each do |f|
spawn of
lines = File.read_lines(f)
channel.send lines.size
end
end
files.size.times do
total_lines += channel.receive
end
puts total_lines
کجا می توانم بیشتر در مورد کریستال ببینم؟
می توانید اسناد رسمی را بخوانید، پروفایل زبان رسمی را در GitHub دنبال کنید و حتی راهنمای شخصی من را به زبان پرتغالی مطالعه کنید تا با کریستال شروع کنید: Crystal4noobs معروف!