کرسٹل پروگرامنگ زبان کی ریلیز 1.2

کرسٹل 1.2 پروگرامنگ لینگویج کی ریلیز شائع ہو چکی ہے، جس کے ڈویلپرز روبی لینگویج میں ترقی کی سہولت کو سی لینگویج کی اعلیٰ ایپلی کیشن کارکردگی کی خصوصیت کے ساتھ جوڑنے کی کوشش کر رہے ہیں۔ کرسٹل کا نحو روبی کے قریب ہے، لیکن مکمل طور پر مطابقت نہیں رکھتا، حالانکہ روبی کے کچھ پروگرام بغیر کسی ترمیم کے چلتے ہیں۔ کمپائلر کوڈ کرسٹل میں لکھا گیا ہے اور اپاچی 2.0 لائسنس کے تحت تقسیم کیا گیا ہے۔

زبان جامد قسم کی جانچ کا استعمال کرتی ہے، کوڈ میں متغیرات اور طریقہ کار کے دلائل کو واضح طور پر بیان کرنے کی ضرورت کے بغیر لاگو کیا جاتا ہے۔ کرسٹل پروگراموں کو قابل عمل فائلوں میں مرتب کیا جاتا ہے، جس میں میکروز کا جائزہ لیا جاتا ہے اور مرتب وقت پر کوڈ تیار کیا جاتا ہے۔ کرسٹل پروگراموں میں، C میں لکھی گئی بائنڈنگز کو جوڑنا ممکن ہے۔ کوڈ پر عمل درآمد کا متوازی عمل "سپون" کلیدی لفظ کا استعمال کرتے ہوئے کیا جاتا ہے، جو آپ کو ایک بیک گراؤنڈ ٹاسک کو متضاد طور پر چلانے کی اجازت دیتا ہے، مرکزی دھاگے کو بلاک کیے بغیر، ہلکے وزن کے دھاگوں کی شکل میں جسے فائبر کہتے ہیں۔

معیاری لائبریری عام افعال کا ایک بڑا مجموعہ فراہم کرتی ہے، بشمول CSV، YAML، اور JSON کی پروسیسنگ کے لیے ٹولز، HTTP سرورز بنانے کے لیے اجزاء، اور WebSocket سپورٹ۔ ترقی کے عمل کے دوران، "کرسٹل پلے" کمانڈ کا استعمال کرنا آسان ہے، جو کرسٹل زبان میں کوڈ کے انٹرایکٹو عمل کے لیے ایک ویب انٹرفیس (لوکل ہوسٹ: 8080 بذریعہ ڈیفالٹ) تیار کرتا ہے۔

اہم تبدیلیاں:

  • پیرنٹ کلاس کے ایک عنصر میں عام کلاس کے ذیلی طبقے کو تفویض کرنے کی صلاحیت کو شامل کیا۔ کلاس Foo(T)؛ اختتامی کلاس بار(T) < Foo(T)؛ اختتام x = Foo x = بار
  • میکرو اب ایک انڈر سکور کا استعمال کر سکتے ہیں a for loop میں کسی قدر کو نظر انداز کرنے کے لیے۔ {% برائے _, v, i میں {1 => 2, 3 => 4, 5 => 6} %} p {{v + i}} {% end %}
  • میکروز میں "file_exists؟" طریقہ شامل کیا گیا۔ فائل کی موجودگی کو چیک کرنے کے لیے۔
  • معیاری لائبریری اب 128 بٹ انٹیجرز کو سپورٹ کرتی ہے۔
  • BitArray اور Deque جیسے مجموعوں کے لیے ایڈوانس آپریشنز کے نفاذ کے ساتھ Indexable::Mutable(T) ماڈیول شامل کیا گیا۔ ba = BitArray.new(10) # ba = BitArray[0000000000] ba[0] = true # ba = BitArray[1000000000] ba.rotate!(-1) # ba = BitArray[0100000000]
  • XML سے مخصوص نام کی جگہ نکالنے کے لیے XML::Node#namespace_definition کا طریقہ شامل کیا گیا۔
  • IO#write_utf8 اور URI.encode طریقوں کو فرسودہ کر دیا گیا ہے اور اسے IO#write_string اور URI.encode_path سے تبدیل کیا جانا چاہیے۔
  • 32-bit x86 فن تعمیر کے لیے سپورٹ کو دوسرے درجے پر منتقل کر دیا گیا ہے (ریڈی میڈ پیکجز اب تیار نہیں ہوتے)۔ ARM64 فن تعمیر کے لیے تعاون کے پہلے درجے پر منتقلی تیار کی جا رہی ہے۔
  • ونڈوز پلیٹ فارم کے لیے مکمل تعاون کو یقینی بنانے کے لیے کام جاری ہے۔ ونڈوز ساکٹ کے لیے سپورٹ شامل کر دی گئی۔
  • میکوس کے لیے ایک یونیورسل پیکج شامل کیا گیا ہے، جو x86 پروسیسرز والے آلات اور Apple M1 چپ والے آلات پر کام کرتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں