دیجیتال وان

همیشه دیجیتال

دیجیتال وان

همیشه دیجیتال

پایتون (زبان برنامه‌نویسی) چیست؟

http://s5.picofile.com/file/8129381826/News_number_16.png

-----------------------------------------------------------

مشخّصات:

نویسنده(های) اصلی:خَودو فان روسوم
توسعه‌دهنده(ها):بنیاد نرم‌افزار پایتون
انتشار پایدار:۳.٣ و ۲.۷.٣
وضعیت توسعه:فعال
سیستم‌عامل:چند سکویی
گونه:زبان برنامه نویسی
پروانه:پروانه بنیاد نرم‌افزار پایتون
وب‌گاه:www.python.org

-----------------------------------------------------------

پایتون (به انگلیسی:Python)یک زبان برنامه نویسی همه منظوره،سطح بالا، شیءگرا و مفسر است که توسط خَودو فان روسوم (به هلندی: Guido van Rossum) در سال ۱۹۹۱ در کشور هلند طراحی شد. 

 فلسفهٔ ایجاد آن تاکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است.کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند. یک کار غیر معمول که در طراحی این زبان انجام گرفته استفاده از فاصله و جلوبردن متن برنامه برای مشخص کردن بلوک‌های مختلف کد است.

پایتون مدل‌های مختلف برنامه نویسی (از جمله شیء گرا و برنامه نویسی دستوری و تابع محور) را پشتیبانی می‌کند و برای مشخص کردن نوع متغییرها از یک سامانهٔ پویا استفاده می‌کند.

این زبان از زبان‌های برنامه نویسی مفسر بوده و به صورت کامل یک زبان شی‌گرا است که در ویژگی‌ها با زبانهای تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند.

پایتون پروژه‌ای آزاد و متن‌باز توسعه‌یافته‌است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد.هم‌اکنون (خرداد ۱۳۹۰ خورشیدی) این زبان در دو نسخهٔ پایدار ۲.۷.۱ و ۳.۲ ارائه می‌شود.پایتون بیش‌تر به عنوان یک زبان اسکریپت‌نویسی استفاده می شود اما گاهی به عنوان یک زبان برنامه نویسی هم استفاده می شود. بر اساس آمار موتورهای جستجو پایتون ۸مین زبان برنامه‌نویسی پرطرفدار جهان است.

تاریخچه:

پایتون اواخر سال ۱۹۸۰ (میلادی) توسط خَودو فان روسوم در مؤسسه ملی تحقیقات ریاضی و رایانه (CWI) در کشور هلند ایجاد شد. هدف خَودو ایجاد جانشینی برای زبان برنامه‌نویسی ای‌بی‌سی بود که قابلیت پردازش استثناها را داشته باشد. خَودو طراح اصلی پایتون است و نقش مداوم او در تصمیم گیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب دیکتاتور خیراندیش زندگی (به انگلیسی: Benevolent Dictator For Life) را بدهد.

نسخه‌های اولیه:

در سال ۱۹۹۱ فان روسوم کدی با برچسب نسخه ۰٫۹.۰ را منتشر کرد. البته در این مرحله از پیشرفت کلاس‌هایی با خاصیت ارث بری، پردازش استثنا، توابع و انواع داده list, dict, str وجود داشت. همچنین در این نسخه ابتدایی یک سیستم ماژول با اقتباس از ماژول-۳ وجود داشت، که فان روسوم این ماژول را به عنوان «یکی از واحدهای عمده برنامه نویسی پایتون» توصیف کرد. مدل استثناء پایتون نیز شباهت‌هایی به ماژول-۳ داشت، که به آن شرط else افزوده شده بود. در سال ۱۹۹۴ اولین مجمع مباحثه پیرامون پایتون شکل گرفت که مرحله برجسته‌ای در پیشرفت کاربری پایتون بود.

نسخه ۱٫۰:

پایتون در ژانویه ۱۹۹۴ به نسخه ۱٫۰ رسید. خصوصیات عمده جدید این نسخه شامل ابزارهای برنامه نویسی تابعی lambda, map, filter, reduce بود.

پایتون نسخه ۱٫۲ در سال ۱۹۹۵، زمانیکه خَودو در CVVI بود، ارائه شد. خَودو به فعالیت‌های خود روی پایتون در مؤسسه ملی تحقیقات و ابتکارات (CNRI) در رستون ادامه داد و در همان‌جا چندین نسخه جدید انتشار یافت.

در نسخه ۱٫۴ به پایتون چندین ویژگی جدید اضافه شد. از ویژگی‌های جالب توجه در میان این اضافات می‌توان به الهام گرفتن از آرگومان‌های کلیدی ماژول-۳ (که خود از آرگومان‌های کلیدی لیسپ الهام گرفته بود) و همچنین پیشتیبانی اعداد مختلط اشاره کرد.

