حين نتحدث عن لغات البرمجة، فإن الصورة النمطية التي تكون عند عامة الناس أنها لغات تتحدث بها مع آلة الكمبيوتر لبرمجتها، وتكون غالبا صعبة، غريبة، ومليئة بالرموز الغير مفهومة وهي موجّهة لمهوسي الكمبيوتر فقط. في الواقع جزء من هذا الكلام صحيح، لكن ليس كله، فما إن تفهم اللغات البرمجية وتفهم المنطق المستعمل فيها، فإنها ستصبح أسهل وأمتع ويمكن لأي شخص أن يستعملها للتواصل مع آلة الكمبيوتر وبرمجتها. طبعا كل كلامي السابق يخص لغات البرمجة العادية. أما اللغات البرمجية التي سأستعرضها في هذا المقال، فهي مصممة لتكون لغات برمجية صعبة الاستعمال وصعبة التعلم، غريبةً، استثنائية، مثيرة للضحك في بعض الأحيان، وحتما مقتصرة على فئة قليلة من الناس.
1 ArnoldC
IT’S SHOWTIME
TALK TO THE HAND “hello world”
YOU HAVE BEEN TERMINATED
2 Taxi
فمثلا المتغيرات والدوال في باقي لغات البرمجة أُستبدلت بأماكن ومدن في لغة Taxi، كما أنه مطلوب منك كمبرمج إعطاء تعليمات حول الاتجاهات، أماكن الالتقاط وأماكن النزول. وبما أن سيارة الأجرة تحتاج إلى الوقود لتواصل سيرها، فإن الركاب يدفعون ثمن رحلاتهم وبالتالي يمكن التزود بالوقود في المحطات الخاصة به، وطبعا هذا كله يحدث افتراضيا خلال البرمجة بلغة Taxi. وهذا مثال يوضح كيفية كتابة برنامج “Hello World” بلغة Taxi:
“Hello, World!” is waiting at the Writer’s Depot.
Go to Writer’s Depot: west 1st left, 2nd right, 1st left, 2nd left.
Pickup a passenger going to the Post Office.
Go to the Post Office: north 1st right, 2nd right, 1st left.
Go to the Taxi Garage: north 1st right, 1st left, 1st right.
3 LOLCODE
HAI 1.2
CAN HAS STDIO?
VISIBLE “HAI WORLD!”
KTHXBYE
4 Brainf*ck
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>—.+++++++..+++.>>.<-.<.+++.——.——–.>>+.>++.
إذا لم تفهم شيئا مما تراه وأحسست بصداع في رأسك محاولا قراءة الكود وفهمه، فها أنت ذا تعلم لماذا تسمى لغة البرمجة هذه بـ Brainf*ck.
5 Shakespeare
The Infamous Hello World Program.
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.
Act I: Hamlet’s insults and flattery.
Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted coward!
You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind!
You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer’s day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind!
You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind.
Speak your mind!
[Exit Romeo]
ختاما، كانت هذه خمس أمثلة عن ما يعرف بلغات البرمجة الباطنية -esolang- والتي يتم إنشاءها لتكون بعيدة كل البعد عن لغات البرمجة العادية، فهي تصمّم لتكون غريبة وخارجة عن المألوف تماما. طبعا هنالك عدة أمثلة ولغات برمجية أخرى من هذا النوع المتميز بالغرابة، لكن حاليا اكتفينا فقط بذكر خمس أمثلة.