Red (programming language)
ریڈ ایک پروگرامنگ زبان ہے جو پروگرامنگ زبان ریبول کی حدود پر قابو پانے کے لیے بنائی گئی ہے۔ ریڈ کو 2011 میں نیناد راکوسیویچ نے متعارف کرایا تھا، اور یہ ایک لازمی اور فعال پروگرامنگ زبان دونوں ہے۔ اس کا نحو اور عام استعمال تشریح شدہ ربول زبان سے متصادم ہے۔ ریڈ کے نفاذ کے انتخاب ایک مکمل اسٹیک پروگرامنگ زبان بنانے کا ارادہ رکھتے ہیں: ریڈ کو انتہائی اعلی سطحی پروگرامنگ (ڈی ایس ایل اور جی یو آئی) کے ساتھ ساتھ نچلے درجے کے پروگرامنگ (آپریٹنگ سسٹم اور ڈیوائس ڈرائیوروں) کے لیے استعمال کیا جا سکتا ہے۔ اس نقطہ نظر کی کلید یہ ہے کہ زبان کے دو حصے ہیں: سرخ/نظام اور سرخ۔ ریڈ/سسٹم سی سے ملتا جلتا ہے، لیکن مثال کے طور پر ریبول لیکسیکل ڈھانچے میں پیک کیا گیا ہے، اس کے بجائے کوئی لکھ سکتا ہے۔ سرخ ایک ہم جنس پرست زبان ہے جو ریبول جیسی الفاظ کے ساتھ میٹا پروگرامنگ کی صلاحیت رکھتی ہے۔ ریڈ کی رن ٹائم لائبریری ریڈ/سسٹم میں لکھی گئی ہے، اور ایک ہائبرڈ نقطہ نظر کا استعمال کرتی ہے: یہ اس چیز کو مرتب کرتی ہے جو وہ مستحکم طور پر نکال سکتی ہے اور بصورت دیگر ایک سرایت شدہ مترجم کا استعمال کرتی ہے۔ پروجیکٹ روڈ میپ میں درمیان کے معاملات کے لیے صرف وقت پر مرتب کرنے والا شامل ہے، لیکن ابھی تک اس پر عمل درآمد نہیں کیا گیا ہے۔ ریڈ کسی بھی دوسرے ٹول چین سے آزاد رہنے کی کوشش کرتا ہے۔ یہ اپنا کوڈ جنریشن کرتا ہے۔ اس لیے ریڈ پروگراموں کو کسی بھی پلیٹ فارم سے کراس کمپائل کرنا ممکن ہے جو کمانڈ لائن سوئچ کے ذریعے کسی دوسرے پلیٹ فارم کو سپورٹ کرتا ہے۔ ریڈ اور ریڈ/سسٹم دونوں کو ترمیم شدہ بی ایس ڈی لائسنس کے تحت اوپن سورس سافٹ ویئر کے طور پر تقسیم کیا گیا ہے۔ رن ٹائم لائبریری کو زیادہ اجازت یافتہ بوسٹ سافٹ ویئر لائسنس کے تحت تقسیم کیا جاتا ہے۔ ورژن 0.6.4 کے مطابق ریڈ میں کچرا جمع کرنے والا "سادہ جی سی" شامل ہے۔ تعارف ریڈ کو نیدرلینڈز میں فروری 2011 میں ریبول اینڈ بورون کانفرنس میں اس کے مصنف نیناد راکوسیویچ نے متعارف کرایا تھا۔ ستمبر 2011 میں، ریڈ پروگرامنگ زبان کو سافٹ ویئر فریڈم ڈے 2011 کے دوران بڑے سامعین کے سامنے پیش کیا گیا۔ راکوسیویچ ایک طویل عرصے سے ریبول ڈویلپر ہے جسے چینی ایچ ٹی ٹی پی سرور کے تخلیق کار کے طور پر جانا جاتا ہے۔ خصوصیات ریڈ کا نحو اور الفاظ ربول کے بہت قریب ہیں۔ ریبول کی طرح، یہ میٹا پروگرامنگ اور ڈومین مخصوص زبانوں (ڈی ایس ایل) کی مضبوطی سے حمایت کرتا ہے اور اس وجہ سے بول چال (سرایت شدہ ڈی ایس ایل بنانے) کے لیے ایک انتہائی موثر ٹول ہے۔ سرخ میں ریڈ/سسٹم نامی ایک بولی شامل ہے، جو ایک سی سطح کی زبان ہے جو سسٹم پروگرامنگ کی سہولیات فراہم کرتی ہے۔ ریڈ کو دوسرے ٹولز اور زبانوں کے ساتھ ڈی ایل ایل (لب ریڈ) کے طور پر ضم کرنا آسان ہے اور بہت ہلکا پھلکا (تقریبا 1 ایم بی) ہے۔ یہ مختلف پلیٹ فارمز پر کراس کمپائل کرنے کے قابل بھی ہے (نیچے کراس کمپلیشن سیکشن دیکھیں) اور ان پلیٹ فارمز کے لیے پیکیجز بنا سکتا ہے جن کی انہیں ضرورت ہوتی ہے (مثال کے طور پر، اینڈرائیڈ پر اے پی کے)۔ ریڈ میں ایک مکمل رد عمل والا کراس پلیٹ فارم جی یو آئی سسٹم بھی شامل ہے جو ایک بنیادی رد عمل والے ڈیٹا فلو انجن پر مبنی ہے، ایس وی جی سے موازنہ کرنے والی 2 ڈی ڈرائنگ بولی، کمپائل ٹائم اور رن ٹائم میکرو سپورٹ، اور 40 سے زیادہ معیاری ڈیٹا ٹائپ شامل ہیں۔ سافٹ ویئر کے یوم آزادی 2011 کے موقع پر پیش کردہ ریڈ کے اہداف کی فہرست درج ذیل ہے: سادگی ("کوڈ لکھنے کے لیے آئی ڈی ای ضروری نہیں ہونا چاہیے")۔ کمپیکٹنیس ("انتہائی اظہار کرنے والا ہونا پیداواری صلاحیت کو زیادہ سے زیادہ کرتا ہے۔") رفتار ("اگر بہت سست ہے، تو یہ کافی عام مقصد نہیں ہو سکتا۔") "سبز" بنیں، قدموں کا ایک چھوٹا سا نشان رکھیں ("کیونکہ وسائل لامحدود نہیں ہیں")۔ ہر جگہ ("ہر جگہ پھیلنا") پورٹیبلٹی، ہر جگہ ایک بار لکھیں ("پروگرامنگ زبان سے اس کی سب سے کم توقع کی جاتی ہے۔") لچک ("بہترین نہیں لیکن کسی بھی کام کے لیے موزوں ہے!") ڈویلپمنٹ ریڈ کی ترقی کو دو مراحل میں کرنے کا منصوبہ بنایا گیا ہے: ابتدائی مرحلہ: ریڈ اور ریڈ/سسٹم مرتب جو ریبول 2 بوٹسٹریپ مرحلے میں لکھے گئے ہیں: ریڈ اور ریڈ/سسٹم مرتب جو ریڈ جے آئی ٹی-مرتب سے مکمل ہوتے ہیں، یہ سب ریڈ کراس تالیف میں لکھے گئے ہیں، ریڈ فی الحال مندرجہ ذیل کراس تالیف کے اہداف کی حمایت کرتا ہے: ایم ایس-ڈاس: ونڈوز، x86، کنسول (اور جی یو آئی) ایپلی کیشنز ونڈوز: ونڈوز، x86، جی یو آئی ایپلی کیشنز لینکس، x86 لینکس-اے آر ایم: لینکس، اے آر ایم وی 5، آرمیل (سافٹ فلوٹ) راسبیری پائی: لینکس، اے آر ایم وی 5، آرم ایچ ایف (ہارڈ فلوٹ) فری بی ایس ڈی: x86 ڈارون: او ایس ہیلو ورلڈ! سرخ [عنوان: "سادہ ہیلو ورلڈ اسکرپٹ"] پرنٹ کریں "ہیلو ورلڈ!" فیکٹوریل مثال اہم: ان کا مقصد نحو کی مثالوں کے طور پر ہے۔ جب تک ریڈ میں 64 بٹ سپورٹ نہیں ہے، انٹیجر کی مثال 32 بٹ انٹیجر کو بہت تیزی سے اوور فلو کر دے گی۔ اسے 'فلوٹ!' میں تبدیل کرنا مزید آگے جائے گا، لیکن یہ صرف زبان کے نحو کو ظاہر کرنے کے لیے ہیں۔ درج ذیل سرخ میں ایک فیکٹوریئل مثال ہے: سرخ [عنوان: "ایک فیکٹوریئل اسکرپٹ"] ؛ نوٹ: عنوان اختیاری ہے۔ فیکٹوریئل: فنک [x [عدد!] ؛ ریڈ میں دلیل کی قسم دینا اختیاری ہے] [یا تو x = 0 [1] [x * فیکٹوریئل x-1] ریڈ/سسٹم میں درج ذیل ایک ہی فیکٹوریئل مثال ہے (اس بہت ہی آسان صورت میں، سورس کوڈ ریڈ کے ورژن سے بہت ملتا جلتا ہے): ریڈ/سسٹم [عنوان: "ایک فیکٹوریئل اسکرپٹ"] فیکٹوریئل: فنک [x [عدد!] یہ ریڈ/سسٹم ریٹرن میں لازمی ہے: [انٹیجر!] ؛ یہ ریڈ/سسٹم میں لازمی ہے] [یا تو x = 0 [1] [x * فیکٹوریل x-1]] ریبول حوالہ جات بھی دیکھیں گٹ ہب پر ریڈ پروگرامنگ زبان بیرونی روابط Redprogramming.com پروگرامنگ زبانیں سسٹمز پروگرامنگ زبانیں توسیعی نحو پروگرامنگ زبانیں ڈومین مخصوص پروگرامنگ زبانیں اعلی سطحی پروگرامنگ زبانیں ہوموکونک پروگرامنگ زبانیں طریقہ کار پروگرامنگ زبانیں فنکشنل زبانیں کراس پلیٹ فارم فری سافٹ ویئر کراس پلیٹ فارم سافٹ ویئر فری مرتب اور مترجم سافٹ ویئر 2011 سافٹ ویئر میں بنائے گئے بوسٹ لائسنس پروگرامنگ زبانوں کا استعمال کرتے ہوئے بی ایس ڈی لائسنس سافٹ ویئر کا استعمال کرتے ہوئے سافٹ ویئر