در مدت فعالیت فان روسوم در CNRI، او پروژه «برنامه نویسی کامپیوتر برای هر کس» (CP4E) را ایجاد کرد تا برنامه نویسی را در دسترس افراد بیشتری که اطلاعات پایه‌ای برای برنامه نویسی (برای مثال توانایی در زبان انگلیسی و مهارتهای اولیهٔ ریاضی) را دارند، قرار دهد. زبان برنامه‌نویسی پایتون به دلیل تمرکزش بر روی پاکسازی فرم دستوراتش، نقش مرکزی را ایفا کرد. این پروژه توسط دارپا سرمایه گذاری شد واز سال ۲۰۰۷ غیر فعال شد.

باز و آزاد بودن:

در سال ۲۰۰۰ تیم توسعه دهنده پایتون به BeOpen.com منتقل شد و بدین صورت تیم کتابخانه باز پایتون شکل گرفت. به پیشنهاد CNRI ورژن ۱٫۶ساخته شد، بدین ترتیب برنامه‌های تولید شده برای ۱٫۶و ۲٫۰اشتراک‌های قابل توجهی داشتند. فقط پایتون ۲٫۰ توسط BeOpen.com طراحی شده بود. بعد از تولید پایتون ۲٫۰ توسط BeOpen.com، خَودو و دیگر توسعه دهندگان کتابخانه پایتون به ایجاد دیجیتال روی آوردند. تولید پایتون ۱٫۶ شامل جواز جدید CNRI بود که به طور قابل توجهی طولانی تر از جواز CWI (که برای تولیدات قبلی استفاده شده بود) بود. بنیاد نرم‌افزار آزاد توضیح داد که انتخاب شرط قانون با GNU GPL ناسازگار بود., BeOpen CNRI و FSF تغییراتی را در جواز پایتون ایجاد کردند که با GPL سازگار باشد. پایتون ۱٫۶.۱ عمدتاً مشابه پایتون ۱٫۶ است فقط با کمی اشکال، و با جواز سازگار با GPL.

نسخه ۲٫۰:

پایتون ۲٫۰ فهرستی از ویژگی‌هایی را که از زبان‌های برنامه نویسی تابعی ستل و هاسکل اقتباس شده بود، معرفی کرد. نحو پایتون برای این ساختار (جدا از برتری هاسکل برای کاراکترهای نقطه گذاری و کلمات الفبا) بسیار مشابه هاسکل بود. پایتون ۲٫۰ همچنین یک سیستم بازیافت حافظه با قابلیت جمع آوری منابع معرفی کرد. پایتون ۲٫۱ به پایتون ۱٫۶.۱ و ۲٫۰ نزدیک بود. جواز آن به جواز مؤسسه نرم‌افزار پایتون تغییر نام یافت. همه کدها، اسناد و مشخصات اضافه شده را از زمان تولید الفبای پایتون ۲٫۱ توسط مؤسسه نرم‌افزار پایتون (PFS) دارا شد. یک سازمان غیر انتفاعی در سال ۲۰۰۱ تشکیل شد که از مؤسسه نرم‌افزار آپاچی مدل گرفته بود. تولیدات شامل تغییراتی در خصوصیات زبان در پوشش حوزه‌های تو در تو بود، مشابه دیگر زبان‌های حوزه‌ای ایستا. (این خصوصیات دوباره از بین رفتند و به پایتون ۲٫۲ منتقل نشدند.) یک تغییر بزرگ در پایتون ۲٫۲ یکسان سازی انواع داده‌ای پایتون و کلاس‌ها به یک سلسله مراتب بود. این یکسان سازی اشیاء پایتون را کاملاً شیء گرا کرد.

میراث جاوا:

انتخاب نحو و ضمایم کتابخانه استاندارد پایتون شدیداً وابسته به بعضی موارد در جاوا بود: بسته logging در ورژن ۲٫۳، تجزیه کننده SAX در ورژن ۲٫۰ و ساختمان‌های نحو که در ورژن ۲٫۴ اضافه شد.

توسعه خصوصیات:

یک طرح افزایش (PEP) در پایتون یکنواخت کردن اسنادی است که اطلاعات عمومی ای را که پایتون را شرح می‌دهند تولید می‌کنند؛ شامل پیشنهادات، توصیف‌ها و توضیح‌ها برای خصوصیات زبان. PEP در نظر داشت همانند روش‌های اولیه، برای پیشنهاد خصوصیات جدید و نیز برای مستند سازی طرح‌های اساسی، هر عامل بزرگ در پایتون را توضیح دهد. طرح‌های برجسته توسط van Rossum تجدید نظر شده و توضیح داده شدند.

