પાયથોન(પ્રોગ્રામિંગ ભાષા)

વિકિપીડિયામાંથી
પાયથોન
ચિત્ર:Python logo.svg
પ્રોગ્રામિંગ પેરાડિગમમલ્ટી પેરાડિગમ, રિફ્લેક્ટિવ , ઓબ્જેક્ટ ઓરીએન્ટેડ, કાર્યલક્ષી, કાર્યપ્રણાલી
શરૂઆત૧૯૯૧
બનાવનારગૂઇડો વેન રોસ્સમ
ડેવલપરપાયથોન સોફ્ટવેર ફાઉન્ડેશન
સ્થિર પ્રકાશન3.3.0 (૨૯-૦૯-૨૦૧૨)
પ્રકારડક, ડાયનેમિક, મજબૂત
પ્રોગ્રામીંગ ભાષાઓનું અમલીકરણC પાયથોન, જાયથોન, આયર્નપાયથોન, PyPy, S60 માટે પાયથોન
વિવિધ બોલીઓમાંસાયથોન,સ્ટેકલેસ પાયથોન,RPપાયથોન
દ્વારા પ્રભાવિત પર્લ , C++, C, જાવા, હાસ્કેલ, ABC, એલ્ગૉલ ૬૮
પ્રભાવિતD, F#, રૂબી, કોબ્રા, બૂ, જાવાસ્ક્રિપ્ટ
કોમ્પ્યુટીંગ પ્લેટફોર્મક્રોસ પ્લેટફોર્મ
લાયસન્સપાયથોન સોફ્ટવેર ફાઉન્ડેશન લાઇસન્સ
સામાન્ય ફાઈલ એક્સટેન્શન.py, .pyw, .pyc, .pyo, .pyd
વેબસાઇટpython.org
Wikibooks logo Python Programming at Wikibooks


પાયથોન એક સામાન્ય હેતુ ઈન્ટરપ્રીટેડ ઉચ્ચ સ્તરની પ્રોગ્રામિંગ ભાષા છે[૧]જેનું ડિઝાઈન તત્વજ્ઞાન કોડની વાંચનક્ષમતામાં ભાર મૂકે છે.તેનુ વ્યાકરણ સ્પષ્ટ [૨][૩] અને અર્થસભર છે.[૪] પાયથોન વ્યાપક અને મોટી સ્ટાન્ડર્ડ લાઇબ્રેરી ધરાવે છે.[૫].
પાયથોન બહુવિધ પ્રોગ્રામિંગ પેરાડિગમને આધાર આપે છે જેમકે ઓબ્જેક્ટ ઓરીએન્ટેડ,કાર્યલક્ષી, કાર્યપ્રણાલી, સ્કીમ), રૂબી અને પર્લ જેવી અન્ય ડાયનેમિક ભાષાઓની જેમ,સંપૂર્ણપણે ડાયનેમિક સિસ્ટમ અને ઓટોમેટિક મેમરી વ્યવસ્થાપનને આધાર આપે છે.પાયથોનનો ઘણીવાર સ્ક્રિપ્ટીંગ ભાષા તરીકે ઉપયોગ કરવામાં આવે છે, પરંતુ તેનો નોન-સ્ક્રિપ્ટીંગ સંદર્ભમાં વિશાળ શ્રેણીમાં ઉપયોગ થાય છે.પાયથોન ઇન્ટરપ્રિટર્સ અનેક ઓપરેટિંગ સિસ્ટમ માટે ઉપલબ્ધ છે.C પાયથોન એક મુક્ત અને ઓપન સોર્સ સોફ્ટવેર અને સમુદાય-વિકાસ આધારિત મોડલ છે.C પાયથોન નોન પ્રોફિટ પાયથોન સોફ્ટવેર ફાઉન્ડેશન દ્વારા સંચાલિત છે.

ઇતિહાસ[ફેરફાર કરો]

ગૂઇડો વેન રોસ્સમ, પાયથોનના સર્જક

'"પાયથોન'"ની કલ્પના ૧૯૮૦[૬] અને તેના અમલીકરણની શરૂઆત ડિસેમ્બર ૧૯૮૯માં[૭] ગૂઇડો વેન રોસ્સમ દ્વારા નેધરલેન્ડ સ્થિત CWIમાં ABCના અનુગામી તરીકે કરવામાં આવી હતી.
પાયથોન 2.0 નુ રિલીઝ ઘણી સંપૂર્ણ ગાર્બેજ્-કલેક્ટર અને યુનિકોડ સપોર્ટ સહિતના મુખ્ય નવા લક્ષણો સાથે,1૬ ઓક્ટોબર ૨૦૦૦ના રોજ એ કરવામાં આવ્યું હતું.જોકે, સૌથી વધુ મહત્વપૂર્ણ ફેરફાર, વધુ પારદર્શક અને સમુદાય આધારિત પ્રક્રિયા બનાવવાના હેતુ સાથે, વિકાસ પ્રક્રિયા પોતે જ હતી[૮] .
પાયથોન ૩.૦ ( પાયથોન ૩૦૦૦ અથવા py3k તરીકે પણ ઓળખાય છે) એક મોટુ, બેકવર્ડ-વિસંગત પ્રકાશન, 3 ડિસેમ્બર ૨૦૦૮એ રિલિઝ કરવામાં આવ્યું હતું[૯].તેના ઘણા મુખ્ય લક્ષણો બેકવર્ડ-સુસંગત પાયથોન ૨.૬ અને ૨.૭ સાથે બેકપોર્ટે કરવામાં આવેલ છે.[૧૦]

પાયથોનને બે વખત(૨૦૦૭,૨૦૧૦) વર્ષની શ્રેષ્ઠ "TIOBE પ્રોગ્રામિંગ ભાષા"નો પુરસ્કાર આપવામાં આવ્યો છે.TIOBE ઇન્ડેક્સ મુજબ, આ પુરસ્કાર જે ભાષાએ વર્ષ દરમિયાન લોકપ્રિયતામાં સૌથી મહાન વૃદ્ધિ પ્રાપ્ત કરી હોય તેને આપવામાં આવે છે.[૧૧]

પ્રોગ્રામિંગ ફિલસૂફી[ફેરફાર કરો]

પાયથોન એક મલ્ટી પેરાડિગમ પ્રોગ્રામિંગ ભાષા છે.પ્રોગ્રામરોને કેટલીક ચોક્કસ શૈલી અપનાવવાની ફરજ પાડવાને બદલે તે ઘણાં પ્રકારોની પરવાનગી આપે છે: રિફ્લેક્ટિવ , ઓબ્જેક્ટ ઓરીએન્ટેડ, કાર્યલક્ષી, કાર્યપ્રણાલી પ્રકાર.એક્સ્ટેંશન દ્વારા તેમા અનેક પેરાડિગમ આધારભૂત છે.જેમ કે, લોજિકલ પ્રોગ્રામિંગ[૧૨] અને "કોન્ટ્રેક્ટ દ્વારા ડિઝાઈન"[૧૩][૧૪].
પાયથોન ડાઇનેમિક પ્રકારનો , મેમરી મેનેજ્મેન્ટ માટે "સંદર્ભ ગણતરી" અને "સાઇકલ-ડિટેક્ટિંગ ગાર્બેજ કલેક્ટર"નો ઉપયોગ કરે છે.
પાયથોનનું એક મહત્વનું લક્ષણ ડાયનેમિક નામ રીઝોલ્યુશન છે,જેમાં પદ્ધતિ અને વેરિયેબલ નામોની બંધી કાર્યક્રમના અમલીકરણ દરમિયાન થાય છે.લિસ્પની પરંપરામાં પાયથોનની ડિઝાઇન કાર્યલક્ષી પ્રોગ્રામિંગ માટે મર્યાદિત ટેકો આપે છે.
કોડિંગ પદ્ધતિની પસંદગીમાં પાયથોનની ફિલસૂફી ઉલ્લાસપૂર્ણ સિન્ટેક્સને(જે પર્લ માં છે) સરળ અને સ્પષ્ટ વ્યાકરણ ની તરફેણમાં નકારી કાઢે છે.
પાયથોનના વિકાસકર્તાઓ અકાળે ઓપ્ટિમાઇઝેશન ટાળવાનો પ્રયાસ કરે છે અને Cપાયથોનના બિન-વિવેચનાત્મક ભાગોને નકારે છે જે ઝડપમાં સ્પષ્ટતાની કિંમત પર નજીવો વધારો આપી શકે છે.[૧૫].જ્યારે ઝડપ મહત્વની હોય ત્યારે પાયથોનના પ્રોગ્રામર્સ JIT કમ્પાઇલર જેમ કે Psyco અથવા તો વૈકલ્પિક ભાષા અમલીકરણ જેમ કે PyPyનો ઉપયોગ કરે છે.જ્યારે ઝડપ મહત્વની ના હોય ત્યારે સમય-વિવેચનાત્મક કાર્યો C અથવા તો સાયથોન[૧૬]માં ફરી લખી શકાય છે.
ભાષાના મુખ્ય ફિલસૂફી "PEP૨૦ (ધ ઝેન ઓફ પાયથોન)"નામનાં દસ્તાવેજમાં સારાંશ થયેલ છે.[૧૭]

