পাইথন (প্রোগ্রামিং ভাষা): সংশোধিত সংস্করণের মধ্যে পার্থক্য
বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
১টি উৎস উদ্ধার করা হল ও ০টি অকার্যকর হিসেবে চিহ্নিত করা হল।) #IABot (v2.0 |
|||
২৮ নং লাইন:
}}
'''পাইথন''' (Python) একটি বস্তু-সংশ্লিষ্ট (object-oriented) [[উচ্চস্তরের প্রোগ্রামিং ভাষা]]। ১৯৯১ সালে গুইডো ভ্যান রস্যিউম এটি প্রথম প্রকাশ করেন।<ref name="svn-history">{{ ওয়েব উদ্ধৃতি |
পাইথন একটি [[বহু-প্যারাডাইম প্রোগ্রামিং ভাষা]] ([[ফাংশন-ভিত্তিক প্রোগ্রামিং ভাষা|ফাংশন-ভিত্তিক]], [[বস্তু-সংশ্লিষ্ট প্রোগ্রামিং ভাষা|বস্তু-সংশ্লিষ্ট]] ও [[নির্দেশমূলক প্রোগ্রামিং ভাষা|নির্দেশমূলক]]) এবং এটি একটি পুরোপুরি [[চলমান প্রোগ্রামিং ভাষা]] যার স্বনিয়ন্ত্রিত মেমরি ব্যবস্থাপনা রয়েছে। এদিক থেকে এটি [[পার্ল]], [[রুবি (প্রোগ্রামিং ভাষা)|রুবি]] প্রভৃতি প্রোগ্রামিং ভাষার মত।
৩৯ নং লাইন:
== ইতিহাস ==
[[চিত্র:Guido van Rossum.jpg|thumb|upright|পাইথন এর উদ্ভাবক, [[গুইডো ভ্যান রস্যিউম]]]]
[[১৯৮০]] দশকের শেষের দিকে পাইথনের জন্ম দেন [[নেদারল্যান্ড|নেদারল্যান্ডের]] [[ন্যাশনাল রিসার্চ ইনস্টিটিউট ফর ম্যাথমেটিকস অ্যান্ড কম্পিউটার সায়েন্স|সিডব্লিউআই'র]] গবেষক [[গুইডো ভ্যান রস্যিউম]]।<ref name="venners-interview-pt-1">{{ওয়েব উদ্ধৃতি|
১৯৯১ সালে ভ্যান রস্যিউম পাইথনের কোড প্রকাশ করেন (ভার্শন ০.৯.০)।<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>{{ওয়েব উদ্ধৃতি|
সিডব্লিউআই থেকে প্রকাশিত সর্বশেষ সংস্করন হচ্ছে পাইথন ১.২। ১৯৯৫ সালে ভ্যান রস্যিউম [[ভার্জিনিয়া|ভার্জিনিয়ার]] [[কর্পোরেশন ফর ন্যাশনাল রিসার্চ ইনিশিয়েটিভস]] (সিএনআরআই) প্রতিষ্ঠান থেকে পাইথনের ওপর তার কাজ চালিয়ে যেতে থাকেন এবং এখান থেকে সফটওয়ারটির কয়েকটি সংস্করন বের করেন।
১.৪ সংস্করনের মধ্যে পাইথনের কিছু নতুন
সিএনআরআই তে থাকাকালীন ভ্যান রস্যিউম [[কম্পিউটার প্রোগ্রামিং ফর এভরিবডি]] (সিপি৪ই) উদ্যোগ গ্রহণ করেন, যাতে আরো অনেক মানুষ কম্পিউটার প্রোগ্রামিং এর সুবিধা গ্রহণ এবং অল্প মৌলিক প্রোগ্রামিং জ্ঞানের (ইংরেজি ও গণিতের জন্য সাধারণ যে জ্ঞান থাকা প্রয়োজন) মাধ্যমে ছোটখাট সমস্যা সমাধান করতে পারে। পাইথন এক্ষেত্রে কেন্দ্রীয় ভূমিকা পালন করেছে যার মূল কারণঃ এর পরিষ্কার সিনট্যাক্সের প্রতি মনোযোগ, এর ব্যবহার উপযোগিতা এবং সিপি৪ই এর লক্ষ্যের সাথে পাইথনের পূর্বসূরী এবিসির লক্ষ্যের মিল। এই প্রকল্পের অর্থায়ন করে [[:en:DARPA|DARPA]]।<ref>{{ওয়েব উদ্ধৃতি|
২০০০ সালে পাইথনের মূল উন্নয়নকারী দল [[BeOpen.com|বিওপেন.কম]] এর সাথে যুক্ত হয়ে যৌথভাবে বিওপেন পাইথনল্যাবস গঠন করে। সিএনআরআই পাইথনের একটি সংস্করন ১.৬ প্রকাশের অনুরোধ করেছিল যা মূলত এ পর্যন্ত সিএনআরআইতে পাইথনের যেটুকু উন্নয়ন হয়েছে তার সম্মিলিত প্রকাশ। একারণে পাইথনের ১.৬ ও ২.০ সংস্করনের মধ্যে অনেক বিলম্ব ঘটেছিল।<ref name="newin-2.0">{{ওয়েব উদ্ধৃতি|
পাইথন ২.০ তার বিভিন্ন বৈশিষ্টের অনেকাংশই ধার করেছে [[ফাংশনভিত্তিক প্রোগ্রামিং]] ভাষা [[হ্যাস্কেল (প্রোগ্রামিং ভাষা)|হ্যাস্কেল]] থেকে। হ্যাস্কেলের লিস্ট ও পাইথনের মধ্যে অনেক মিল রয়েছে যদিও হ্যাস্কেল যতিচিহ্নকে বেশি গুরুত্ব দেয় আর পাইথন গুরুত্ব দেয় বর্ণভিত্তিক কিওয়ার্ড এর উপর। পাইথন ২.০ তে [[গারবেজ কালেকশন (কম্পিউটার বিজ্ঞান)|গারবেজ কালেকশন]] ব্যবস্থা যুক্ত হয়েছে যা নিয়মিত ভাবে মেমরি পরিষ্কার করতে সক্ষম।<ref name="newin-2.0" />
৫৭ নং লাইন:
এই দ্বৈত প্রকাশের পর ও ভ্যান রস্যিউমের সিএনআরআই ত্যাগ করে বাণিজ্যিক সফটওয়ার নির্মাতাদের সাথে যুক্ত হবার পর পরিষ্কার হয়ে যায় যে, [[জিপিএল]] লাইসেন্সের অধীনে পাইথন সফটওয়ারের ব্যবহারের খুবই প্রয়োজনীয়। সে সময় যে লাইসেন্স ব্যবহৃত হত তা ছিল '''পাইথন লাইসেন্স'''। এতে একটি সংযুক্তি ছিল যাতে বলা থাকে এই লাইসেন্স ভার্জিনিয়া রাজ্যের নিয়ন্ত্রনাধীন যারা এটা তৈরি করেছে। [[ফ্রি সফটওয়ার ফাউন্ডেশন|ফ্রি সফটওয়ার ফাউন্ডেশনের]] (এফএসএফ) আইনজীবিদের মতে এই লাইসেন্স [[গনু জিপিএল|গনু জিপিএলের]] সাথে সঙ্গতিপূর্ণ নয়। সিএনআরআই ও এফএসএফ একত্রিত হয়ে পাইথনের লাইসেন্সে পরিবর্তন আনেন যাতে এটা জিপিএলের সাথে সঙ্গতিপূর্ণ হয়। একই বছর (২০০১) ভ্যান রোসামকে '''এফএসএফ অ্যাওয়ার্ড ফর দ্য অ্যাডভান্সমেন্ট ওব ফ্রি সফটওয়ার''' পুরস্কার দেয়া হয়।
পাইথন ১.৬.১ আসলে শুধুই পাইথন ১.৬ যাতে কিছুটা ত্রুটি মুক্ত করা হয়েছে এবং নতুন জিপিএল-সঙ্গতিপূর্ণ লাইসেন্স রয়েছে।<ref name="lib-history">{{ওয়েব উদ্ধৃতি|
[[চিত্র:Python add5 syntax.svg|thumb|360px|সিনট্যাক্স বর্ণায়িত পাইথন কোড]]
পাইথন ২.১ তৈরি করা হয়েছে পাইথন ১.৬.১ ও পাইথন ২.০ এর উপর ভিত্তি করে। এর লাইসেন্সের নাম পরিবর্তন করে রাখা হয় '''পাইথন সফটওয়ার ফাউন্ডেশন লাইসেন্স'''। পাইথন ২.১ এর প্রকাশের পর এগুলোর সমস্ত কোড, ডকুমেন্টেশন ও স্পেসিফিকেশন [[পাইথন সফটওয়ার ফাইন্ডেশন]] (পিএসএফ) এর অধীনে চলে আসে। অলাভজনক প্রতিষ্ঠান হিসেবে পিএসএফ গঠন করা হয় ২০০১ সালে। এটির ব্যবস্থাপনা ও গঠন [[অ্যাপাচি সফটওয়ার ফাউন্ডেশন|অ্যাপাচি সফটওয়ার ফাউন্ডেশনের]] আদলে করা হয়।<ref name="lib-history" /> এই ভার্শনে স্ট্যাটিক স্কোপিং নিয়মাবলী (যেটির মূল প্রবক্তা হচ্ছে [[স্কিম (প্রোগ্রামিং ভাষা)|স্কিম]] নামে একটি প্রোগ্রামিং ভাষা) যোগ করা হয়, যদিও প্রথম দিকে এটি বাধ্যতামূলক ও সাধারনভাবে সক্রিয় ছিল না।<ref>{{ওয়েব উদ্ধৃতি|
পাইথন ২.২ এর একটি প্রধান উদ্ভাবন হচ্ছে পাইথনের বিভিন্ন টাইপ (সি তে লেখা টাইপসমূহ) ও ক্লাসের (পাইথনে লেখা টাইপসমূহ) একই গঠনের আওতায় নিয়ে আসা। এর ফলে পাইথনের অবজেক্ট মডেল অনেক স্থিতিশীল ও প্রকৃত অবজেক্ট ওরিয়েন্টেড হয়েছে।<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://www.python.org/doc/2.2.3/whatsnew/sect-rellinks.html |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20070202232633/http://www.python.org/doc/2.2.3/whatsnew/sect-rellinks.html |আর্কাইভের-তারিখ=২ ফেব্রুয়ারি ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> এতে আরও যুক্ত করা হয়েছে [[জেনারেটর (প্রোগ্রামিং ভাষা)|জেনারেটর]] যেটি [[আইকন (প্রোগ্রামিং ভাষা)|আইকন]] নামে একটি ভাষায় প্রথম ব্যবহৃত হয়েছে।<ref>http://www.python.org/doc/2.2.3/whatsnew/node5.html</ref>
১৯৮ নং লাইন:
পাইথনের একটা বড় স্ট্যান্ডার্ড লাইব্রেরি রয়েছে যেটা দিয়ে বিভিন্ন ধরনের কাজ সম্ভব। পাইথনের অনেক দর্শনের মধ্যে একটা হচ্ছে "অালাদা ব্যাটারির দরকার নাই"। পাইথনের স্ট্যান্ডার্ড লাইব্রেরির মডিউলগুলো C বা Python দিয়ে পরিবর্ধিত মডিউল তৈরী করা সম্ভব।
পাইথনের স্ট্য়ান্ডার্ড লাইব্রেরি বিশেষভাবে ইন্টারনেটমুখী এপ্লিকেশন উপযোগী। এখানে রয়েছে বিভিন্ন ফর্মাট এবং প্রটোকল যেমন([[মাইম]], [[এইচটিটিপি]]) এর সাপোর্ট।
== প্রোগ্রামিং দর্শন ==
২৬৩ নং লাইন:
* {{dmoz|Computers/Programming/Languages/Python/|Python}}
* [http://video.google.com/videoplay?docid=-6459339159268485356&q=engedu Google Tech Talk: Python 3000] - Video recorded 21 July 2006, spoken by Guido van Rossum
-->পাইথন একটা মাল্টি প্য়ারাডাইম প্রোগ্রামিং ল্য়াংগুয়েজ। পাইথন প্রোগ্রামারদের কোন নির্দিষ্ট স্টাইল
== তথ্যসূত্র ==
|