پایتون ۳:

پایتون ۳٫۰ (که پایتون ۳۰۰۰ ویا Py3k نیز خوانده می‌شود) به منظور شکستن سازگاری عقبرو (به انگلیسی: backward compatibility) یا به عبارتی قطع سازگاری با گذشته پایتون ۲ و بهبود خطاها و رخنه‌ها در نسخهٔ ۲ و همچنین حذف روشهای قدیمی طراحی شد.به عبارتی دیگر لازم نیست که پایتون ۳ بتواند کدی که با پایتون ۲ نوشته شده را تفسیر کند که البته این مشکل توسط نرم‌افزار 2to3 حل می‌شود.

سازگاری و همزمانی:

اولین کاندید پایتون ۳٫۰ در ۱۷سپتامبر ۲۰۰۸منتشر شد. پایتون سری ۲.x و ۳.x به طور موازی با هم وجود خواهند داشت، جایی که سری ۲.x سازگاری بیشتری دارد، به جای سری ۳.x مورد استفاده قرار خواهد گرفت. PEP ۳۰۰۰ اطلاعات بیشتری را در مورد فهرست نشریات دارا ست. پایتون ۳٫۰ سازگاری قبل را نقض خواهد کرد. الزامی ندارد که کدهایی که با پایتون ۲.x اجرا می‌شوند، برای پایتون ۳٫۰ بدون تغییر اجرا شوند. چون تغییرات اساسی بین این دو ورژن وجود دارد مثل اختلاف در حالت پرینت (بنابراین هر استفاده از پرینت به عنوان توضیح باعث شکست برنامه می‌شود.) نوع پویای پایتون با طرح‌های تغییر معنای روش‌های خاص دیکشنری ترکیب می‌شود، به عنوان مثال، انتقال مکانیکی بی نقص از پایتون ۲.x به پایتون ۳٫۰ را بسیار دشوار می‌کند. اگرچه ابزاری به نام «۲to۳» بسیاری از این وظایف انتقال را انجام می‌دهد، اما باید توجه داشت که استفاده از توضیحات یا اخطارها با ابهام همراه است. البته در یک مرحله از الفبا، ۲to۳ انتقال را حقیقتاً کامل انجام می‌دهد. PEP ۳۰۰۰ پیشنهاد می‌کند که یک منبع نگه داشته شود (برای سری ۲.x)، و نسخه‌ای بر مبنای پایتون ۳٫۰ با استفاده از ۲to۳ تولید شود. کدهای نتیجه شده نباید تصحیح شوند، مگر اینکه کدی طولانی تر از محدوده سری ۲.x باشد. پایتون ۲٫۶ شامل خصوصیات سازگاری مستقیم است، به طوری که یک روش اخطار (warning) به صورت خودکار به مسائل انتقال هشدار می‌دهد. هشدارها باید برای تشخیص خطا گزارش داده شوند، مشابه خصوصیات ورژن‌های قبلی پایتون. (برای اطلاعات بیشتر به PEP ۳۶۱ رجوع کنید.)

خصوصیات:

فهرست برخی از تغییرات عمده پایتون ۳٫۰:

  • تغییر پرینت چون یک تابع غیر قابل انتقال است نه یک توضیح. این باعث می‌شود که تغییر یک ماژول برای استفاده از یک تابع پرینت متفاوت، آسان باشد و بنابراین ایجاد نحو منظم تر می‌شود. در پایتون ۲٫۶ این امکان با تایپ کردن from – future – import print – function فراهم شد.
  • اضافه شدن حمایت از یادآوری تابع انتخابی که می‌تواند برای معرفی تایپ خصوصی یا اهداف دیگر استفاده شود.
  • یکسان کردن تایپ str/Unicode، به نمایندگی از یک متن، و معرفی یک تایپ byte تغییر ناپذیر؛ با یک تایپ مطابق با bytearray تغییر پذیر، که هر دو آرایه از بایت را ارائه می‌کنند.
  • از بین بردن خصوصیات سازگاری معکوس، شامل کلاس‌های به فرم قبل، قسمت کردن اعداد صحیح، استثناءهای رشته‌ای، و گزارش‌های نسبتاً نا آشکار.

کاربرد:

سازمان‌های بزرگی که از پایتون استفاده می‌کنند، شامل گوگل، یاهو، سرن و ناسا هستند. ITA نیز از پایتون برای بعضی از اجزای خود استفاده می‌کند.

امنیت اطلاعات:

