পাইথন প্রােগ্রামিং ল্যাংগুয়েজের ইতিহাস।

 


পাইথন প্রােগ্রামিং ল্যাংগুয়েজের ইতিহাস :পাইথন একটি হাই লেভেল, আবজেক্ট অরিয়েন্টেড, জেনারেল পারপাজ, ইন্টারপ্রিটেড, ইন্টারেকটিভ, সহজবােধ্য, উদ্দেশ্য কেন্দ্রিক ও উচ্চমানের প্রােগ্রামিং ল্যাংগুয়েজ। পাইথনে স্ট্রাকচার্ড প্রােগ্রামিং, অবজেক্ট ওরিয়েন্টেড প্রােগ্রামিং ও ফাংশনাল প্রােগ্রামিং করা যায়। 'Monty Python Flying Circus' নামের একটি টিভি শাে'র নামানুসারে এর নামকরণ করা হয়; 'পাইথন' সাপের নাম অনুসারে নয়। এর সাের্স কোড এর অন্তর্ভুক্ত। পাইথনের কোর সিনট্যাক্স ও সিমান্টিক্স খুবই সংক্ষিপ্ত এবং এর স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ। পাইথন ল্যাংগুয়েজটিকে এমনভাবে তৈরি করা হয়েছে যাতে সহজে বুঝা যায় এটি অন্যান্য প্রােগ্রামিং ল্যাংগুয়েজ-এর মতাে যতি চিহ্ন (কমা, ব্র্যাকেট ইত্যাদি) নির্ভর নয়, বরং কিছু ইংরেজি কী-ওয়ার্ড ব্যবহার করে ল্যাংগুয়েজটি তৈরি করা হয়েছে এবং এর শব্দবিন্যাসও তুলনামূলক সহজ। এটি একটি পুরােপুরি ডাইনামিক প্রােগ্রামিং ল্যাংগুয়েজ অর্থাৎ পাইথনে প্রতিটি ভেরিয়েবলের জন্য আলাদা আলাদা ডাটা টাইপ ডিক্লেয়ার করতে হয় না। যেখানে সি, সি++, জাভা’র মতাে ল্যাংগুয়েজগুলাে ও স্ট্যাটিক। পাইথনের স্বনিয়ন্ত্রিত মেমরি ব্যবস্থাপনা রয়েছে। পাইথনের ইতিহাস আমস্টারডাম নেদারল্যান্ড-এর কর্তৃক ধস প্রােগ্রামিং ল্যাংগুয়েজ এর ইতিহাসের সঙ্গে সম্পৃক্ত। ১৯৮০ সালে সর্বপ্রথম পাইথনকে Conceptualized করা হয়েছিল।


পাইন এর উদ্ভাবক, ঐ সময়ে তে অ্যামিবা নামক একটি ডিস্ট্রিবিউটেড অপারেটিং সিস্টেম নিয়েকরছিলেন।জাব হয়েছে, যা এক্সেপশন হ্যান্ডলিং করতে এবং অ্যামিবা অপারেটিং সিস্টেমের সাথে কাজ করতে সক্ষম ছিল। তবে এর বৈশিষ্ট্য সি, সি++, মডুলা-৩, অ্যালগল-৬৮, স্মলটক, ইউনিক্স শেলসহ অন্যান্য ক্রিপ্টিং ল্যাংগুয়েজ থেকেও নেয়া হয়েছে।৯০ দশকের শেষের দিকে Guido Van Rossum তার খুব পছন্দের ৭০ দশকের একটি ব্রিটিশ টিভি শাে 'Monty Pytho Circus' এর নামানুসারে পাইথনের নামকরণ করেন। Guido Van Rossum-ই পাইথনের প্রধান লেখক এবং বর্তমানে পাইনের উন্নয়নে তিনিই প্রধানতম নেতৃত্ব দিচ্ছেন। তাকে পাইথনের আজীবন পরিচালক হিসেবেও সম্মান দেয়া হয়েছে। ১৯৯১ সালে Guido Van Rossum পাইথনের কোড প্রকাশ করেন।

