برنامه نویسی

چرا باید کریستال را یاد بگیرید؟

آیا تا به حال نام این زبان شگفت انگیز به نام کریستال را شنیده اید؟ خوب، بیایید کمی در مورد همه چیزهایی که این زبان برنامه نویسی شگفت انگیز ارائه می دهد درک کنیم.

هدف از این مقاله کوتاه این است که کمی در مورد کریستال و اینکه چرا ممکن است علاقه مند به توسعه استفاده از آن باشید صحبت کنیم.

کریستال چیست؟

کریستال به عنوان یک زبان برنامه نویسی چند پارادایم، برای انسان و کامپیوتر، طراحی و توسعه یافته توسط آری بورنزوایگ، خوان واینرمن، برایان کاردیف، علاوه بر بیش از 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 معروف!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا