কম্পিউটার প্রোগ্রামিং এর কিছু দুর্বোধ্য ভাষা নিয়ে মজার কিছু তথ্য

0
570

অনেকদিন পরে টিউন করতেছি। কেমন আছেন সবাই?

যদি আমি এই মুহুর্তে বলি একটা প্রোগ্রামিং ভাষার নাম বলতে,আপনি নিশ্চই আগ্রহে উন্মুখ হয়ে ‘C’, ‘C++’, ‘Java’, ‘Visual Basic’ বা এধরনের কোন প্রোগ্রামিং ভাষার নাম বলবেন? আমি যদি তখন বলি ‘না, হলো না। একেবারে বেড়াছেড়া ধরনের দুর্বোধ্য কোনো প্রোগ্রামিং ভাষার নাম বলতে হবে!’ তখন? হ্যাঁ, আজ এই বিষয়টা নিয়েই আলোচনা করা যাক্‌। উপরে যেই প্রোগ্রামিং ভাষাগুলোর নামোল্লেখ করা হয়েছে সেগুলো মূলত: খুবই পরিচিত এবং সহজবোধ্য ভাষা!  কেননা সেগুলো প্রচলিত ইংরেজী ভাষায়ই তৈরী। তাই একজন শিক্ষার্থীর পক্ষে এধরনের কোন ভাষায় পারদর্শী হতে খুব একটা বেগ পেতে হয়না। কিন্তু প্রচলিত এই ভাষাগুলোর পাশাপাশি অপ্রচলিত কিছু ভাষা আছে যাদেরকে ইংরেজীতে বলে ‘Esoteric programming language’। এই খিটমিটে ইংরেজী শব্দগুলোর
সাদামাটা বাংলা অর্থ করলে দাঁড়াবে ‘গুপ্ত বা ব্যক্তিগত প্রোগ্রামিং ভাষা’। এখন প্রশ্ন হলো, এই ধরনের প্রোগ্রামিং ভাষার প্রয়োজনীয়তাটা কি? একভাবে দেখলে বলতে হবে, আসলে এর কোন প্রয়োজনীয়তা নেই। এটা উর্বর মস্তিষ্কের কিছু মানুষদের ‘ফাজলামো’। কিন্তু, ব্যাপারটাকে এভাবেও বলা যায়, যে খুবই মেধাবী কিছু মানব মস্তিষ্কের ‘খাদ্য’ হলো এই প্রোগ্রামিং ভাষা। কেননা এ ধরনের প্রোগ্রামিং ভাষার বেশিরভাগই বিভিন্ন ধরনের সাংকেতিক চিহ্ন ব্যবহার করে থাকে। এবং এই ভাষাগুলোর গঠনতন্ত্রের একটি উল্লেখযোগ্য দিক হলো, এগুলো প্রচলিত প্রোগ্রামিং ভাষার পরিচিত বৈশিষ্ট্যগুলোকে পরিহার করে থাকে। যদিও একটি প্রোগ্রামিং ভাষার মুল কাজ, অর্থাৎ গননা করার কাজটি এটি বেশ ভালোই পারে। এতোক্ষণ সহজ সহজ কথা বললাম এখন কঠিন কঠিন কথা বলা শুরু করবো!

Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

কম্পিউটারের অন্যান্য ভাষাগুলোর মতোই কিন্তু এস্টোরিক্ ভাষাগুলোও Turing-complete. এর অর্থ হলো, এটি যে কোন ধরনের গণনা সংক্রান্ত কাজ, তা যতো জটিল-ই হোক, করতে সক্ষম। আরও সুনির্দিষ্টভাবে বললে বলতে হবে, এতে অসীম সংখ্যক ইনপুট দেয়া হলে, এটিও অসীম সংখ্যক আউটপুট দেবে; কিন্তু সেটা সে করবে নির্দিষ্ট সংখ্যক কিছু পদক্ষেপের পুনরাবৃত্তির মাধ্যমে! মুলত, বিখ্যাত বৃটিশ কম্পিউটার বিজ্ঞানী এ্যালান টিউরিঙ’র নামানুসারেই এর এরকম নামকরণ করা হয়েছে। এ্যালান টিউরিঙ-ই সর্ব প্রথম ব্যক্তি যিনি প্রস্তাব করেন যে, এমন একটি মেশিন বানানো সম্ভব যা অসীম সংখ্যক সামঞ্জস্যহীন ইনপুটকে গ্রহণ করে একটি অর্থপুর্ণ আউনপুট দেবে।

