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

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
InternetArchiveBot (আলোচনা | অবদান)
9টি উৎস উদ্ধার করা হল ও 0টি অকার্যকর হিসেবে চিহ্নিত করা হল। #IABot (v2.0beta14)
InternetArchiveBot (আলোচনা | অবদান)
10টি উৎস উদ্ধার করা হল ও 0টি অকার্যকর হিসেবে চিহ্নিত করা হল। #IABot (v2.0beta14)
৫৭ নং লাইন:
এই দ্বৈত প্রকাশের পর ও ভ্যান রস্যিউমের সিএনআরআই ত্যাগ করে বাণিজ্যিক সফটওয়ার নির্মাতাদের সাথে যুক্ত হবার পর পরিষ্কার হয়ে যায় যে, [[জিপিএল]] লাইসেন্সের অধীনে পাইথন সফটওয়ারের ব্যবহারের খুবই প্রয়োজনীয়। সে সময় যে লাইসেন্স ব্যবহৃত হত তা ছিল '''পাইথন লাইসেন্স'''। এতে একটি সংযুক্তি ছিল যাতে বলা থাকে এই লাইসেন্স ভার্জিনিয়া রাজ্যের নিয়ন্ত্রনাধীন যারা এটা তৈরি করেছে। [[ফ্রি সফটওয়ার ফাউন্ডেশন|ফ্রি সফটওয়ার ফাউন্ডেশনের]] (এফএসএফ) আইনজীবিদের মতে এই লাইসেন্স [[গনু জিপিএল|গনু জিপিএলের]] সাথে সঙ্গতিপূর্ণ নয়। সিএনআরআই ও এফএসএফ একত্রিত হয়ে পাইথনের লাইসেন্সে পরিবর্তন আনেন যাতে এটা জিপিএলের সাথে সঙ্গতিপূর্ণ হয়। একই বছর (২০০১) ভ্যান রোসামকে '''এফএসএফ অ্যাওয়ার্ড ফর দ্য অ্যাডভান্সমেন্ট ওব ফ্রি সফটওয়ার''' পুরস্কার দেয়া হয়।
 