پایتون همچنین استفاده وسیعی از صنعت ایمنی اطلاعات می‌کند. مثلاً در چندین ابزار پیشنهاد شده توسط تأمین امنیت و امنیت مرکزی و اسکنر امنیت کاربردی وب واپیتی. پایتون معمولاً در توسعه کاربرد مورد استفاده قرار می‌گیرد.

جاسازی:

پایتون با موفقیت در تعدادی از تولیدات نرم‌افزاری مثل زبان فایل آغاز گر تعبیه شده‌است. پایتون معمولاً در بسته‌های انیمیشن ۳D استفاده می‌شود، مانند Houdini, Maya, Softimage XSI, TrueSpace, Poser, Modo, Nuke, Blender. GIMP, Krita, Inkcape, Scribus, Paint Shop Pro ESRI هم اکنون در حال ترقی دادن پایتون به عنوان بهترین انتخاب برای نوشتن فایل آغازگر در ArcGIS است. همچنین در بازی‌ها استفاده می‌شود، مانند Civilization IV و Mount&Blade به عنوان زبان کنترل برای نمایش و عکس العمل حوادث.

مقبولیت:

در بسیاری از سیستم‌های عملیاتی، پایتون یک جزء استاندارد است؛ چون با بیشتر بخش‌های لینوکس انتقال داده می‌شود، با NetBSD و OpenBSD وRed Hat Linux.Mac OS X و Fedora هر دو از نصب کنده پایتونی استفاده می‌کنند. لینوکس Gentoo از پایتون در سیستم مدیریت بسته، حمل و ابزارهای دستیابی خود استفاده می‌کند. Pardus از آن برای مدیریت و در طول راه اندازی سیستم استفاده می‌کند.

و......

البتّه توضیحات بیش تری هم وجود دارد که برای مشاهده آن ها به ویکی پدیا مراجعه کنید.

و سر انجام محبوبیت زبان در نوآموزان برنامه‌نویسی:


نتایج یک مطالعه نشان می‌دهد زبان برنامه نویسی پیتون (Python) در میان دانشجویان علوم رایانه‌ای و برنامه‌نویسی از نظر محبوبیت بر زبان جاوا پیشی گرفته است.


به گزارش ایتنا از همکاران سیستم و به نقل از وب‌سایت pcworld، پیمایشی که توسط انجمن ای سی ام (ACM) صورت گرفته است نشان می‌دهد در میان دانشجویان علوم رایانه و برنامه‌نویسی در آمریکا زبان پیتون جایگاه برتری یافته است و زبان جاوا را پشت سر گذاشته است.

بنا بر یافته‌های این مطالعه، هم‌اکنون از ۱۰ دپارتمان علوم رایانه‌ای برتر آمریکا ۸ تای آن‌ها از زبان پیتون برای آموزش برنامه‌نویسی به دانشجویان استفاده می‌کنند. از میان ۳۹ مدرسه علوم رایانه‌ای برتر نیز ۲۷ تای آن‌ها از این زبان برای آشنا کردن دانشجویان با برنامه‌نویسی استفاده می‌کنند.

سه موسسه برتری که کلاس‌های آموزشی آنلاین در زمینه برنامه‌نویسی برگزار می‌کنند نیز از این زبان برای آموزش مقدماتی برنامه‌نویسی استفاده می‌کنند.

بر اساس این گزارش، محبوبیت زبان پیتون در میان نوآموزان برنامه‌نویسی چند سالی است رو به افزایش است، اما این اولین بار است که بر زبان جاوا پیشی می‌گیرد. جاوا در یک دهه گذشته جایگاه برتر این حوزه را از آن خود کرده بود.

پیش از آن در دهه ۱۹۸۰ زبان برنامه‌نویسی پاسکال جایگاه برتر را از آن خود کرد ولی این جایگاه به مرور زمان به اشغال زبان‌های جاوا و ++C درآمد.

زبان پیتون ویژگی‌هایی دارد که آن را برای استفاده در دانشگاه‌ها مناسب کرده است. این زبان از جاوا و ++C ساده‌تر است و نوآموزان را قادر می‌سازد برنامه‌نویسی را سریع‌تر بیاموزند. بعلاوه، این زبان در صنایع مختلف، به‌ویژه در حوزه‌هایی مثل خدمات مالی و تحلیل داده کاربری زیادی دارد.

منابع:

ویکی پدیا

سایت خبری فناوری اطلاعات (ایتنا)

نظرات 2 + ارسال نظر
رویا جمعه 20 تیر 1393 ساعت 17:40

عالی بود.

یگانه چهارشنبه 18 تیر 1393 ساعت 23:07 http://khanomi123.blogsky.com

وب خوبی دارید

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد