پرل 7 نے اعلان کیا۔

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

ورژن نمبر میں ایک اہم تبدیلی پسماندہ مطابقت کی واضح خلاف ورزی کے بغیر پرل زبان کی فعالیت کو بڑھانے کے لیے نئے ماڈل میں منتقلی کے لیے ایک قسم کے جداکار کے طور پر کام کرے گی۔
پرل 7 کی ریلیز سے نئے ڈویلپرز کو پرل کی طرف راغب کرنے میں مدد ملے گی اور موجودہ پروجیکٹس کے کوڈ بیس کے ساتھ مطابقت برقرار رکھتے ہوئے زبان میں اہم نئی خصوصیات شامل کرنے کے عمل کو ہموار کرنے میں مدد ملے گی۔ نمبر 7 کا انتخاب اس لیے کیا گیا کہ پرل 6 کا استعمال اس زبان کو تیار کرنے کے لیے کیا گیا جو اب ہے۔ ترقی کر رہا ہے الگ نام راکو کے تحت۔ پرل 7 کی پہلی ریلیز اگلے سال متوقع ہے۔ پرل 5.32 برانچ پرل 5 سیریز میں آخری ہوگی اور اسے 5 سے 10 سال تک سپورٹ کرنے کا منصوبہ ہے۔

پرل 7 میں سب سے قابل ذکر تبدیلی "کا شامل ہونا ہے۔سخت"، جس کا مطلب متغیر اعلانات کی سخت جانچ، علامتی اشارے اور سب روٹین اسائنمنٹس کا استعمال ہے۔ "استعمال سخت" کا استعمال اچھی شکل ہے اور زیادہ تر ڈویلپرز استعمال کرتے ہیں۔ اسی طرح، بطور ڈیفالٹ وہ وارننگ پروسیسنگ کو فعال کرنے کا ارادہ رکھتے ہیں (“انتباہات کا استعمال کریں«)۔

پرل 7 بھی پہلے سے موجود تجرباتی خصوصیات جیسے کہ پہلے سے طے شدہ طور پر مستحکم اور فعال کرنے کی امید کرتا ہے۔ فنکشن کے دستخط ("خصوصیت 'دستخط' کا استعمال کریں")، جو کسی فنکشن کی وضاحت کرتے وقت، آنے والے دلائل کا تعین کرنے اور ان کے نمبر کو خود کار طریقے سے چیک کرنے کی اجازت دیتا ہے (آپ "sub foo" کے بجائے "sub foo ($left، $right) {" لکھ سکتے ہیں۔ my($left, $right) ) = @_;")۔ وہ یہ جانچنے کے لیے "isa" آپریٹر کے لیے بطور ڈیفالٹ سپورٹ شامل کرنے کا ارادہ رکھتے ہیں کہ آیا کوئی شے کسی مخصوص کلاس کی مثال ہے یا اس سے اخذ کردہ کلاس ("if($obj isa Package::Name)"، نیز پوسٹ فکس ڈیریفرنسنگ آپریشنز (postderef) "$sref->$*" کے بجائے "${ $sref }"، "$aref->@*" کی بجائے "@{ $aref }" اور "$href->%{ ... "%$href{ ... }" کی بجائے }"

پرل 7 میں بطور ڈیفالٹ غیر فعال ہونے کے دعویدار ہیں:

  • بالواسطہ آبجیکٹ کالنگ نوٹیشن ("کوئی خصوصیت qw (بالواسطہ)") آبجیکٹ کو کال کرنے کا ایک میراثی طریقہ ہے، جس میں "->" کے بجائے اسپیس کا استعمال کرتے ہوئے ("$object->$method(@param)" کی بجائے "طریقہ $object @param")۔ مثال کے طور پر، "my $cgi = new CGI" کے بجائے آپ ہمیشہ "my $cgi = CGI->new" استعمال کریں گے۔
  • بیئر فائل ڈسکرپٹرز بغیر متغیر اعلانات کے ("کوئی bareword::filehandle نہیں ہے۔") - "اوپن FH، $file" جیسی تعمیرات کا استعمال ایک خرابی کا باعث بنے گا، آپ کو "open my $fh, $file" استعمال کرنے کی ضرورت ہے۔ تبدیلی معیاری فائل ڈسکرپٹرز STDIN, STDOUT, STDERR, ARGV, ARGVOUT اور DATA کو متاثر نہیں کرے گی۔
  • پرل 4 طرز کی ڈمی کثیر جہتی صفوں اور ہیشز ("کوئی کثیر جہتی نہیں«)۔
    مثال کے طور پر، "$hash{1, 2}" کی وضاحت کرنے سے ایک خرابی پیدا ہو جائے گی؛ آپ کو ایک درمیانی صف استعمال کرنے کی ضرورت ہے، مثال کے طور پر "$hash{join($;, 1, 2)}"۔

  • پرل 4 اسٹائل میں پروٹو ٹائپ کا اعلان کرنا (آپ کو "استعمال : پروٹوٹائپ ()" استعمال کرنے کی ضرورت ہے)۔

زیادہ دور دراز کے منصوبوں میں، وہ یونیکوڈ سپورٹ کو بطور ڈیفالٹ فعال کرنے کی توقع رکھتے ہیں، جو ڈویلپرز کو کوڈ میں "utf8 استعمال کریں" کی وضاحت کرنے سے بچائے گا۔ ان ماڈیولز اور اسکرپٹس کے لیے جنہیں نئی ​​ڈیفالٹ سیٹنگز میں دشواری کا سامنا ہے، کوڈ میں لائن "us compat::perl5" کو شامل کرکے Perl 5 رویے پر واپس جانا ممکن ہے۔ انفرادی ترتیبات کو بھی محفوظ کیا جائے گا اور انفرادی طور پر تبدیل کیا جا سکتا ہے۔

ماخذ: opennet.ru

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