পাইথন ১.৬.১ আসলে শুধুই পাইথন ১.৬ যাতে কিছুটা ত্রুটি মুক্ত করা হয়েছে এবং নতুন জিপিএল-সঙ্গতিপূর্ণ লাইসেন্স রয়েছে।<ref name="lib-history">{{ওয়েব উদ্ধৃতি|url = http://www.python.org/doc/2.5/lib/node951.html|title = History of the software|work = Python Library Reference|accessdate = 2007-03-22|আর্কাইভের-ইউআরএল = https://web.archive.org/web/20070329061639/http://www.python.org/doc/2.5/lib/node951.html|আর্কাইভের-তারিখ = ২০০৭-০৩-২৯|অকার্যকর-ইউআরএল = হ্যাঁ}}</ref>
 
[[চিত্র:Python add5 syntax.svg|thumb|360px|সিনট্যাক্স বর্ণায়িত পাইথন কোড]]
৬৩ নং লাইন:
পাইথন ২.১ তৈরি করা হয়েছে পাইথন ১.৬.১ ও পাইথন ২.০ এর উপর ভিত্তি করে। এর লাইসেন্সের নাম পরিবর্তন করে রাখা হয় '''পাইথন সফটওয়ার ফাউন্ডেশন লাইসেন্স'''। পাইথন ২.১ এর প্রকাশের পর এগুলোর সমস্ত কোড, ডকুমেন্টেশন ও স্পেসিফিকেশন [[পাইথন সফটওয়ার ফাইন্ডেশন]] (পিএসএফ) এর অধীনে চলে আসে। অলাভজনক প্রতিষ্ঠান হিসেবে পিএসএফ গঠন করা হয় ২০০১ সালে। এটির ব্যবস্থাপনা ও গঠন [[অ্যাপাচি সফটওয়ার ফাউন্ডেশন|অ্যাপাচি সফটওয়ার ফাউন্ডেশনের]] আদলে করা হয়।<ref name="lib-history" /> এই ভার্শনে স্ট্যাটিক স্কোপিং নিয়মাবলী (যেটির মূল প্রবক্তা হচ্ছে [[স্কিম (প্রোগ্রামিং ভাষা)|স্কিম]] নামে একটি প্রোগ্রামিং ভাষা) যোগ করা হয়, যদিও প্রথম দিকে এটি বাধ্যতামূলক ও সাধারনভাবে সক্রিয় ছিল না।<ref>{{ওয়েব উদ্ধৃতি|url = http://www.python.org/dev/peps/pep-0227/|title = Statically Nested Scopes|author = Jeremy Hylton|accessdate = 2007-03-22}}</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>
 
পাইথনের স্ট্যান্ডার্ড লাইব্রেরি ও সিনট্যাক্টিক্যাল ব্যবহার [[জাভা (প্রোগ্রামিং ভাষা)|জাভা]] থেকে অনুপ্রাণিত হয়েছে। কোন কোন ক্ষেত্রে যেমনঃ <code>logging</code> প্যাকেজ,<ref>http://www.python.org/dev/peps/pep-0282/</ref> যা যুক্ত হয় ২.৩ ভার্সনে,<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://www.python.org/doc/2.3/whatsnew/node9.html |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20070203235522/http://www.python.org/doc/2.3/whatsnew/node9.html |আর্কাইভের-তারিখ=৩ ফেব্রুয়ারি ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> [[স্যাক্স]] পার্সার যা ২.০ সংস্করনে যুক্ত হয় এবং ডেকোরেটর সিনট্যাক্স যা <code>@</code> ব্যবহার করে এবং ২.৪ সংস্করনে যুক্ত হয়<ref>http://www.python.org/dev/peps/pep-0318/</ref> added in version 2.4<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://www.python.org/doc/2.4/whatsnew/node6.html |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20070206022239/http://www.python.org/doc/2.4/whatsnew/node6.html |আর্কাইভের-তারিখ=৬ ফেব্রুয়ারি ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> ইত্যাদি।
 
== ব্যবহার ==
[[File:Python 3. The standard type hierarchy.png|thumb]]
যে সকল বড় বড় প্রকল্পে পাইথন ব্যবহৃত হয়েছে তার মধ্যে [[জোপ]] অ্যাপ্লিকেশন সার্ভার, [[এমনেট]] ডিস্ট্রিবিউটেড ফাইল স্টোর, [[ইউটিউব]] এবং মূল বিটটরেন্ট ক্লায়েন্ট উল্লেখযোগ্য। যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে তাদের মধ্যে [[গুগল]]<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://python.org/Quotes.html |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20070219040828/http://www.python.org/Quotes.html |আর্কাইভের-তারিখ=১৯ ফেব্রুয়ারি ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> ও [[নাসা]]<ref>http://www.python.org/about/success/usa/</ref> উল্লেখযোগ্য।
 
তথ্য নিরাপত্তা শিল্পে পাইথনে বহুবিধ ব্যবহার লক্ষনীয়। এর মধ্যে ইমিউনিটি সিকিউরিটির কিছু টুলস,<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://www.immunitysec.com/products-immdbg.shtml |সংগ্রহের-তারিখ=১৩ ডিসেম্বর ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20090216134332/http://immunitysec.com/products-immdbg.shtml |আর্কাইভের-তারিখ=১৬ ফেব্রুয়ারি ২০০৯ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref><ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://www.immunitysec.com/resources-freesoftware.shtml |সংগ্রহের-তারিখ=১৩ ডিসেম্বর ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20071218095336/http://www.immunitysec.com/resources-freesoftware.shtml |আর্কাইভের-তারিখ=১৮ ডিসেম্বর ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> কোর সিকিউরিটির কিছু টুলস,<ref>[{{ওয়েব উদ্ধৃতি |শিরোনাম=CORE Security Technologies' open source software repository |ইউআরএল=http://oss.coresecurity.com/ CORE|সংগ্রহের-তারিখ=১৩ Securityডিসেম্বর Technologies'২০০৭ open|আর্কাইভের-ইউআরএল=https://web.archive.org/web/20071212134337/http://oss.coresecurity.com/ source|আর্কাইভের-তারিখ=১২ softwareডিসেম্বর repository]২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> ওয়েব অ্যাপ্লিকেশনের নিরাপত্তা স্ক্যানার ওয়াপিটি,<ref>http://wapiti.sourceforge.net/</ref> ও ফাজার টিএওএফ<ref>http://www.theartoffuzzing.com/joomla/</ref> বিশেষভাবে উল্লেখযোগ্য। সাধারণত দ্রুত সফটওয়ার নির্মাণের জন্য পাইথন ব্যবহৃত হয়।<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://www1.corest.com/files/files/13/CanSecWest2002.pdf |সংগ্রহের-তারিখ=১৩ ডিসেম্বর ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20071129165958/http://www1.corest.com/files/files/13/CanSecWest2002.pdf |আর্কাইভের-তারিখ=২৯ নভেম্বর ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref><ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://fist.immunitysec.com/pipermail/dailydave/2004-September/000851.html |সংগ্রহের-তারিখ=১৩ ডিসেম্বর ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20071212034724/http://fist.immunitysec.com/pipermail/dailydave/2004-September/000851.html |আর্কাইভের-তারিখ=১২ ডিসেম্বর ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref>
 
=== ইন্‌ডেন্‌টেশন ===
২২৯ নং লাইন:
 
* [[Boo (programming language)|Boo]]'s Python heritage is more explicit — it also uses indentation, a similar syntax, and a similar object model. Boo, however, uses [[static typing]] and is closely integrated with the [[.NET framework]].<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://boo.codehaus.org/Gotchas+for+Python+Users |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20081211062108/http://boo.codehaus.org/Gotchas+for+Python+Users |আর্কাইভের-তারিখ=১১ ডিসেম্বর ২০০৮ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref>
* [[ECMAScript]] of which [[JavaScript|javascript]] is an extension, is borrowing [[Iterators#Python|iterators]], [[Generator (computer science)|generators]] and [[list comprehension]]s from Python's implementation.<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://developer.mozilla.org/es4/proposals/iterators_and_generators.html |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20070202020846/http://developer.mozilla.org/es4/proposals/iterators_and_generators.html |আর্কাইভের-তারিখ=২ ফেব্রুয়ারি ২০০৭ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref>
* [[Ruby (programming language)|Ruby]] is influenced by Python. Specifically, [[matz]] wished to have a language closer to the classical message passing object-oriented model than Python.<ref>http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html</ref>
* [[Groovy (programming language)|Groovy]] was motivated by the desire to bring the Python design philosophy to Java.<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://groovy.codehaus.org/ |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://www.webcitation.org/65Qmg4eQj?url=http://groovy.codehaus.org/ |আর্কাইভের-তারিখ=১৩ ফেব্রুয়ারি ২০১২ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref>