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

বিষয়বস্তু বিয়োগ হয়েছে বিষয়বস্তু যোগ হয়েছে
কমন্সে থাকা মুক্ত লোগো দেয়া হল
ট্যাগ: মোবাইল সম্পাদনা মোবাইল ওয়েব সম্পাদনা
InternetArchiveBot (আলোচনা | অবদান)
9টি উৎস উদ্ধার করা হল ও 0টি অকার্যকর হিসেবে চিহ্নিত করা হল। #IABot (v2.0beta14)
২৮ নং লাইন:
}}
 
'''পাইথন''' (Python) একটি বস্তু-সংশ্লিষ্ট (object-oriented) [[উচ্চস্তরের প্রোগ্রামিং ভাষা]]। ১৯৯১ সালে গুইডো ভ্যান রস্যিউম এটি প্রথম প্রকাশ করেন।<ref name="svn-history">{{ ওয়েব উদ্ধৃতি | title = HISTORY | url = http://svn.python.org/view/*checkout*/python/trunk/Misc/HISTORY | work = Python source distribution | publisher = Python Foundation | accessdate = 2007-03-21 | আর্কাইভের-ইউআরএল = https://web.archive.org/web/20160217132249/http://svn.python.org/view/*checkout*/python/trunk/Misc/HISTORY | আর্কাইভের-তারিখ = ২০১৬-০২-১৭ | অকার্যকর-ইউআরএল = হ্যাঁ }}</ref> পাইথন নির্মাণ করার সময় প্রোগ্রামের পঠনযোগ্যতার উপর বেশি গুরুত্ব দেয়া হয়েছে।<ref>{{ ওয়েব উদ্ধৃতি | 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> এখানে প্রোগ্রামারের পরিশ্রমকে কম্পিউটারের চেয়ে বেশি গুরুত্ব দেয়া হয়েছে। পাইথনের কোর সিনট্যাক্স ও সেমান্টিক্‌স খুবই সংক্ষিপ্ত, তবে ভাষাটির স্ট্যান্ডার্ড লাইব্রেরি অনেক সমৃদ্ধ। পাইথন প্রোগ্রামারদের সমাজ থেকে [[পাইথন দর্শন]] এর সূচনা হয়েছে।
 
পাইথন একটি [[বহু-প্যারাডাইম প্রোগ্রামিং ভাষা]] ([[ফাংশন-ভিত্তিক প্রোগ্রামিং ভাষা|ফাংশন-ভিত্তিক]], [[বস্তু-সংশ্লিষ্ট প্রোগ্রামিং ভাষা|বস্তু-সংশ্লিষ্ট]] ও [[নির্দেশমূলক প্রোগ্রামিং ভাষা|নির্দেশমূলক]]) এবং এটি একটি পুরোপুরি [[চলমান প্রোগ্রামিং ভাষা]] যার স্বনিয়ন্ত্রিত মেমরি ব্যবস্থাপনা রয়েছে। এদিক থেকে এটি [[পার্ল]], [[রুবি (প্রোগ্রামিং ভাষা)|রুবি]] প্রভৃতি প্রোগ্রামিং ভাষার মত।
৪৭ নং লাইন:
সিডব্লিউআই থেকে প্রকাশিত সর্বশেষ সংস্করন হচ্ছে পাইথন ১.২। ১৯৯৫ সালে ভ্যান রস্যিউম [[ভার্জিনিয়া|ভার্জিনিয়ার]] [[কর্পোরেশন ফর ন্যাশনাল রিসার্চ ইনিশিয়েটিভস]] (সিএনআরআই) প্রতিষ্ঠান থেকে পাইথনের ওপর তার কাজ চালিয়ে যেতে থাকেন এবং এখান থেকে সফটওয়ারটির কয়েকটি সংস্করন বের করেন।
 
১.৪ সংস্করনের মধ্যে পাইথনের কিছু নতুন বৈশিষ্ঠ্য যোগ করা হয়। এর মধ্যে উল্লেখযোগ্য হলো [[মডুলা-৩]] থেকে উদ্বুদ্ধ হয়ে গ্রহণ করা নতুন ''কিওয়ার্ড আর্গুমেন্ট'' (keyword argument) (যা [[কমন লিস্প]] এর কিওয়ার্ড আর্গুমেন্টের সাথে অনেকটা মেলে), এবং [[জটিল সংখ্যা|জটিল সংখ্যার]] জন্য অভ্যন্তরীন সমর্থন। এছাড়া তথ্য লুকানোর জন্যও একটি বিশেষ ব্যবস্থা ছিল, যদিও তা তেমন কঠিন কিছু ছিলনা।<ref>{{ওয়েব উদ্ধৃতি|url=http://www.amk.ca/python/writing/12-14|title=LJ #37: Python 1.4 Update|accessdate=2007-04-29|আর্কাইভের-ইউআরএল=https://web.archive.org/web/20070501080219/http://www.amk.ca/python/writing/12-14|আর্কাইভের-তারিখ=২০০৭-০৫-০১|অকার্যকর-ইউআরএল=হ্যাঁ}}</ref>
 
সিএনআরআই তে থাকাকালীন ভ্যান রস্যিউম [[কম্পিউটার প্রোগ্রামিং ফর এভরিবডি]] (সিপি৪ই) উদ্যোগ গ্রহণ করেন, যাতে আরো অনেক মানুষ কম্পিউটার প্রোগ্রামিং এর সুবিধা গ্রহণ এবং অল্প মৌলিক প্রোগ্রামিং জ্ঞানের (ইংরেজি ও গণিতের জন্য সাধারণ যে জ্ঞান থাকা প্রয়োজন) মাধ্যমে ছোটখাট সমস্যা সমাধান করতে পারে। পাইথন এক্ষেত্রে কেন্দ্রীয় ভূমিকা পালন করেছে যার মূল কারণঃ এর পরিষ্কার সিনট্যাক্সের প্রতি মনোযোগ, এর ব্যবহার উপযোগিতা এবং সিপি৪ই এর লক্ষ্যের সাথে পাইথনের পূর্বসূরী এবিসির লক্ষ্যের মিল। এই প্রকল্পের অর্থায়ন করে [[:en:DARPA|DARPA]]।<ref>{{ওয়েব উদ্ধৃতি|url = http://www.python.org/doc/essays/cp4e.html|author = Guido van Rossum|title = Computer Programming for Everybody|accessdate = 2007-03-22|আর্কাইভের-ইউআরএল = https://web.archive.org/web/20090223101648/http://python.org/doc/essays/cp4e.html|আর্কাইভের-তারিখ = ২০০৯-০২-২৩|অকার্যকর-ইউআরএল = হ্যাঁ}}</ref> এই ২০০৭ সাল পর্যন্ত সিপি৪ই প্রকল্প নিস্ক্রিয় রয়েছে এবং অন্যদিকে পাইথন সাধারণ মানুষের জন্য সহজে শিখার মত প্রোগ্রামিং ভাষা তৈরির লক্ষ্য থেকে অনেকটাই দূরে সরে গেছে। এটা এখন আর পাইথনের জন্য সক্রিয় বিবেচ্য নয়।<ref>{{ওয়েব উদ্ধৃতি|url = http://www.python.org/cp4e/|title = Computer Programming for Everybody|accessdate = 2007-03-22|publisher = Python Software Foundation|আর্কাইভের-ইউআরএল = https://web.archive.org/web/20070312152257/http://www.python.org/cp4e/|আর্কাইভের-তারিখ = ২০০৭-০৩-১২|অকার্যকর-ইউআরএল = হ্যাঁ}}</ref>
 
২০০০ সালে পাইথনের মূল উন্নয়নকারী দল [[BeOpen.com|বিওপেন.কম]] এর সাথে যুক্ত হয়ে যৌথভাবে বিওপেন পাইথনল্যাবস গঠন করে। সিএনআরআই পাইথনের একটি সংস্করন ১.৬ প্রকাশের অনুরোধ করেছিল যা মূলত এ পর্যন্ত সিএনআরআইতে পাইথনের যেটুকু উন্নয়ন হয়েছে তার সম্মিলিত প্রকাশ। একারণে পাইথনের ১.৬ ও ২.০ সংস্করনের মধ্যে অনেক বিলম্ব ঘটেছিল।<ref name="newin-2.0">{{ওয়েব উদ্ধৃতি|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|আর্কাইভের-ইউআরএল = https://web.archive.org/web/20091214142515/http://www.amk.ca/python/2.0|আর্কাইভের-তারিখ = ২০০৯-১২-১৪|অকার্যকর-ইউআরএল = হ্যাঁ}}</ref> পাইথন ২.০ ছিল বিওপেন.কম থেকে প্রকাশিত প্রথম ও একমাত্র পাইথন ডিস্ট্রিবিউশন। পাইথন ২.০ প্রকাশিত হওয়ার পর গুইডো ভ্যান রোসাম ও অন্যান্য পাইথনল্যাবস কর্মীরা [[:en:Digital Creations|ডিজিটাল ক্রিয়েশন্‌স]] এ যোগ দেন।
 
পাইথন ২.০ তার বিভিন্ন বৈশিষ্টের অনেকাংশই ধার করেছে [[ফাংশনভিত্তিক প্রোগ্রামিং]] ভাষা [[হ্যাস্কেল (প্রোগ্রামিং ভাষা)|হ্যাস্কেল]] থেকে। হ্যাস্কেলের লিস্ট ও পাইথনের মধ্যে অনেক মিল রয়েছে যদিও হ্যাস্কেল যতিচিহ্নকে বেশি গুরুত্ব দেয় আর পাইথন গুরুত্ব দেয় বর্ণভিত্তিক কিওয়ার্ড এর উপর। পাইথন ২.০ তে [[গারবেজ কালেকশন (কম্পিউটার বিজ্ঞান)|গারবেজ কালেকশন]] ব্যবস্থা যুক্ত হয়েছে যা নিয়মিত ভাবে মেমরি পরিষ্কার করতে সক্ষম।<ref name="newin-2.0" />
৭১ নং লাইন:
যে সকল বড় বড় প্রকল্পে পাইথন ব্যবহৃত হয়েছে তার মধ্যে [[জোপ]] অ্যাপ্লিকেশন সার্ভার, [[এমনেট]] ডিস্ট্রিবিউটেড ফাইল স্টোর, [[ইউটিউব]] এবং মূল বিটটরেন্ট ক্লায়েন্ট উল্লেখযোগ্য। যে সমস্ত বড় প্রতিষ্ঠান পাইথন ব্যবহার করে তাদের মধ্যে [[গুগল]]<ref>http://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</ref> কোর সিকিউরিটির কিছু টুলস,<ref>[http://oss.coresecurity.com/ CORE Security Technologies' open 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</ref><ref>http://fist.immunitysec.com/pipermail/dailydave/2004-September/000851.html</ref>
 
=== ইন্‌ডেন্‌টেশন ===
২২২ নং লাইন:
The prefix ''Py-'' can be used to show that something is related to Python. Examples of the use of this prefix in names of Python applications or libraries include [[Pygame]], a binding of [[Simple DirectMedia Layer|SDL]] to Python (commonly used to create games); [http://pyui.sourceforge.net/ PyUI], a GUI encoded entirely in Python; [[PyQt]], [[Qt]] bindings for Python; [[PyGTK]], [[GTK]] toolkit bindings; and PySol, a series of solitaire card games programmed in Python; or [[pyMPI]], a parallel, distributed version of CPython with [[Message Passing Interface|MPI]] bindings.
 
An important goal of the Python developers is making Python fun to use. This is reflected in the origin of the name (after the television series ''[[Monty Python's Flying Circus]]''), in the common practice of using Monty Python references in example code, and in an occasionally playful approach to tutorials and reference materials.<ref>{{ওয়েব উদ্ধৃতি |শিরোনাম=সংরক্ষণাগারভুক্ত অনুলিপি |ইউআরএল=http://docs.python.org/tut/node3.html |সংগ্রহের-তারিখ=১৬ ফেব্রুয়ারি ২০০৭ |আর্কাইভের-ইউআরএল=https://web.archive.org/web/20060827005330/http://docs.python.org/tut/node3.html |আর্কাইভের-তারিখ=২৭ আগস্ট ২০০৬ |অকার্যকর-ইউআরএল=হ্যাঁ }}</ref> For example, the [[metasyntactic variable]]s often used in Python literature are [[Spam (Monty Python)|''spam'' and ''eggs'']], instead of the traditional [[foobar|''foo'' and ''bar'']].
 
== Influences on other languages ==
২২৮ নং লাইন:
Python's design and philosophy have influenced several programming languages:
 
* [[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</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>
 
Python's development practices have also been emulated by other languages. The system of requiring a document describing the rationale for and issues surrounding a change to the language (ie, a PEP) is also used in [[Tcl]] directly due to Python's influence.<ref>http://www.tcl.tk/cgi-bin/tct/tip/3.html</ref>