পাইথন ডিজাইনের এই ভার্সনে মডুলা- ২ থেকে ধার করা বৈশিষ্ট্যসমূহ যেমন- ক্লাস, ইনহেরিটেন্স, এক্সেপশন হ্যান্ডলিং, ফাংশন ও প্রধান ডাটা টাইপ l ইত্যাদি সংযুক্ত হয়। ১৯৯৪ সালে পাইথনের প্রধান ফোরাম গঠিত হয় এবং পাইথনের ব্যবহারকারীদের জন্য তা মাইলফলক হিসেবে চিহ্নিত হয়। ১৯৯৪ সালের জানুয়ারিতে পাইথনের ১০ সংস্করণ প্রকাশিত হয়। এই সংস্করণে lambda, map, filter এবং মতাে ফাংশনাল প্রােগ্রামিং টুলসমূহ যুক্ত হয় । সিডব্লিউআই থেকে প্রকাশিত সর্বশেষ সংস্করণ হচ্ছে পাইথন ১.২। ১৯৯৫ সালে VanRossum ভার্জিনিয়ার কর্পোরেশন ফর ন্যাশনাল রিসার্চ ইনিশিয়েটিভস (সিএনআরআই) প্রতিষ্ঠানে যােগদান করেন এবং এখান থেকেই পাইথনের বেশ কয়েকটি সংস্করণ বের করেন। ১.৪ সংস্করণে এতে Keyword argument এর মতাে কিছু নতুন বৈশিষ্ট্য যােগ করা হয়, যাতে তথ্য লুকানাের জন্য বিশেষ ব্যবস্থা ছিল। সিএনআরআই-তে থাকাকালীন সময়েই Van Rossum কম্পিউটার প্রােগ্রামিং ফর এভরিবডি (সিপি৪ই) উদ্যোগ গ্রহণ করেন, যাতে আরাে অনেক মানুষ কম্পিউটার প্রােগ্রামিং এর সুবিধা গ্রহণ এবং অল্প মৌলিক প্রােগ্রামিং জ্ঞানের (ইংরেজি ও গণিতের জন্য সাধারণ যে জ্ঞান থাকা প্রয়ােজন) মাধ্যমে ছছাটোখাটো সমস্যা সমাধান করতে পারে। সিএনআরআই থেকে পাইথনের সর্বশেষ সংস্করণ হলাে পাইথন ১.৬। ২০০০ সালে পাইথনের মূল উন্নয়নকারী দল বিওপেন.কম এর সাথে যুক্ত হয়ে যৌথভাবে বিওপেন পাইথনল্যাবস গঠন করেন। বিওপেন.কম থেকে প্রকাশিত প্রথম ও একমাত্র পাইথন ডিস্ট্রিবিউশন হলাে পাইথন ২.০। পাইথন ২.০ প্রকাশিত হওয়ার পর Van Rossum ও অন্যান্য পাইথনল্যাবস কর্মীরা ডিজিটাল ক্রিয়েশন্স-এ যােগ দেন। পাইথন ২.০ সংস্করণের অনেক বৈশিষ্ট্যই হ্যাস্কেল (Haskell) নামক ফাংশনভিত্তিক প্রােগ্রামিং ল্যাংগুয়েজ থেকে নেয়া। হ্যাঙ্কেলের লিস্ট ও পাইথনের লিস্টের মধ্যে ও অনেক মিল রয়েছে। তাছাড়া পাইথন ২.০ সংস্করণে গারবেজ কালেকশন বৈশিষ্ট্যটি ও যুক্ত করা হয়েছে যা নিয়মিতভাবে মেমরি পরিষ্কার করতে সক্ষম। পাইথন ২.১ তৈরি করা হয়েছে পাইথন ১.৬.১ ও পাইথন ২.০ এর উপর ভিত্তি করে। এর লাইসেন্সের নাম পরিবর্তন করে রাখা হয় পাইথন সফটওয়্যার ফাউন্ডেশন লাইসেন্স। পাইথন ২.১ এর প্রকাশের পর এর সমস্ত কোড, ডকুমেন্টেশন ও স্পেসিফিকেশন পাইথন সফটওয়্যার ফাউন্ডেশন (পিএসএফ) এর অধীনে চলে আসে। ২০০১ সালে অলাভজনক প্রতিষ্ঠান হিসেবে পিএসএফ গঠন করা হয়। ২.১ ভার্সনে স্কিম নামের একটি প্রােগ্রামিং ল্যাংগুয়েজের বৈশিষ্ট্য স্ট্যাটিক স্কোপিং যুক্ত করা হয়। পাইথন ২.২ এর একটি প্রধান উদ্ভাবন হচ্ছে পাইথনের বিভিন্ন টাইপ (সি-তে লেখা টাইপসমূহ) ও ক্লাসকে (পাইথনে লেখা টাইপসমূহ) একই গঠনের আওতায় নিয়ে আসা। এর ফলে পাইথনের অবজেক্ট মডেল অনেক স্থিতিশীল ও প্রকৃত অবজেক্ট। অরিয়েনটেড হয়েছে। এতে আরও যুক্ত করা হয়েছে জেনারেটর যেটি আইকন নামে একটি ভাষায় প্রথম ব্যবহৃত হয়েছে। পাইথনের স্ট্যান্ডার্ড লাইব্রেরি ও সিনট্যাক্টিক্যাল ব্যবহার জাভা থেকে নেয়া হয়েছে। কোনাে কোনাে বৈশিষ্ট্য প্যাকেজ, যা যুক্ত হয়েছে ২.৩ ভার্সনে, স্যাক্স পার্সার যা ২.০ সংস্করণে যুক্ত হয়েছে এবং ডেকোরেটর সিনট্যাক্স, @ ব্যবহার করে এবং ২.৪ সংস্করণে যুক্ত হয়েছে। এভাবেই পরবর্তীতে পর্যায়ক্রমে পাইথনের বিভিন্ন ভার্সনের আবির্ভাব ঘটে, যার সর্বশেষ সংস্করণ

