Higher order message
کمپیوٹر پروگرامنگ زبان میں ہائیر آرڈر میسج (HOM) ہائیر آرڈر پروگرامنگ کی ایک شکل ہے جو ایسے پیغامات کی اجازت دیتی ہے جن میں دوسرے پیغامات ہوتے ہیں۔ یہ تصور میک ہیک 2003 میں مارسل ویہر نے متعارف کرایا تھا اور 2005 میں مارسل ویہر اور سٹیفن ڈوکیس نے اسے مزید مکمل شکل میں پیش کیا تھا۔ لوپس کو لوپ کیے گئے مجموعوں کے نام بتائے بغیر لکھا جا سکتا ہے، اعلی آرڈر کے پیغامات کو پوائنٹ فری یا ٹیسیٹ پروگرامنگ کی شکل کے طور پر دیکھا جا سکتا ہے۔ مثال کے طور پر عام سمال ٹاک کوڈ میں، ایچ او ایم کا استعمال کیے بغیر، 1000 تنخواہ والے ملازمین کا مجموعہ درج ذیل کوڈ کے ساتھ حاصل کیا جائے گا: تنخواہ دار: = ملازمین منتخب کریں: [: ہر ایک کے پاس تنخواہ: 1000] تاہم، ایچ او ایم کا استعمال کرتے ہوئے، اس کا اظہار اس طرح کیا جا سکتا ہے: تنخواہ دار: = ملازمین منتخب کرتے ہیں تنخواہ: 1000 ہے۔ یہاں، سلیکٹ ایک اعلی آرڈر کا پیغام ہے، اور ہے سیلری: سمجھا جاتا ہے کہ اسے منتخب پیغام پر ہی کال کیا جاتا ہے، بجائے اس کے کہ اس کے نتیجے پر۔ اس خصوصیت کو نافذ کرنے کے لیے سمال ٹاک زبان میں ترمیم نہیں کی گئی تھی۔ اس کے بجائے، سلیکٹ ایک پیغام واپس کرتا ہے جو سلیکٹ کو بھیجتا ہے، جو پھر ہےسالیری: میسج کی تشریح کرتا ہے۔ ایک اور مثال کروکیٹ پروجیکٹ میں مستقبل کے پیغامات کا استعمال ہے: (کیوب فیوچر: 1000) ایڈروٹیشن اراؤنڈ وائی: 10۔ اس مثال میں، مستقبل: پیغام ایڈروٹیشن اراؤنڈی کا سبب بنتا ہے: پیغام 1 سیکنڈ کے بعد کیوب آبجیکٹ کو بھیجا جاتا ہے۔ اپنانا آبجیکٹیو-سی میں حوالہ کا نفاذ اس خاصیت کا فائدہ اٹھاتا ہے کہ آبجیکٹیو-سی میں، وہ اشیاء جو انہیں بھیجے گئے پیغام کو نہیں سمجھتیں، پھر بھی اسے ایک خاص ہک طریقہ سے پہنچاتی ہیں، جسے فارورڈ کہا جاتا ہے: ہائیر آرڈر میسجنگ کو متعدد زبانوں میں نافذ کیا گیا تھا جو اس خصوصیت کا اشتراک کرتی ہیں بشمول روبی اور سمال ٹاک۔ ای سی ایم اے اسکرپٹ ہارمنی کے پراکسیز دستاویزات میں خاص طور پر اعلی آرڈر کے پیغامات کا ذکر ان کے کیچل پراکسیز کے لیے ایک ایپلی کیشن کے طور پر کیا گیا ہے۔ دوسری زبانوں میں اسی طرح کے تصورات پروگرامنگ زبان J فعل اور فعل کے درمیان فرق کرتی ہے۔ فعل فعل کے کام کاج کو تبدیل کرتے ہیں۔ یہ اعلی درجے کے پیغامات (فعل) کی طرح ہے جو (فعل) کے بعد آنے والے پیغامات میں ترمیم کرتے ہیں۔ اوپر کروکیٹ کی مثال میں، ایڈ روٹیشن اراؤنڈ وائی:۔ پیغام اب بھی بھیجا جاتا ہے اور اس کا معمول کا مطلب ہوتا ہے، لیکن اس کی ترسیل میں مستقبل کی طرف سے ترمیم کی جاتی ہے: 1000 پیغام، یہ مستقبل میں کسی وقت بھیجا جائے گا۔ حوالہ جات پروگرامنگ کے نمونے