گو پروگرامنگ لینگویج کی ریلیز 1.13

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

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

اس پروجیکٹ کو ابتدائی طور پر ملٹی تھریڈڈ پروگرامنگ اور ملٹی کور سسٹمز پر موثر آپریشن پر نظر رکھتے ہوئے تیار کیا گیا ہے، جس میں متوازی کمپیوٹنگ کو منظم کرنے اور متوازی عمل شدہ طریقوں کے درمیان تعامل کے لیے آپریٹر کی سطح کے ذرائع فراہم کرنا شامل ہے۔ زبان زیادہ مختص میموری بلاکس کے خلاف بلٹ ان تحفظ بھی فراہم کرتی ہے اور کوڑا اٹھانے والے کو استعمال کرنے کی صلاحیت فراہم کرتی ہے۔

اہم بدعاتGo 1.13 ریلیز میں متعارف کرایا گیا:

  • crypto/tls پیکیج میں پروٹوکول سپورٹ بذریعہ ڈیفالٹ فعال ہے۔ TLS 1.3. ایڈ25519 ڈیجیٹل دستخطوں کے لیے سپورٹ کے ساتھ نیا پیکج "crypto/ed25519" شامل کیا گیا۔
  • بائنری نمبرز (مثلاً 0b101)، اوکٹل (0o377)، خیالی (2.71828i) اور ہیکساڈیسیمل فلوٹنگ پوائنٹ (0x1p-1021) کی وضاحت کرنے کے لیے نئے عددی لغوی سابقے کے لیے معاونت شامل کی گئی ہے، اور ہندسوں کو بصری طور پر الگ کرنے کے لیے "_" حرف استعمال کرنے کی صلاحیت بڑی تعداد میں (1_000_000)؛
  • شفٹ آپریشنز میں صرف غیر دستخط شدہ کاؤنٹرز کے استعمال پر پابندی ہٹا دی گئی ہے، جو "‹‹" اور "››" آپریٹرز کو استعمال کرنے سے پہلے uint قسم میں غیر ضروری تبدیلیوں سے گریز کرتی ہے۔
  • Illumos پلیٹ فارم (GOOS=illumos) کے لیے شامل کردہ تعاون۔ اینڈرائیڈ 10 پلیٹ فارم کے ساتھ مطابقت کو یقینی بنایا گیا ہے۔ FreeBSD (11.2) اور macOS (10.11 "El Capitan") کے کم از کم ورژن کے تقاضوں میں اضافہ کیا گیا ہے۔
  • نئے ماڈیول سسٹم کی مسلسل ترقی، جسے GOPATH کے متبادل کے طور پر استعمال کیا جا سکتا ہے۔ Go 1.13 میں پہلے اعلان کردہ منصوبوں کے برعکس، یہ سسٹم ڈیفالٹ طور پر فعال نہیں ہوتا ہے اور اسے GO111MODULE=on متغیر کے ذریعے چالو کرنے کی ضرورت ہوتی ہے یا اس سیاق و سباق کے استعمال کی ضرورت ہوتی ہے جس میں ماڈیول خود بخود لاگو ہوتے ہیں۔ نئے ماڈیول سسٹم میں انٹیگریٹڈ ورژننگ سپورٹ، پیکج ڈیلیوری کی صلاحیتیں، اور انحصار کا بہتر انتظام شامل ہے۔ ماڈیولز کے ساتھ، ڈویلپرز اب GOPATH کے درخت کے اندر کام کرنے سے منسلک نہیں ہیں، واضح طور پر ورژن شدہ انحصار کی وضاحت کر سکتے ہیں، اور دوبارہ قابل تعمیر تعمیرات بنا سکتے ہیں۔

    پچھلی ریلیز کے برعکس، نئے سسٹم کی خودکار ایپلی کیشن اب اس وقت کام کرتی ہے جب go.mod فائل موجودہ ورکنگ ڈائرکٹری یا پیرنٹ ڈائرکٹری میں موجود ہو جب go کمانڈ چلا رہے ہوں، بشمول جب یہ GOPATH/src ڈائرکٹری میں ہو۔ نئے ماحول کے متغیرات کو شامل کیا گیا ہے: GOPRIVATE، جو عوامی طور پر قابل رسائی ماڈیولز کے راستوں کی وضاحت کرتا ہے، اور GOSUMDB، جو go.sum فائل میں درج نہیں ماڈیولز کے لیے چیکسم ڈیٹا بیس تک رسائی کے پیرامیٹرز کی وضاحت کرتا ہے۔

  • "گو" کمانڈ بذریعہ ڈیفالٹ ماڈیول لوڈ کرتی ہے اور گوگل (proxy.golang.org، sum.golang.org اور index.golang.org) کے زیر انتظام ماڈیول مرر اور چیکسم ڈیٹا بیس کا استعمال کرتے ہوئے ان کی سالمیت کی جانچ کرتی ہے۔
  • صرف بائنری پیکجوں کے لیے سپورٹ بند کر دیا گیا ہے؛ "//go:binary-only-package" موڈ میں ایک پیکج بنانے سے اب ایک خرابی نکلتی ہے۔
  • "go get" کمانڈ میں "@patch" لاحقہ کے لیے سپورٹ شامل کیا گیا، جس سے یہ ظاہر ہوتا ہے کہ ماڈیول کو تازہ ترین مینٹیننس ریلیز میں اپ ڈیٹ کیا جانا چاہیے، لیکن موجودہ بڑے یا معمولی ورژن کو تبدیل کیے بغیر؛
  • ورژن کنٹرول سسٹمز سے ماڈیولز کو بازیافت کرتے وقت، "گو" کمانڈ اب ورژن سٹرنگ پر ایک اضافی چیک کرتا ہے، مخزن سے میٹا ڈیٹا کے ساتھ سیوڈو ورژن نمبروں کو ملانے کی کوشش کرتا ہے۔
  • سپورٹ شامل کر دی گئی۔ غلطی کا معائنہ (غلطی ریپنگ) ریپرز کی تخلیق کے ذریعے جو معیاری ایرر ہینڈلرز کے استعمال کی اجازت دیتے ہیں۔ مثال کے طور پر، ایک غلطی "e" کو ایک طریقہ فراہم کرکے غلطی "w" کے گرد لپیٹ دیا جا سکتا ہے۔ غیر لپیٹناواپس آ رہا ہے "w" پروگرام میں "e" اور "w" دونوں غلطیاں دستیاب ہیں اور "w" غلطی کی بنیاد پر فیصلے کیے جاتے ہیں، لیکن "e" "w" کو اضافی سیاق و سباق فراہم کرتا ہے یا اس کی مختلف تشریح کرتا ہے۔
  • رن ٹائم اجزاء کی کارکردگی کو بہتر بنایا گیا ہے (30٪ تک کی رفتار میں اضافہ نوٹ کیا گیا ہے) اور آپریٹنگ سسٹم میں میموری کی زیادہ جارحانہ واپسی کو لاگو کیا گیا ہے (پہلے، میموری پانچ یا اس سے زیادہ منٹ کے بعد واپس آتی تھی، لیکن اب فوری طور پر ڈھیر کے سائز کو کم کرنے کے بعد)۔

ماخذ: opennet.ru

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