পাইথন (প্রোগ্রামিং ভাষা): সংশোধিত সংস্করণের মধ্যে পার্থক্য

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
Mufeed Talukder (আলোচনা | অবদান)
সম্পাদনা সারাংশ নেই
৪ নং লাইন:
| প্যারাডাইম = [[বহু-প্যারাডাইম প্রোগ্রামিং ভাষা|বহু-প্যারাডাইম]]
| বছর = ১৯৯১
| ডিজাইনার = [[গুইডো ভ্যান রোসামরস্যিউম]]
| ডেভেলপার = [[পাইথন সফটওয়্যার ফাউন্ডেশন]]
| অধুনা_প্রকাশিত_সংস্করণ = ২.৫
২৫ নং লাইন:
| ওয়েবসাইট = http://www.python.org/
}}
'''পাইথন''' (Python) একটি বস্তু-সংশ্লিষ্ট (object-oriented) [[উচ্চস্তরের প্রোগ্রামিং ভাষা]]। ১৯৯১ সালে গুইডো ভ্যান রোসামরস্যিউম এটি প্রথম প্রকাশ করেন।<ref name="svn-history">{{ cite web | title = HISTORY | url = http://svn.python.org/view/*checkout*/python/trunk/Misc/HISTORY | work = Python source distribution | publisher = Python Foundation | accessdate = 2007-03-21 }}</ref> পাইথন নির্মাণ করার সময় প্রোগ্রামের পঠনযোগ্যতার উপর বেশি গুরুত্ব দেয়া হয়েছে।<ref>{{ cite web | url = http://www.python.org/doc/essays/blurb/ | title = What is Python? Executive Summary | publisher = Python Foundation | work = Python documentation | accessdate = 2007-03-21 }}</ref> এখানে প্রোগ্রামারের পরিশ্রমকে কম্পিউটারের চেয়ে বেশি গুরুত্ব দেয়া হয়েছে। পাইথনের কোর [[সিনট্যাক্স (প্রোগ্রামিং)|সিনট্যাক্স]] ও [[সেমান্টিক্‌স (প্রোগ্রামিং)|সেমান্টিক্‌স]] খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ। পাইথন প্রোগ্রামারদের সমাজ থেকে [[পাইথন দর্শন]] এর সূচনা হয়েছে।
 
পাইথন একটি [[বহু-প্যারাডাইম প্রোগ্রামিং ভাষা]] ([[ফাংশন-ভিত্তিক প্রোগ্রামিং ভাষা|ফাংশন-ভিত্তিক]], [[বস্তু-সংশ্লিষ্ট প্রোগ্রামিং ভাষা|বস্তু-সংশ্লিষ্ট]] ও [[নির্দেশমূলক প্রোগ্রামিং ভাষা|নির্দেশমূলক]]) এবং এটি একটি পুরোপুরি [[চলমান প্রোগ্রামিং ভাষা]] যার স্বনিয়ন্ত্রিত মেমরি ব্যবস্থাপনা রয়েছে। এদিক থেকে এটি [[পার্ল]], [[রুবি (প্রোগ্রামিং ভাষা)|রুবি]] প্রভৃতি প্রোগ্রামিং ভাষার মত।
৩৬ নং লাইন:
== ইতিহাস ==
[[চিত্র:Guido van Rossum.jpg|thumb|upright|পাইথন এর উদ্ভাবক, [[গুইডো ভ্যান রস্যিউম]]]]
[[১৯৮০]] দশকের শেষের দিকে পাইথনের জন্ম দেন [[নেদারল্যান্ড|নেদারল্যান্ডের]] [[ন্যাশনাল রিসার্চ ইনস্টিটিউট ফর ম্যাথমেটিকস অ্যান্ড কম্পিউটার সায়েন্স|সিডব্লিউআই'র]] গবেষক [[গুইডো ভ্যান রস্যিউম]]।<ref name="venners-interview-pt-1">{{cite web|url = http://www.artima.com/intv/pythonP.html|title = The Making of Python|accessdate = 2007-03-22|publisher = Artima Developer}}</ref> মূলত [[এবিসি (প্রোগ্রামিং ভাষা)|এবিসি'র]] উত্তরসূরী হিসেবে পাইথনের আবির্ভাব হয়েছে যা এক্সেপশন হ্যান্ডলিং করতে এবং [[অ্যামিবা ডিস্ট্রিবিউটেড অপারেটিং সিস্টেম|অ্যামিবা অপারেটিং সিস্টেমের]] সাথে কাজ করতে সক্ষম ছিল।<ref name = "faq-created">{{ cite web | url = http://www.python.org/doc/faq/general/#why-was-python-created-in-the-first-place | title = Why was Python created in the first place? | publisher = Python FAQ | accessdate = 2007-03-22}}</ref> ভ্যান রোসামরস্যিউম পাইথনের প্রধান লেখক এবং বর্তমানে পাইথনের উন্নয়নে তিনিই প্রধানত নেতৃত্ব দিচ্ছেন। তাঁকে পাইথনের আজীবন পরিচালক হিসেবে সম্মান দেয়া হয়েছে।
 
১৯৯১ সালে ভ্যান রোসামরস্যিউম পাইথনের কোড প্রকাশ করেন (ভার্শন ০.৯.০)।<ref name="svn-history" /> পাইথন ডিজাইনের এই ধাপেই ক্লাস ইনহেরিটেন্স, এক্সেপশন হ্যান্ডলিং, ফাংশন, ও প্রধান ডাটা টাইপ <code>list</code>, <code>dict</code>, <code>str</code> প্রভৃতি সংযুক্ত ছিল। এই প্রাথমিক প্রকাশে ছিল ''মডুলা-৩'' থেকে ধার করা ''মডিউল সিস্টেম''; ভ্যান রোসাম এই মডিউলকে "পাইথনের মূল প্রোগ্রামিং ইউনিটের একটি" আখ্যায়িত করেছেন।<ref name="venners-interview-pt-1" /> পাইথনের এক্সেপশন মডেলটিও অনেকটা মডুলা-৩'র মত যাতে কেবল অতিরিক্ত <code>else</code> যুক্ত হয়েছে।<ref name = "faq-created" /> ১৯৯৪ সালে পাইথনের প্রধান ফোরাম [news://comp.lang.python comp.lang.python] গঠিত হয়, এবং পাইথনের ব্যবহারকারীদের জন্য তা মাইলফলক হিসেবে চিহ্নিত হয়।
 
১৯৯৪ সালের জানুয়ারি পাইথন ১.০ সংস্করনে প্রবেশ করে। এই সংস্করনে যে প্রধান বিষয়াদি যুক্ত হয় তা হলো ফাংশনাল প্রোগ্রামিং টুলস <code>[[ল্যাম্বডা ক্যালকুলাস|lambda]]</code>, <code>map</code>, <code>filter</code> ও <code>reduce</code>। ভ্যান রোসামরস্যিউম বলেন "পাইথন lambda, reduce(), filter() ও map() অধিকার করেছে, (আমি বিশ্বাস করি) একজন [[লিস্প (প্রোগ্রামিং ভাষা)|লিস্প]] হ্যাকারের কাছ থেকে যে নিজেকে এগুলো থেকে বঞ্চিত মনে করছিল এবং কর্মক্ষম প্যাচগুলো সরবরাহ করেছে।"<ref>{{cite web|url = http://www.artima.com/weblogs/viewpost.jsp?thread=98196|title = The fate of reduce() in Python 3000|author = Guido van Rossum|accessdate = 2007-03-22|publisher = Artima Developer}}</ref> এর প্রধান অবদানকারী ছিলেন অমৃত প্রেম; এবং এর প্রকাশ নোটে সে সময় কোন লিস্প প্রোগ্রামের উত্তরসূরী হওয়ার উল্লেখ করা হয়নি।
 
সিডব্লিউআই থেকে প্রকাশিত সর্বশেষ সংস্করন হচ্ছে পাইথন ১.২। ১৯৯৫ সালে ভ্যান রোসামরস্যিউম [[ভার্জিনিয়া|ভার্জিনিয়ার]] [[কর্পোরেশন ফর ন্যাশনাল রিসার্চ ইনিশিয়েটিভস]] (সিএনআরআই) প্রতিষ্ঠান থেকে পাইথনের ওপর তার কাজ চালিয়ে যেতে থাকেন এবং এখান থেকে সফটওয়ারটির কয়েকটি সংস্করন বের করেন।
 
১.৪ সংস্করনের মধ্যে পাইথনের কিছু নতুন বৈশিষ্ঠ্য যোগ করা হয়। এর মধ্যে উল্লেখযোগ্য হলো [[মডুলা-৩]] থেকে উদ্বুদ্ধ হয়ে গ্রহণ করা নতুন ''কিওয়ার্ড আর্গুমেন্ট'' (keyword argument) (যা [[কমন লিস্প]] এর কিওয়ার্ড আর্গুমেন্টের সাথে অনেকটা মেলে), এবং [[জটিল সংখ্যা|জটিল সংখ্যার]] জন্য অভ্যন্তরীন সমর্থন। এছাড়া তথ্য লুকানোর জন্যও একটি বিশেষ ব্যবস্থা ছিল, যদিও তা তেমন কঠিন কিছু ছিলনা।<ref>{{cite web|url=http://www.amk.ca/python/writing/12-14|title=LJ #37: Python 1.4 Update|accessdate=2007-04-29}}</ref>
 
সিএনআরআই তে থাকাকালীন ভ্যান রোসামরস্যিউম [[কম্পিউটার প্রোগ্রামিং ফর এভরিবডি]] (সিপি৪ই) উদ্যোগ গ্রহণ করেন, যাতে আরো অনেক মানুষ কম্পিউটার প্রোগ্রামিং এর সুবিধা গ্রহণ এবং অল্প মৌলিক প্রোগ্রামিং জ্ঞানের (ইংরেজি ও গণিতের জন্য সাধারণ যে জ্ঞান থাকা প্রয়োজন) মাধ্যমে ছোটখাট সমস্যা সমাধান করতে পারে। পাইথন এক্ষেত্রে কেন্দ্রীয় ভূমিকা পালন করেছে যার মূল কারণঃ এর পরিষ্কার সিনট্যাক্সের প্রতি মনোযোগ, এর ব্যবহার উপযোগিতা এবং সিপি৪ই এর লক্ষ্যের সাথে পাইথনের পূর্বসূরী এবিসির লক্ষ্যের মিল। এই প্রকল্পের অর্থায়ন করে [[:en:DARPA|DARPA]]।<ref>{{cite web|url = http://www.python.org/doc/essays/cp4e.html|author = Guido van Rossum|title = Computer Programming for Everybody|accessdate = 2007-03-22}}</ref> এই ২০০৭ সাল পর্যন্ত সিপি৪ই প্রকল্প নিস্ক্রিয় রয়েছে এবং অন্যদিকে পাইথন সাধারণ মানুষের জন্য সহজে শিখার মত প্রোগ্রামিং ভাষা তৈরির লক্ষ্য থেকে অনেকটাই দূরে সরে গেছে। এটা এখন আর পাইথনের জন্য সক্রিয় বিবেচ্য নয়।<ref>{{cite web|url = http://www.python.org/cp4e/|title = Computer Programming for Everybody|accessdate = 2007-03-22|publisher = Python Software Foundation}}</ref>
 
২০০০ সালে পাইথনের মূল উন্নয়নকারী দল [[BeOpen.com|বিওপেন.কম]] এর সাথে যুক্ত হয়ে যৌথভাবে বিওপেন পাইথনল্যাবস গঠন করে। সিএনআরআই পাইথনের একটি সংস্করন ১.৬ প্রকাশের অনুরোধ করেছিল যা মূলত এ পর্যন্ত সিএনআরআইতে পাইথনের যেটুকু উন্নয়ন হয়েছে তার সম্মিলিত প্রকাশ। একারণে পাইথনের ১.৬ ও ২.০ সংস্করনের মধ্যে অনেক বিলম্ব ঘটেছিল।<ref name="newin-2.0">{{cite web|url = http://www.amk.ca/python/2.0/|title = What's New in Python 2.0|author = A.M. Kuchling and Moshe Zadka|accessdate = 2007-03-22}}</ref> পাইথন ২.০ ছিল বিওপেন.কম থেকে প্রকাশিত প্রথম ও একমাত্র পাইথন ডিস্ট্রিবিউশন। পাইথন ২.০ প্রকাশিত হওয়ার পর গুইডো ভ্যান রোসাম ও অন্যান্য পাইথনল্যাবস কর্মীরা [[:en:Digital Creations|ডিজিটাল ক্রিয়েশন্‌স]] এ যোগ দেন।
 
পাইথন ২.০ তার বিভিন্ন বৈশিষ্ঠ্যেরবৈশিষ্টের অনেকাংশই ধার করেছে [[ফাংশনভিত্তিক প্রোগ্রামিং]] ভাষা [[হ্যাস্কেল (প্রোগ্রামিং ভাষা)|হ্যাস্কেল]] থেকে। হ্যাস্কেলের লিস্ট ও পাইথনের মধ্যে অনেক মিল রয়েছে যদিও হ্যাস্কেল যতিচিহ্নকে বেশি গুরুত্ব দেয় আর পাইথন গুরুত্ব দেয় বর্ণভিত্তিক কিওয়ার্ড এর উপর। পাইথন ২.০ তে [[গারবেজ কালেকশন (কম্পিউটার বিজ্ঞান)|গারবেজ কালেকশন]] ব্যবস্থা যুক্ত হয়েছে যা নিয়মিত ভাবে মেমরি পরিষ্কার করতে সক্ষম।<ref name="newin-2.0" />
 
এই দ্বৈত প্রকাশের পর ও ভ্যান রোসামেররস্যিউমের সিএনআরআই ত্যাগ করে বাণিজ্যিক সফটওয়ার নির্মাতাদের সাথে যুক্ত হবার পর পরিষ্কার হয়ে যায় যে, [[জিপিএল]] লাইসেন্সের অধীনে পাইথন সফটওয়ারের ব্যবহারের খুবই প্রয়োজনীয়। সে সময় যে লাইসেন্স ব্যবহৃত হত তা ছিল '''পাইথন লাইসেন্স'''। এতে একটি সংযুক্তি ছিল যাতে বলা থাকে এই লাইসেন্স ভার্জিনিয়া রাজ্যের নিয়ন্ত্রনাধীন যারা এটা তৈরি করেছে। [[ফ্রি সফটওয়ার ফাউন্ডেশন|ফ্রি সফটওয়ার ফাউন্ডেশনের]] (এফএসএফ) আইনজীবিদের মতে এই লাইসেন্স [[গনু জিপিএল|গনু জিপিএলের]] সাথে সঙ্গতিপূর্ণ নয়। সিএনআরআই ও এফএসএফ একত্রিত হয়ে পাইথনের লাইসেন্সে পরিবর্তন আনেন যাতে এটা জিপিএলের সাথে সঙ্গতিপূর্ণ হয়। একই বছর (২০০১) ভ্যান রোসামকে '''এফএসএফ অ্যাওয়ার্ড ফর দ্য অ্যাডভান্সমেন্ট ওব ফ্রি সফটওয়ার''' পুরস্কার দেয়া হয়।
 
পাইথন ১.৬.১ আসলে শুধুই পাইথন ১.৬ যাতে কিছুটা ত্রুটি মুক্ত করা হয়েছে এবং নতুন জিপিএল-সঙ্গতিপূর্ণ লাইসেন্স রয়েছে।<ref name="lib-history">{{cite web|url = http://www.python.org/doc/2.5/lib/node951.html|title = History of the software|work = Python Library Reference|accessdate = 2007-03-22}}</ref>