નામ અને નિયોલોજિસ્મ[ફેરફાર કરો]

પાયથોનના વિકાસકર્તાઓનો એક મહત્વપૂર્ણ ધ્યેય પાયથોનને મનોરંજક બનાવવનો છે.
પાયથોન સમુદાયમાં સામાન્ય નિયોલોજિસ્મ પાયથોનિક છે,જેમાં કાર્યક્રમ શૈલી સાથે સંબંધિત અર્થો વિશાળ રેન્જ ધરાવી શકે છે.કોડને "પાયથોનિક" કહેવાય જયારે પાયથોન રૂઢિપ્રયોગોનું કોડમાં સ્વાભાવિક રીતે ઉપયોગ થયો હોય.
તેનાથી વિપરીત,અનપાયથોનિક કોડની ઓળખ તેમાં વપરાયેલ C++ કોડથી થઇ શકે છે.બિન વાંચન યોગ્ય કોડ અથવા અગમ્ય રૂઢિપ્રયોગોનો ઉપયોગ "અનપાયથોનિક" છે. વપરાશકર્તાઓ અને પાયથોનના પ્રશંસકો-સૌથી ખાસ કરીને જે જાણકાર અથવા અનુભવી છે, તેમને પાયથોનિસ્ટ્સ , પાયથોનિસ્ટાસ અથવા પાયથોનિર્ય્સ કહેવામાં આવે છે.[૧૮]

વપરાશ[ફેરફાર કરો]

પાયથોનનો અવારનવાર વેબ કાર્યક્રમો માટે સ્ક્રિપ્ટીંગ ભાષા તરીકે ઉપયોગ થાય છે. દા.ત- mod_wsgi દ્વારા અપાચે વેબ સર્વર માટેનો ઉપયોગ.વેબ એપ્લિકેશન ફ્રેમવર્ક જેમકે જાન્ગો, પાયલોન્સ, પિરામિડ, ,ટર્બોગિયર્સ, web2py, ટોર્નેડો, ફ્લાસ્ક અને ઝોપ, જટિલ કાર્યક્રમોના ડિઝાઈન અને જાળવણીમાં વિકાસકર્તાઓને આધાર આપે છે.NumPy ,SciPy, અને મેટપ્લોટલિબ જેવી લાઇબ્રેરીઓ વૈજ્ઞાનિક કમ્પ્યુટિંગમાં પાયથોનને મદદરૂપ રહે છે.
પાયથોનને સફળતાપૂર્વક સ્ક્રિપ્ટીંગ ભાષા તરીકે સંખ્યાબંધ સોફ્ટવેર ઉત્પાદનો માટૅ એમ્બેડેડ કરવામાં આવ્યું છે.જેમ કે, 3D એનિમેશન પેકેજો-બ્લેન્ડર, સિનેમા 4D, લાઇટવેવ, હોઉડિની, માયા, મોડો,મોશન બિલ્ડર , ન્યુક અને 2D ઇમેજિંગ કાર્યક્રમો- GIMP, ઇન્કસ્કેપ, સ્ક્રિબસ અને પેઇન્ટ શોપ પ્રો.[૧૯] ESRI હવે ArcGIS માં સ્ક્રિપ્ટો લખવા માટે શ્રેષ્ઠ વિકલ્પ તરીકે પાયથોનને પ્રોત્સાહન આપે છે.[૨૦]તેનો ઘણા વિડિઓ-ગેમ્સમાં ઉપયોગ કરવામાં આવે છે,[૨૧][૨૨].
ગૂગલ એપ એંજીનમાં ઉપલબ્ધ ત્રણ પ્રોગ્રામિંગ ભાષાઓમાં( જાવા, ગો,પાયથોન) પાયથોનનો સ્વીકાર પ્રથમ પ્રોગ્રામિંગ ભાષા તરીકે કરવામાં આવ્યો છે.[૨૩].
સિન્ટેક્ષ સરળતા અને સમૃદ્ધ ટેક્સ્ટ પ્રોસેસિંગના સાધનો લીધે પાયથોનનો ઉપયોગ નેચરલ ભાષા પ્રોસેસિંગમાં થાય છે.[૨૪].પાયથોનનો આર્ટિફિશ્યલ ઇન્ટેલિજન્સના કાર્યોમાં ઉપયોગ કરવામાં આવે છે.[૨૫][૨૬][૨૭]
ઘણા ઓપરેટિંગ સિસ્ટમો માટે, પાયથોન એક સ્ટાન્ડર્ડ કમ્પોનન્ટ છે:તેનો ફ્રી બીએસડી, નેટબીએસડી, ઓપનબીએસડી અને OS X ટર્મિનલ માં ઉપયોગ કરી શકાય છે અને તે ઘણા લિનક્સ વિતરણોની સાથે આવે છે.
પાયથોનનો ઇન્ફર્મેશન સિક્યુરિટી ઉદ્યોગમાં મોટાપાયે ઉપયોગ કરવામાં આવ્યો છે.[૨૮][૨૯]
પાયથોનનાવપરાશકર્તાઓ પૈકી યુ ટ્યુબ[૩૦],ઓરિજિનલ બીટ ટૉરેંટ ક્લાઈન્ટ[૩૧] અને સ્પોટિફાય[૩૨] છે.
મોટી સંસ્થાઓ જે પાયથોનનો ઉપયોગ કરે છે તેમાં ગૂગલ[૩૦] ,યાહુ [૩૩], CERN[૩૪],નાસા[૩૫], ILM[૩૬] , અને આઈટીએ[૩૭] નો સમાવેશ થાય છે.