যাহোক, এস্টোরিক ভাষায় ফিরে আসি। একেবারে প্রথমদিককার এস্টোরিক ভাষাগুলোর নাম বললে, প্রথমেই আসবে INTERCAL’র কথা। ১৯৭২ সালে খ্যাতনামা প্রিন্সটন বিশ্ববিদ্যালয়ের দুজন ছাত্র জেমস. এম. লাইঅন এবং ডন উডস্ , স্রেফ মজা করার জন্যই তৈরী করেছিলেন এই প্রোগ্রামিং ভাষা। তখনকার INTERCAL’র ম্যানুয়ালই তার প্রমান। সেখানে একটি সাবধান বাণী আছে এরকম, ‘সাবধান! শুধুমাত্র বিভ্রান্তিকর অবস্থা ছাড়া, আর কোন অবস্থাতেই ‘মেশ'(পরিভাষা) এবং ‘ইন্টারলিভ’ (পরিভাষা) নিয়ে বিভ্রান্ত হওয়া যাবে না!’  এই হলো ইন্টারকল।

jimbo_lyon কম্পিউটার প্রোগ্রামিং এর কিছু দুর্বোধ্য ভাষা নিয়ে মজার কিছু তথ্য

চিত্র : ইন্টারকল’র অন্যতম রচয়িতা জেমস. এম. লাইঅন

এবারে ইন্টারকল প্রোগ্রামিং ভাষার কিছু জলজ্যান্ত উদাহরণ দেয়া যাক্‌। আমরা যদি C ভাষায় ‘Hello World!’ কথাটি লেখতে চাই তাহলে লেখাটি দাঁড়াবে এরকম:


#include <stdio.h>

int main(void)
{
printf(“Hello, world!n”);

    return 0;
}


এই লেখাটিই যদি আমরা ইন্টারকলে লিখি তাহলে লিখতে হবে:


DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #234
DO ,1 SUB #2 <- #112
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #214
PLEASE READ OUT ,1
PLEASE GIVE UP


জটিল অবস্থা, তাই না! ব্যাপারটাকে আরও একটু জটিল করা যাক্। বর্তমান কালের এ্যাস্টোরিক ভাষার মধ্যে সবচেয়ে জনপ্রিয় হলো ‘ব্রেইনফাক’। এটি ইন্টারকলের প্রায় বিশ বছর পর তৈরী হয়েছে। এবং শুধুমাত্র আটটি সংকেতিক চিহ্ন ব্যবহার করা হয়েছে এই ভাষায়। উপরে লেখাটিই যদি আমরা ব্রেইনফাক দিয়ে লিখতে যাই, তাহলে অবস্থা কেরোসিন হয়ে যাবে। নীচে তার নমুনা দেয়া হলো:


++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++.

.+++.>++.<<+++++++++++++++.>.+++.——.——–.>+.>.


কি কান্না পাচ্ছে? ভেবেছিলাম এ্যাস্টোরিক ভাষার বিভিন্ন ধরন যেমন Turing tarpit, Funges এগুলো নিয়েও লিখবো। কিন্তু মাথা নষ্ট করতে কে চায় বলুন! আজ তাহলে এখানেই থাক্। ভালো থাকুন। জটিল থাকুন। আর কখনও যদি মনে হয় জীবনটা রসকষহীন, তবে সঙ্গে সঙ্গে যেকোন একটি এস্টোরিক ভাষা শেখা শুরু করে দিন। দেখবেন, জীবনটা কতো সুন্দর!

সবার জন্য শুভ কামনা।

ছবি ও তথ্যসূত্র:

  1. Wikipedia
টিউনারপেজের নতুন টিউন আপনাকে ইমেইল করব?
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting
Unlimited Web Hosting

মন্তব্য দিন আপনার