বর্তমানে বিভিন্ন ধরনের হাই লেভেল প্রােগ্রামিং ল্যাংগুয়েজ যেমন- বেসিক, সি, সি++, জাভা, ওরাকল, কোবল, ফরট্রান,অ্যাড়া, লিসপ ইত্যাদির প্রচলন রয়েছে এবং প্রতিনিয়তই নিত্যনতুন নানা প্রােগ্রামিং ল্যাংগুয়েজও তৈরি হচ্ছে। তবে তাদের মধ্যে খুব কম ভাষাই প্রােগ্রামারদের কাছে জনপ্রিয় হতে পেরেছে। এর জনক Guido Van Rossum। ১৯৮৯ সালের ডিসেম্বর মাসে বড়দিনের ছুটিতে তিনি পাইথন তৈরি করা শুরু করেন এবং ১৯৯১ সালে এটি প্রথম পাবলিশ করা হয়। পাইথনের দুটি ভার্সন (2.x,3.x) রয়েছে। এই দুটি ভার্সনের মধ্যে সিনট্যাক্সের পার্থক্যও রয়েছে, তাই এই কোর্সটি অনুসরণ করার ক্ষেত্রে আমরা ৩.৬ ভার্সনটি ব্যবহার করেছি।ব্যবহার করলে কিছু কিছু জায়গায় এরর (Error) পাওয়া যাবে। ২০০৮ সালে পাইথন ৩.০ রিলিজ করা হয়। আর ২০১৬ সালে ৩.৬ রিলিজ করা হয়। ২০০০ সালে পাইথন, ২.০ সংস্করণ চালু হওয়ার পরে এটি বেশি জনপ্রিয় হয়ে ওঠে। বর্তমানে পাইথনের ২.৭ এবং ৩.৬ সংস্করণ দুটি চালু আছে। পাইথন ভাষার মুক্ত কমিউনিটিভিত্তিক উন্নয়ন মডেল রয়েছে, যার দায়িত্বে রয়েছে পাইথন সফটওয়্যার ফাউন্ডেশন নামের একটি অলাভজনক প্রতিষ্ঠান। এই ভাষাটির বিভিন্ন অংশের বিধিবদ্ধ বৈশিষ্ট্য ও আদর্শ থাকলেও পুরাে ভাষাটিকে এখনাে সম্পূর্ণ বিধিবদ্ধ করা হয় নি। তবে কার্যত সি পাইথন ভাষাটির আদর্শ বাস্তবায়িত রূপ।

Post a Comment

0 Comments