Erlang কী এবং এর ইতিহাস
Erlang একটি ফাংশনাল প্রোগ্রামিং ভাষা যা বিশেষভাবে concurrent, distributed, এবং fault-tolerant সিস্টেম তৈরি করার জন্য ডিজাইন করা হয়েছে। এটি মূলত Ericsson নামক একটি সুইডিশ টেলিকমিউনিকেশন কোম্পানি দ্বারা তৈরি করা হয়েছিল, এবং এর উদ্দেশ্য ছিল টেলিকমিউনিকেশন সিস্টেমের জন্য একটি কার্যকরী এবং নির্ভরযোগ্য প্রোগ্রামিং ভাষা তৈরি করা।
Erlang কী?
Erlang একটি concurrent প্রোগ্রামিং ভাষা, যা অনেক প্রসেস বা কাজ একসাথে চালানোর জন্য ডিজাইন করা হয়েছে। এতে lightweight processes ব্যবহৃত হয়, যা একে অপরের থেকে বিচ্ছিন্ন এবং খুব কম রিসোর্স ব্যবহার করে। Message passing মডেল ব্যবহার করে এই প্রসেসগুলোর মধ্যে যোগাযোগ করা হয়। Erlang এর একটি অন্যতম বৈশিষ্ট্য হলো এটি fault-tolerant (ত্রুটি সহিষ্ণু) সিস্টেম তৈরি করতে সক্ষম। যদি এক বা একাধিক প্রসেস ত্রুটিপূর্ণ হয়, তবে অন্যান্য প্রসেসগুলো প্রভাবিত না হয়ে চলতে থাকে।
Erlang ডিস্ট্রিবিউটেড সিস্টেম তৈরি করার জন্যও খুবই উপযুক্ত। এটি একাধিক সিস্টেমের মধ্যে কাজ করতে সক্ষম এবং একাধিক নোডের মধ্যে ডেটা স্থানান্তর করতে পারে। এর আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য হল hot code upgrades, যেখানে সিস্টেম চলমান অবস্থায় কোড আপগ্রেড করা যায়, ফলে সিস্টেমের ডাউনটাইমের প্রয়োজন পড়ে না।
Erlang এর ইতিহাস
Erlang এর ইতিহাস 1980 সালের দিকে শুরু হয়েছিল, যখন Ericsson এর প্রকৌশলীরা তাদের টেলিকমিউনিকেশন সিস্টেমের জন্য একটি নতুন প্রোগ্রামিং ভাষা তৈরির প্রয়োজন অনুভব করেন। টেলিকমিউনিকেশন সিস্টেমের মধ্যে প্রচুর পরিমাণে প্রসেস একসাথে কাজ করে, এবং এর মধ্যে উচ্চ স্তরের concurrency এবং fault tolerance নিশ্চিত করা অত্যন্ত গুরুত্বপূর্ণ।
Erlang এর প্রথম সংস্করণটি তৈরি করেছিলেন Joe Armstrong, Robert Virding, এবং Mike Williams। তারা 1980-এর দশকের শুরুতে Erlang ভাষার প্রথম রূপ তৈরি করেন। তাদের লক্ষ্য ছিল একটি এমন ভাষা তৈরি করা যা telecommunications switching systems এর জন্য উপযোগী হবে। এর ফলস্বরূপ, Erlang ভাষা প্রথমে AXD 301 নামক একটি স্যুইচিং সিস্টেমের জন্য তৈরি হয়েছিল, যা Ericsson এর পণ্য ছিল।
Erlang এর মূল উদ্দেশ্য ছিল এমন একটি সিস্টেম তৈরি করা, যা high availability, fault tolerance, এবং scalability নিশ্চিত করবে, কারণ টেলিকমিউনিকেশন সিস্টেমে এসব গুণের প্রয়োজন ছিল।
Erlang এর প্রথম সংস্করণ (1986)
1986 সালে Erlang প্রথম Ericsson এর AXD 301 স্যুইচিং সিস্টেমে ব্যবহৃত হয়। তখন Erlang এর প্রচলন টেলিকমিউনিকেশন ক্ষেত্রে ব্যাপকভাবে শুরু হয়। ভাষাটি উন্নত হতে থাকে এবং 1990-এর দশকে এটি Ericsson এর অন্যান্য সিস্টেমেও ব্যবহার হতে থাকে।
মুক্ত সফটওয়্যার হিসেবে প্রকাশ (1998)
1998 সালে Erlang মুক্ত সফটওয়্যার হিসেবে মুক্তি পায়, এবং এর পর এটি Erlang/OTP (Open Telecom Platform) নামে একটি সফটওয়্যার পরিবেশে রূপান্তরিত হয়। Erlang/OTP অনেক শক্তিশালী লাইব্রেরি এবং টুলস সরবরাহ করে যা ডিস্ট্রিবিউটেড সিস্টেম তৈরিতে সহায়ক।
আধুনিক যুগে Erlang
বর্তমানে, Erlang শুধু telecommunications সিস্টেমেই নয়, অন্যান্য অনেক ক্ষেত্রে ব্যবহৃত হচ্ছে, যেমন cloud computing, banking systems, messaging systems, IoT (Internet of Things), এবং real-time applications-এও। এটি একটি জনপ্রিয় ভাষা হয়ে উঠেছে বিশেষত সেগুলোর জন্য, যেখানে fault tolerance, scalability, এবং high availability প্রয়োজন। Erlang এর ভিত্তিতে অনেক শক্তিশালী সফটওয়্যার তৈরি হয়েছে, যেমন Riak (একটি NoSQL ডাটাবেস), WhatsApp (মেসেজিং সিস্টেম), এবং RabbitMQ (মেসেজ কিউ)।
উপসংহার
Erlang একটি অত্যন্ত শক্তিশালী এবং নির্ভরযোগ্য প্রোগ্রামিং ভাষা যা বিশেষভাবে concurrency, fault tolerance, এবং distributed systems তৈরির জন্য ডিজাইন করা হয়েছে। এর ইতিহাস 1980 সালের দিকে Ericsson-এ শুরু হলেও আজ এটি পৃথিবীজুড়ে বিভিন্ন শিল্পে ব্যবহৃত হচ্ছে। Erlang এর একাধিক গুণ যেমন high availability, distributed computing এবং fault tolerance এর জন্য এটি আজও অত্যন্ত গুরুত্বপূর্ণ এবং জনপ্রিয়।
Read more