Flow9 پروگرامنگ زبان اوپن سورس

ایریا 9 کمپنی کھلا فنکشنل پروگرامنگ لینگویج سورس کوڈز Flow9، صارف انٹرفیس بنانے پر توجہ مرکوز کی۔ Flow9 زبان میں کوڈ کو Linux، iOS، Android، Windows اور macOS کے لیے قابل عمل فائلوں میں مرتب کیا جا سکتا ہے، اور HTML5/JavaScript (WebAssembly) میں ویب ایپلیکیشنز یا Java, D, Lisp, ML اور C++ میں ماخذ متن میں ترجمہ کیا جا سکتا ہے۔ کمپائلر کوڈ کھلا ہوا ہے GPLv2 کے تحت لائسنس یافتہ ہے اور معیاری لائبریری MIT لائسنس کے تحت لائسنس یافتہ ہے۔

زبان 2010 سے Adobe Flash کے ایک عالمگیر اور کثیر پلیٹ فارم متبادل کے طور پر ترقی کر رہی ہے۔ Flow9 کو جدید گرافیکل انٹرفیس بنانے کے پلیٹ فارم کے طور پر رکھا گیا ہے جو ویب اور ڈیسک ٹاپ اور موبائل ایپلیکیشنز دونوں کے لیے استعمال کیا جا سکتا ہے۔ یہ پروجیکٹ بہت سے اندرونی Area9 پروجیکٹس میں استعمال ہوتا ہے اور اسے اصل میں Flow کہا جاتا تھا، لیکن کوڈ کو کھولنے سے پہلے اسے Flow9 کا نام دینے کا فیصلہ کیا گیا تاکہ شماریاتی تجزیہ کار میں مداخلت سے بچا جا سکے۔ روانی فیس بک سے

Flow9 C زبان کی طرح ایک مانوس نحو کو جوڑتا ہے (دیکھیں۔ موازنہ Flow9 اور JavaScript میں کوڈ)، اس انداز میں فنکشنل پروگرامنگ ٹولز کے ساتھ ML и مواقع ڈومین کے لیے مخصوص زبانیں مخصوص مسائل کو زیادہ سے زیادہ مؤثر طریقے سے حل کرنے پر مرکوز ہیں (Flow9 کے لیے یہ انٹرفیس کی ترقی ہے)۔ Flow9 کو سخت ٹائپنگ استعمال کرنے کے لیے ڈیزائن کیا گیا ہے، لیکن اگر ضروری ہو تو، خودکار قسم کا پتہ لگانے کے ساتھ ساتھ ڈائنامک ٹائپنگ کا استعمال بھی ممکن ہے۔ لنکس. پولیمورفزم کو سپورٹ کیا جاتا ہے (ایک فنکشن مختلف اقسام کے ڈیٹا پر کارروائی کر سکتا ہے)، ذیلی قسمیں، ماڈیولز، اری، ہیشز، لیمبڈا ایکسپریشنز بنانے کی صلاحیت۔

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

فنکشنل پروگرامنگ تکنیک کے استعمال کی بدولت تحریری کوڈ اور انٹرفیس کے اجزاء دوسرے پروجیکٹس سے آسانی سے لیے جا سکتے ہیں۔ زبان بہت کمپیکٹ ہے اور اس میں صرف 25 کلیدی الفاظ شامل ہیں، اور گرامر کی تفصیل تبصروں کے ساتھ 255 لائنوں میں فٹ بیٹھتی ہے۔ Flow9 پر ایک جیسی فعالیت کو نافذ کرنے کے لیے، HTML+CSS+JavaScript، C#، Swift یا Java کے مقابلے 2-4 گنا کم کوڈ درکار ہے۔ مثال کے طور پر، اگر ٹیسٹ کی درخواست کے لیے Tic-Tac-Toe from قیادت React کے لیے React/JavaScript/HTML/CSS میں کوڈ کی 200 لائنیں لکھیں، Flow9 کے لیے ہم اسے 83 لائنوں میں کرنے میں کامیاب ہوئے۔ مزید یہ کہ اس ایپلی کیشن کو نہ صرف براؤزر میں لانچ کیا جا سکتا ہے بلکہ اسے iOS اور Android کے لیے موبائل ایپلی کیشنز کی شکل میں بھی مرتب کیا جا سکتا ہے۔

پلیٹ فارم میں مرکزی فلو سی کمپائلر شامل ہے، جو Flow9 میں لکھا گیا ہے اور کمپائلیشن سرور کے طور پر کام کرنے کے قابل ہے۔ بہاؤ حوالہ مرتب کرنے والا (لکھا ہوا دستک); جی ڈی بی پروٹوکول سپورٹ کے ساتھ ڈیبگر؛ میموری تجزیہ کار اور کوڑا اٹھانے والے ڈیبگر کے ساتھ پروفائلنگ سسٹم؛ x86_64 سسٹمز کے لیے JIT کمپائلر؛ ARM اور دوسرے پلیٹ فارمز کے لیے ترجمان؛ C++ اور جاوا میں انتخابی تالیف کے لیے ٹولز جو کوڈ کے سب سے زیادہ کارکردگی کے لحاظ سے اہم حصوں میں سے ہیں۔ کوڈ ایڈیٹرز کے ساتھ انضمام کے لیے پلگ انز بصری کوڈ، سبلائم ٹیکسٹ، کیٹ اور ایماکس؛ تجزیہ کار جنریٹر (پت).

ماخذ: opennet.ru

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