સંદર્ભો[ફેરફાર કરો]

નોંધો
  1. Dave Kuhlman. "A Python Book: Beginning Python, Advanced Python, and Python Exercises". મૂળ માંથી 2012-06-23 પર સંગ્રહિત. મેળવેલ 2012-11-11. Python is a high-level general purpose programming language
  2. Mark Summerfield. Rapid GUI Programming with Python and Qt. If you are new to Python: Welcome! You are about to discover a language that is clear to read and write, and that is concise without being cryptic.
  3. "The Python Wiki". મેળવેલ 12 September 2012."Python combines remarkable power with very clear syntax."
  4. Mark Summerfield. Rapid GUI Programming with Python and Qt. Python is a very expressive language, which means that we can usually write far fewer lines of Python code than would be required for an equivalent application written in, say, C++ or Java.
  5. "About Python". Python Software Foundation. મેળવેલ 24 April 2012., second section "Fans of Python use the phrase "batteries included" to describe the standard library, which covers everything from asynchronous processing to zip files."
  6. Venners, Bill (13 January 2003). "The Making of Python". Artima Developer. Artima. મેળવેલ 22 March 2007.
  7. van Rossum, Guido (20 January 2009). "A Brief Timeline of Python". The History of Python. Google. મેળવેલ 20 January 2009.
  8. Kuchling, A. M.; Zadka, Moshe (16 October 2000). "What's New in Python 2.0". Python Software Foundation. મેળવેલ 11 February 2012.
  9. "Python 3.0 Release". Python Software Foundation. મેળવેલ 8 July 2009.
  10. van Rossum, Guido (5 April 2006). "PEP 3000 – Python 3000". Python Enhancement Proposals. Python Software Foundation. મેળવેલ 27 June 2009.
  11. "TIOBE Programming Community Index for March 2012". TIOBE Software. March 2012. મૂળ માંથી 15 માર્ચ 2012 પર સંગ્રહિત. મેળવેલ 25 March 2012.
  12. "PyDatalog". મેળવેલ 22 July 2012.
  13. "PyDBC: method preconditions, method postconditions and class invariants for Python". મેળવેલ 24 September 2011.
  14. "Contracts for Python". મેળવેલ 24 September 2011.
  15. "Python Culture". મૂળ માંથી 2010-05-24 પર સંગ્રહિત. મેળવેલ 2012-11-12.
  16. "Python Patterns – An Optimization Anecdote". Python Essays. Python Software Foundation. મેળવેલ 19 February 2012.
  17. Peters, Tim (19 August 2004). "PEP 20 – The Zen of Python". Python Enhancement Proposals. Python Software Foundation. મેળવેલ 24 November 2008.
  18. David Goodger. "Code Like a Pythonista: Idiomatic Python". મૂળ માંથી 2014-05-27 પર સંગ્રહિત. મેળવેલ 2012-11-13.; "How to think like a Pythonista". મૂળ માંથી 2018-03-23 પર સંગ્રહિત. મેળવેલ 2012-11-13.
  19. Documentation of the PSP Scripting API can be found at JASC Paint Shop Pro 9: Additional Download Resources
  20. "About getting started with writing geoprocessing scripts". ArcGIS Desktop Help 9.2. Environmental Systems Research Institute. 17 November 2006. મેળવેલ 11 February 2012.
  21. porkbelly (23 July 2007). "Stackless Python 2.5". Eve Insider Dev Blog. CCP Games. મૂળ સંગ્રહિત માંથી 11 ઑગસ્ટ 2010 પર સંગ્રહિત. મેળવેલ 13 નવેમ્બર 2012. As you may well know, your favorite space-game owes its existence to the programming language Python Check date values in: |archive-date= (મદદ)
  22. Caudill, Barry (20 September 2005). "Modding Sid Meier's Civilization IV". Sid Meier's Civilization IV Developer Blog. Firaxis Games. મૂળ સંગ્રહિત માંથી 11 ઑગસ્ટ 2010 પર સંગ્રહિત. મેળવેલ 13 નવેમ્બર 2012. we created three levels of tools ... The next level offers Python and XML support, letting modders with more experience manipulate the game world and everything in it. Check date values in: |archive-date= (મદદ)
  23. "Python Language Guide (v1.0)". Google Documents List Data API v1.0. Google. મૂળ સંગ્રહિત માંથી 11 ઑગસ્ટ 2010 પર સંગ્રહિત. મેળવેલ 13 નવેમ્બર 2012. Check date values in: |archive-date= (મદદ)
  24. "Natural Language Toolkit". મેળવેલ 31 July 2012.
  25. Paine, Jocelyn, સંપાદક (2005). "AI in Python". AI Expert Newsletter. Amzi!. મૂળ માંથી 26 માર્ચ 2012 પર સંગ્રહિત. મેળવેલ 11 February 2012. Unknown parameter |month= ignored (મદદ)
  26. Stratton, Cort. "PyAIML 0.8.5 – An interpreter package for AIML, the Artificial Intelligence Markup Language". Python Software Foundation. મેળવેલ 11 February 2012.
  27. Russell, Stuart J.; Norvig, Peter (2009). Artificial Intelligence: A Modern Approach (3rd આવૃત્તિ). Upper Saddle River, NJ: Prentice Hall. પૃષ્ઠ 1062. ISBN 978-0-13-604259-4. મેળવેલ 11 February 2012. Unknown parameter |lastauthoramp= ignored (|name-list-style= suggested) (મદદ)CS1 maint: discouraged parameter (link)
  28. "Welcome to Immunity Debugger". Immunity. મૂળ માંથી 16 ફેબ્રુઆરી 2009 પર સંગ્રહિત. મેળવેલ 24 November 2008.
    "CORE Security Technologies' open source software repository". Core Security Technologies. મૂળ માંથી 12 ડિસેમ્બર 2007 પર સંગ્રહિત. મેળવેલ 11 February 2012.
  29. Surribas, Nicolas. "Wapiti – Web application vulnerability scanner / security auditor". SourceForge. મેળવેલ 24 November 2008.
  30. ૩૦.૦ ૩૦.૧ "Quotes about Python". Python Software Foundation. મેળવેલ 8 January 2012.
  31. Figgins, Stephen (17 July 2003). "BitTorrent Style". ONLamp.com. O'Reilly Media. મૂળ માંથી 11 ઑક્ટોબર 2011 પર સંગ્રહિત. મેળવેલ 24 September 2011. Check date values in: |archive-date= (મદદ)
  32. "SPOTIFY AND PYTHON: LOVE AT FIRST SIGHT". 2011. મેળવેલ 5 July 2012.[હંમેશ માટે મૃત કડી]
  33. "Organizations Using Python". Python Software Foundation. મેળવેલ 15 January 2009.
  34. "Python : the holy grail of programming". CERN Bulletin. CERN Publications (31/2006). 31 July 2006. મેળવેલ 11 February 2012.
  35. Shafer (17 January 2003). "Python Streamlines Space Shuttle Mission Design". Python Software Foundation. મેળવેલ 24 November 2008.
  36. Fortenberry, Tim (17 January 2003). "Industrial Light & Magic Runs on Python". Python Software Foundation. મેળવેલ 11 February 2012.
  37. Taft, Darryl K. (5 March 2007). "Python Slithers into Systems". eWeek.com. Ziff Davis Holdings. મેળવેલ 24 September 2011.