CBIR:Content Base Image Retrival

بازیابی تصویر محتوا محور

CBIR:Content Base Image Retrival

بازیابی تصویر محتوا محور

پایتون




زندگینامه مخترع زبان پایتون


آقای خیدو فان روسوم در 31 ژانویه 1986در هلند به دنیا آمد و در همان‌جا بزرگ شد. در سال ۱۹۸۲ بالاترین نمرات دانشگاه آمستردام در هلند را بدست آورد. سپس در سازمانهای تحقیقاتی گوناگون مشغول به کار شد، از جمله: مؤسسه ملی تحقیقات ریاضی و رایانه (CWI) در آمستردام، مؤسسه ملی استاندارد و تکنولوژی (NIST) در شهر گیثرزبرگ در ایالت مریلند و مؤسسه ملی تحقیقات و ابتکارات در شهر رستون در ایالت ویرجینیا در آمریکا وی همچنین بر روی طراحی ای.بی. سی کار کرده‌است.

روسوم در سال ۲۰۰۲ جایزه نرم‌افزارهای آزاد را از بنیاد نرم‌افزار آزاد در کنفرانس بروکسل در کشور بلژیک دریافت کرد.

خیدو فان روسوم برادری به نام یوست فان روسوم دارد. وی طراح شناخته شده‌است و فونتی بکار رفته در لوگوی «Python Powered» از کارهای او است.

نقش مداوم فان روسوم (طراح اصلی پایتون) در تصمیم‌گیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب دیکتاتور خیرخواه جاویدان را بدهد. (اگرچه فان روسوم در ۱۲ ژوئیه ۲۰۱۸ از سمت خود کناره گرفت.) 

 

داستان تولد زبان پایتون

پایتون اواخر دهه ی هشتاد میلادی توسط خودو فان روسوم در مؤسسه ملی تحقیقات ریاضی و رایانه (CWI) واقع در کشورهلند ایجادشد. پیاده‌سازی آن در دسامبر ۱۹۸۹ آغاز شد. در سال ۱۹۹۶ وی درباره  نحوه پیدایش این زبان می‌نویسد: «در حدود شش سال قبل در دسامبر ۱۹۸۹ من به دنبال یک پروژه برنامه‌نویسی در جهت فعالیت مورد علاقه‌ام می‌گشتم تا اوقات فراغت کریسمس را پر کنم. دفتر کارم بسته بود، منتها یک رایانه شخصی داشتم و چیزی بیش از این هم در اختیارم نبود. تصمیم گرفتم تا یک مترجم برای یک زبان اسکریپتی بنویسم. قبلاً در مورد زبان آی.بی. سی فکر کرده بودم. چیزی شبیه به زبان سی و یونیکس از نسل ای.بی. سی، جذاب برای هکرها و قابل انعطاف برای پژوهشگران. نام پایتون را برای عنوان کاری این پروژه انتخاب کردم چرا که در حالتی جسورانه و غیر سنتی به سر می بردم . روسوم به دلیل علاقه ای که به سیرک داشت ، نام پایتون را از نمایش تلویزیونی بی‌بی‌سی یعنی سیرک پرنده مانتی پایتان گرفته شده‌است. در فوریه ۱۹۹۱، فان روسوم کد پایتون (تحت نسخه ۰٫۹٫۰) را در alt.source منتشر کرد. در این مرحله از توسعه کلاس‌های با وراثت، مدیریت استثناء، توابع و نوع داده‌های اصلیِ list ، dict ، str و وجود داشته‌است. در این نسخه یک سیستم پودمان (ماژول) وجود داشت که از ماجولا ۳ به عاریت گرفته شده بود؛ فان روسوم ماژول را به عنوان «یکی از واحدهای مهم برنامه‌نویسی پایتون» توصیف می‌کند. مدل استثناء پایتون نیز، به ماجولا ۳ شباهت دارد.در سال ۱۹۹۴ انجمن اصلی بحث و گفتگوی پایتون،comp.lang.python (در یوزنت)، تشکیل شد که نشانه ای از رشد کاربران پایه‌ای پایتون بود.

نسخه 1

در ژانویه ۱۹۹۴ نسخه ی ۱٫۰ پایتون منتشر شد. خصوصیات جدید قابل توجه این نسخه شامل ابزارهای برنامه‌نویسی تابعی lambda ، map ، filter و reduce بود. فان روسوم در این‌باره توضیح داد: «پایتون lambda , reduce() , filter() و map() را از راه یک هکر لیسپ که آنها را رد کرد و وصله‌های کار را ارائه داد. به دست آورد.»

پایتون ۱٫۲ آخرین نسخه ی پایتون بود که هنگام حضور فان روسوم در CWI منتشر شد. در سال ۱۹۹۵، فان روسوم کار روی پایتون را در (CNRI) (Corporation for National Research Initiatives) در رستون، ویرجینیا ادامه داد و از آنجا چندین نسخه منتشر کرد.

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

فان روسوم در مدت فعالیت خود در CNRI، پروژه ی «برنامه‌نویسی کامپیوتر برای هر کس» (CP4E)Computer Programming for Everybody را ایجاد کرد تا برنامه‌نویسی را در دسترس افراد بیشتری قرار دهد افرادی که تنها سواد پایه‌ای در برنامه‌نویسی نویسی دارند. (با سواد پایه ای خواندن و نوشتن زبان انگلیسی و سواد ابتدایی ریاضی مقایسه کنید که از ملزومات استخدام شدن توسط کار فرمایان است) پایتون در این پروژه نقش اصلی را ایفا می‌کرد: به دلیل تمرکز روی نحو تمیز، از قبل مناسب بود، و اهداف CP4E شباهت‌هایی با سلف خود، یعنی ABC داشت. این پروژه توسط دارپا سرمایه‌گذاری شد.از سال ۲۰۰۷ پروژه CP4E غیرفعال شد، و با این حال پایتون تلاش می‌کند در نحو و معناشناسی خود به راحتی قابل یادگیری باشد و خیلی رازآلود نباشد، و برقراری ارتباط با غیر برنامه نویسان یک نگرانی فعال نباشد.


BeOpen

در سال ۲۰۰۰ تیم توسعه دهنده پایتون به BeOpen.com منتقل شد و بدین صورت تیمPythonLabs BeOpen شکل گرفت. CNRI درخواست کرد ورژن ۱٫۶ساخته شود، بدین ترتیب اعضای گروه توسعه دهنده پایتون را به جایی رساند که CNRI را ترک کنند. برنامه‌های انتشار ۱٫۶و ۲٫۰ همپوشانی قابل توجهی داشتند.پایتون ۲٫۰ تنها نسخه ای بود که BeOpen.com آن را طراحی کرده بود. بعد از نوشتن پایتون ۲٫۰، خیدو و دیگر توسعه دهندگان تیم PythonLabs به تولیدات دیجیتالی ای مثل نرم‌افزار زوپ Zope روی آوردند.

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


نسخه 2

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

پایتون ۲٫۲ در دسامبر ۲۰۰۱ منتشر شد. تغییر عمده در پایتون ۲٫۲ یکسان‌سازی نوع‌های پایتون که به زبان C نوشته شده بودند و نوع‌هایی که به زبان پایتون نوشته شده بوند (کلاس‌ها) به یک سلسله مراتب بود. این یکسان‌سازی اشیاء پایتون را کاملاً شیء گرا کرد.همچنین مولدها اضافه شدند که از زبان آیکون الهام گرفته شده بودند.

 

پایتون ۲٫۵ در سپتامبر ۲۰۰۶ منتشر شد و داری حکم with (statement)  بود، که کار آن جداکردن بلوک کد همراه با یک مدیر زمینه (context manager) بود (برای مثال، دستیابی به قفلی قبل از اجرای بلوک کد و آزاد سازی آن قفل پس از آن، یا بازکردن فایلی و سپس بستن آن)، اجازه دادن به رفتار شبیه به( Resource Acquisition Initialization (RAII و عوض کردن اصطلاح رایج try/finally است.

پایتون ۲٫۶ همزمان با پایتون ۳٫۰ منتشر شد و برخی از ویژگی‌های آن نسخه را نیز داشت، و از آن نسخه ویژگی اخطارها "warnings" اضافه شد که وظیفه ٔ آن نشان دادن یک پیام اخطار هنگام استفاده از ویژگی‌های حذف شده در پایتون ۳ بود. به همین ترتیب، پایتون ۲٫۷ همزمان با پایتون ۳٫۱ در تاریخ ۲۶ ژوئن ۲۰۰۹ منتشر شد،از آن پس انتشار موازی نسخه‌های 2.x و 3.x پایتون متوقف شد و پایتون ۲٫۷ آخرین نسخه در سری 2.x بود. در نوامبر ۲۰۱۴ اعلام شد که پایتون ۲٫۷ فقط تا سال ۲۰۲۰ پشتیبانی می‌شود و کاربران تشویق می‌شوند هرچه سریع تر به پایتون ۳ مهاجرت کنند .پشتیبانی از پایتون ۲٫۷ از اول ژانویه سال ۲۰۲۰ به پایان رسید. نسخه نهایی پایتون ۲ یعنی نسخه ۲٫۷٫۱۸ در تاریخ ۲۰ آوریل ۲۰۲۰ منتشر شدکه شامل رفع باگ‌های حساس و release blockers می‌شد. که این نشانگر پایان زندگی end-of-life پایتون ۲ است.

نسخه 3

پایتون ۳٫۰ (که به آن پایتون ۳۰۰۰ و Py3k نیز گفته می‌شود) در ۳ دسامبر ۲۰۰۸ منتشر شد. این نسخه برای اصلاح نقایص اساسی طراحی شده‌بود - تغییرات مورد نیاز نمی‌توانستند با رعایت کامل سازگاری عقبرو با سری 2.x، انجام شوند همین موجب شد که به نسخه اصلی جدیدی نیاز باشد. اصل راهنمای پایتون ۳ چنین بود: «کاهش ویژگی‌های‌های تکرار شده به وسیله حذف روش‌های قدیمی انجام کار».

پایتون ۳ با فلسفه نسخه‌های قبلی توسعه داده شد. با این حال از آنجایی که در پایتون روش‌های نو و زائد برای انجام یک کار مشخص انباشته شده بود پایتون ۳ بر حذف ساختارها و ماژول‌های تکراری مبادرت ورزید؛ و این کار را باتوجه به اصل «برای انجام این کار باید یک (ترجیها یک) روش آشکار وجود داشته باشد.» انجام داد.

با این وجود، پایتون ۳٫۰ چند پارادایمی باقی ماند و کد نویسان همچنان می‌توانستند، از پارادایم‌های برنامه‌نویسی مختلفی مثل شیء گرا، ساخت یافته و تابعی پیروی کنند، اما در چنین حالتی که گزینه‌های گوناگونی وجود داشتند، مقرر شد جزئیات در پایتون ۳٫۰ واضح تر از آنچه در پایتون 2.x بود، باشد.

 

 

     معرفی IDE های پایتون

IDE مخفف کلمات Integrated Development Environment است که به معنی " محیط توسعه‌ی یکپارچه " است. در دنیای برنامه نویسی،  به برنامه نویسان، " توسعه دهنده " یا " Developer " و به محیطی که آنها در آن کدنویسی می‌کنند، " محیط توسعه " یا " Development Environment " می‌گویند، یکپارچه هم به معنی این است که در IDE ها چند ابزار را با هم به شما عرضه می‌کنند، این ابزار ها عبارتند از :

1-     کامپایلر(Compiler) : کامپایلر وظیفه‌ی تبدیل کد های شما به کدهایی که برای کامپیوتر قابل درک باشد را دارد تا شما بتوانید کد ها و یا برنامه‌ای که نوشتید را اجرا کنید.

2-     خطایاب(Debugger) : خطایاب کد های شما را آنالیز میکند و درصورت وجود مشکل آن را به شما گزارش میدهد.

3-     ویرایشگر کد(Code Editor) : همینطور که از اسم این ابزار پیداست، به شما کمک میکند که کد هایتان را ویرایش کنید.

همه‌ی این ابزار ها در IDE جمع شده و به شما در نوشتن برنامه هایتان کمک میکند.


1- پایچارم (Pycharm):

پایچارم یکی از بهترین IDE های پایتون به حساب می‌آید که شرکت معروف و IDE ساز جت برینز (JetBrains) آن را ساخته است. پایچارم بر روی ویندوز، لینوکس و مک قابل اجراست و همچنین از هر دو نسخه‌ی پایتون یعنی نسخه‌ های ۲ و ۳ پشتتیبانی میکند. پایچارم باعث کدنویسی سریعتر، تمیز تر و هوشمندانه تر در زبان پایتون میشود. زمانی که شما درحال نوشتن کدها هستید ، مفسر هوشمند آن به صورت آنی کدهای شما را آنالیز میکند و خطا ها و مشکلات را به شما گذارش میدهد. داخل این IDE یک Debugger قدرتمند قرار گرفته است که شما میتوانید با استفاده از آن کد های خود را دیباگ کنید. همچنین پایچارم از قابلیت تکمیل خودکار کد پشتیبانی میکن، به همین خاطر سرعت شما در کد نویسی افزایش پیدا میکند. یکی دیگر از ویژگی های عالی پایچارم، پشتیبانی از Google App Engine است که به شما کمک میکند تا نرم افزار های خود را که به زبان پایتون نوشته اید، در گوگل اپز منتشر کنید.

پایچارم در دو نسخه‌ی Community و Professional عرضه شده است. نسخه‌ی Community رایگان است و شما میتوانید بدون کرک کردن از آن استفاده کنید اما برای استفاده از نسخه‌ی Professional باید لایسنس خریداری کنید، البته اگر در اینترنت جست و جو کنید میتوانید کرک این نسخه را پیدا کنید و عملیات کرک کردن هم مشکل و سخت نیست. این حقیقت که PyCharm توسط شرکت‌های بسیاری بزرگی مانند HP، پینترست (Pinterest)، «توئیتر» (Twitter)، «سیمنتک» (Symantec Corporation) و «گروپون» (Groupon) مورد استفاده قرار می‌گیرد حاکی از محبوبیت بالای آن است. برخی از ویژگی‌های کلیدی PyCharm در ادامه بیان شده‌اند.

1-      این محیط توسعه یکپارچه پایتون شامل کامل‌سازی کدها به صورت خلاقانه برای کلاس‌ها، اشیا و کلیدواژه‌ها است. همچنین، دارای قابلیت قرار دادن «تورفتگی» (Indentation) و قالب‌بندی کد، قطعه کدهای قابل سفارشی‌سازی و قالب‌ها است.

2-      پای‌چارم خطاها را در هنگام تایپ کد توسط کاربر، نمایش می‌دهد. همچنین، از PEP-8 برای پایتون بهره می‌برد که به نوشتن کدهای تمییزی که پشتیبانی از آن‌ها در دیگر زبان‌ها آسان است کمک می‌کند.

3-      پایچارم از «بازسازی کد» (Refactoring) سریع و امن پشتیبانی می‌کند.

4-      این محیط توسعه یکپارچه دارای دیباگر برای پایتون و جاوااسکریپت با رابط کاربری گرافیکی است. کاربر می‌توان تست‌ها را با استفاده از اجرا کننده تست مبتنی بر رابط کاربری گرافیکی و دستیار کد بسازد و اجرا کند.

5-      دارای نمایش مستندات/تعاریف سریع است که با بهره‌گیری از آن کاربر می‌تواند مستندات یا تعاریف اشیا را در محلی بدون از دست دادن محتوا ببیند.

 

تصویری از محیط پایچارم


مهم‌ترین ویژگی که این محیط توسعه یکپارچه را برای یادگیری ماشین مناسب می‌سازد پشتیبانی از کتابخانه‌هایی مانند NumPy ،Matplotlib ،Scikit-Learn و Pandas است. ویژگی‌هایی مانند حالت تعاملی Matplotlib که هم در پایتون و هم کنسول دیباگر کار می‌کنند، می‌توانند نمودارها را در زمان واقعی مدیریت، ترسیم و در آن‌ها جست‌و‌جو کنند. همچنین، کاربر می‌تواند محیط‌های متفاوتی (پایتون ۲.۷، پایتون ۳.۵، محیط مجازی) را بر اساس نوع پروژه تعریف کند.


2-ویژوال استودیو کد (Vscode):

 

 ویژوال استودیو کد نام IDE رایگان و کم حجمی است که کمپانی معروف و شناخته شده‌ی مایکروسافت آن را به وجود آورده است. این IDE برای اولین بار در 29 آوریل سال 2015 معرفی شد و مانند پایچارم قابل اجرا بر روی سیستم عامل های ویندوز، لینوکس و مک است. مامیتوانیم با این IDE به اکثر زبان های برنامه نویسی از جمله پایتون، کدنویسی کنیم و برای این کار فقط کافیست که افزونه های زبان مورد نظر خود را نصب کنیم. این IDE نیز مانند پایچارم از تکمیل خودکار کد ها پشتیبانی میکند یعنی نیازی نیست که ما همه‌ی کد مورد نظر را تایپ کنید فقط کافیست که قسمتی از آن را تایپ کرده و از پیشنهاد های vscode آن کد را انتخاب کنید. در این صورت خود نرم افزار کد را کامل میکند و همین امر باعث سریعتر شدن کدنویسی ما میشود.

                                                            محیط Vscode

 

3- ژوپیتر/آی‌پایتون نوت‌بوک :

«پروژه ژوپیتر» (Project Jupyter) به عنوان یک اشتقاق از «آی‌پایتون» (IPython) در سال ۲۰۱۴ برای پشتیبانی از محاسبات علمی و «علم داده» (Data Science) به صورت تعاملی در بسیاری از زبان‌های برنامه‌نویسی شروع به کار کرد. توسعه‌دهندگان IPython Notebook می‌گویند: «IPython نسخه ۳ آخرین انتشار یکپارچه آن بوده است. از نسخه ۴ به بعد، بخش‌های مستقل زبانی (language-agnostic) پروژه شامل نوت‌بوک، پروتکل پیام، برنامه کاربردی وب نوت‌بوک و دیگر موارد به یک پروژه دیگر با نام Jupyter انتقال داده شده‌اند. خود IPython بر پایتون تعاملی، بخشی از چیزی که کرنل پایتون را برای ژوپیتر فراهم می‌کند، متمرکز شده است». ژوپیتر از سه مولفه نوت‌بوک برنامه‌های کاربردی وب، کرنل و مستندات نوت‌بوک تشکیل شده است. برخی از ویژگی‌های کلیدی این محیط توسعه یکپارچه پایتون برای یادگیری ماشین در ادامه بیان شده‌اند.

1-      «متن‌باز» (Open Source) است.

2-      می‌تواند تا ۴۰ زبان را پشتیبانی کند و شامل زبان‌های محبوب برای علم داده شامل پایتون، R، «اسکالا» (Scala)، «جولیا» (Julia) و دیگر موارد می‌شود.

3-      این IDE امکان ساخت و به اشتراک‌گذاری اسناد را با معادلات، بصری‌سازی و کدهای زنده می‌دهد.

4-      ویجت‌های تعاملی وجود دارند که از آن‌ها کدها می‌توانند خروجی‌هایی مانند ویدئوها، تصاویر و «لاتک» (LaTeX) تولید کنند. علاوه بر این، ویجت‌های تعاملی برای بصری‌سازی و دستکاری داده‌ها در زمان واقعی نیز قابل استفاده هستند.

5-      این محیط دارای یکپارچه‌سازی «کلان‌داده» (Big Data) نیز هست که با بهره‌گیری از آن می‌توان از ابزارهای کلان داده مانند «آپاچی اسپارک» (Apache Spark)، در اسکالا، پایتون و R بهره‌مند شد.

6-      «زبان نشانه‌گذاری مارک‌داون» (Markdown Markup Language) دارای قابلیت افزودن «توضیحات» «Commentary» به کد، به شکلی است که کاربر می‌تواند منطق و فرآیند فکری را درون نوت‌بوک و نه نظرات داخل خود پایتون ذخیره کند.


 

از جمله کاربردهای Jupyter notebook می‌توان به «پاکسازی داده» (Data Cleaning)، «تبدیل داده» (Data Transformation)، «مدل‌سازی آماری» (Statistical Modelling) و یادگیری ماشین اشاره کرد. برخی از ویژگی‌های اختصاصی یادگیری ماشین به صورت یکپارچه شده در ژوپیتر نوت‌بوک موجود هستند که از آن جمله می‌توان به کتابخانه‌های NumPy ،Matplotlib و Pandas اشاره کرد. دیگر ویژگی قابل توجه Jupyter notebook آن است که می‌تواند نمودارهای حاصل از اجرای سلول‌های کد را نمایش دهد. از این محیط توسعه یکپارچه پایتون برای یادگیری ماشین و علم داده در حال حاضر در شرکت‌های محبوبی مانند گوگل، مایکروسافت و IBM و مراکز آموزشی مانند «دانشگاه برکلی» (UC Berkeley) و «دانشگاه ایالتی میشیگان» (Michigan State University) استفاده می‌شود.


4- اسپایدر

«اسپایدر» (SPYDER) سرنامی برای «Scientific PYthon Development EnviRonment» است. توسعه‌دهنده اصلی این محیط توسعه که به طور رسمی در ۱۸ اکتبر ۲۰۱۹ منتشر شد «پیر ریبه» (Pierre Raybaut) است. Spyder به زبان پایتون نوشته شده و برخی از ویژگی‌های کلیدی آن در ادامه بیان شده‌اند.

1-       متن‌باز است.

2-        ویرایشگر آن از  code introspection/تحلیل کد، تکمیل کد، انشعاب افقی و عمودی و تعریف goto پشتیبانی می‌کند.

3-       این محیط توسعه با فضای کاری کنسول IPython و پایتون منتشر می‌شود و از دیباگ کردن در زمان اجرا (هنگامی که کاربر کد را تایپ می‌کند خطاها نمایش داده می‌شوند) پشتیبانی می‌کند.

4-        این محیط توسعه دارای یک نمایشگر اسناد است که در آن اسناد مرتبط با کلاس‌ها یا توابعی که در ویرایشگر یا کنسول فراخوانی می‌شوند نمایش داده می‌شوند.

5-        Spyder از قابلیت «جست‌و‌جوگر متغیر» (Variable Explorer) پشتیبانی می‌کند که با بهره‌گیری از آن کاربر می‌تواند متغیرهایی را که در طول اجرای فایل از رابط کاربری گرافیکی ساخته شده‌اند، مانند آرایه Numpy را جست‌و‌جو و ویرایش کند.


محیط اسپایدر


این محیط توسعه، Matplotlib ،Scipy ،NumPy و دیگر کتابخانه‌های علمی را یکپارچه می‌کند. Spyder هنگامی که به عنوان یک کنسول تعاملی برای ساخت و تست برنامه‌های کاربردی علمی و عددی به کار می‌رود و برای اسکریپت‌هایی که با بهره‌گیری از کتابخانه‌هایی مانند SciPy ،NumPy و Matplotlib ساخته می‌شوند گزینه فوق‌العاده‌ای محسوب می‌شود. علاوه بر این‌ها، Spyder  یک نرم‌افزار سبک و ساده با نصب آسان است که مستندات همراه با جزئیات زیادی دارد.


5- رودِئو

«رودِئو» (Rodeo) یک محیط توسعه یکپارچه ویژه انجام پروژه‌های یادگیری ماشین و علم داده در پایتون است. این محیط توسعه توسط Yhat ساخت شده است و از کرنل IPython استفاده می‌کند. برخی از ویژگی‌های کلیدی این IDE در ادامه مورد بررسی قرار گرفته‌اند.

1-      جست‌و‌جو، مقایسه و تعامل با دیتافریم‌ها و نمودارها را آسان می‌کند.

2-      ویرایشگر متن Rodeo دارای قابلیت «تکمیل خودکار» (Autocomplete)، «برجسته‌سازی نحو» (Syntax Highlighting) و پشتیبانی از IPython توکار است که کدنویسی را سریع‌تر می‌سازد.

3-       Rodeo  با راهنمای پایتون یکپارچه شده منتشر می‌شود و دارای «تقلب‌نامه‌هایی» (Cheat Sheets) برای ارجاع سریع به مباحث گوناگون است.

این محیط توسعه برای پژوهشگران و دانشمندانی که در R و محیط توسعه یکپارچه RStudio کار می‌کنند، مفید است. این محیط توسعه دارای ویژگی‌هایی مشابه Spyder است ولی فاقد ویژگی های گوناگون دیگری از جمله PEP 8 و برخی موارد دیگر است. احتمال دارد Rodeo در آینده با ویژگی‌های جدیدی عرضه شود، زیرا در حال حاضر نسبتا جدید و در آغاز راه است.

محیط Rodeo


6- جینی

«جینی» (Geany) یک محیط توسعه یکپارچه پایتون است که توسط «انریکه توگلر» (Enrico Tröger) در C و ++C نوشته و اولین بار در تاریخ ۱۹ اکتبر ۲۰۰۵ منتشر شده است. جینی در واقع یک ویرایشگر متن سبک و چندسکویی محسوب می‌شود که دارای ویژگی‌های پایه‌ای یک IDE است و برای مثال نسخه ویندوز آن تنها ۱۴ مگابایت وزن دارد. برخی از ویژگی‌های کلیدی جینی در ادامه بیان شده‌اند.

1-      ویرایشگر جینی از برجسته‌سازی متن و شماره‌گذاری خطوط پشتیبانی می‌کند.

2-       این محیط توسعه با ویژگی‌هایی مانند تکمیل خودکار، بستن خودکار براکت‌ها، بستن خودکار تگ HTML و XML همراه است.

3-      جینی دارای قابلیت «تا کردن کد» (Code Folding) و «ناوبری کد» (Code Navigation) است.

4-      کاربر با استفاده از Geany می‌تواند سیستم‌هایی برای کامپایل و اجرای کد با کمک کدهای خارجی بسازد.

شایان توجه است افرادی که با RStudio آشنا هستند و به دنبال گزینه‌ای مشابه برای پایتون می‌گردند، این محیط توسعه یکپارچه از نسخه 0.98.932 که در ۱۸ ژوئن سال ۲۰۱۴ منتشر شد پشتیبانی از پایتون را نیز اضافه کرده است. البته میزان پشتیبانی از پایتون در مقایسه با R در این محیط توسعه یکپارچه بسیار ناچیز محسوب می‌شود.

محیط جینی


AWS Cloud9-7

Aws Clouding یک IDE بر پایه محیط ابری است. این IDE توسط Amazon Web Services طراحی و تولید شده است و زیان های بسیاری را منجمله پایتون، PHP و جاوا اسکریپت را پشتیبانی می کند. از ویژگی های مهم آن این است که بر پایه Browser بوده و می تواند بر روی EC2 instance و یا سرور لینوکس نیز اجرا شود.

این ابزار برای توسعه دهندگانی طراحی شده است که در حال حاضر از سرویس های ابرهای AWS استفاده می کنند و با اکثر ابزار توسعه دیگر آن ادغام شده است.Cloud9  دارای IDE کاملی برای نوشتن، اشکال زدایی و اجرای پروژه ها است.علاوه بر ویژگی های یکIDE استاندارد، Cloud9 همچنین دارای قابلیت های پیشرفته تری مانند ترمینال داخلی، اشکال زدایی یکپارچه و ابزار تحویل مداوم است. همچنین تیم ها می توانند با هم در Cloud9 کار کرده و با استفاده از قابلیت چت، با تبادل نظر مناسب با هم همکاری نمایند.


Komodo IDE

Komodo IDE یکی از نرم افزارهای چند زبانه است که توسط شرکت Active State تولید شده است. این IDE از زبان هایی همانند Python, PHP, Perl, Go, Ruby پشتبانی کرده و همچنین برای توسعه وب مورد استفاده قرار می گیرد. این شرکت محصولاتی همچون Komodo Edit و ActiveTcl را نیز توسعه داده است.

این محصول مجهز به code intelligence برای تسهیل تکمیل خودکار و refactoring است. همچنین ابزارهایی برای اشکالزدایی و تست فراهم می کند. این پلت فرم از چندین فرمت Source Control مانند Git،    Mercurial و Subversion پشتیبانی می کند.

تیم ها می توانند از ویژگی های همکاری در برنامه نویسی استفاده کنند و گردش کارهایی را برای ناوبری فایل و پروژه تعریف کنند. همچنین با استفاده از یک مجموعه گسترده از پلاگین ها برای سفارشی کردن تجربه کاربر و گسترش قابلیت های مورد استفاده قرار گیرد.

محیط Komodo IDE

Codenvy-8 

Codenvy حیط توسعه ای است که برمبنای ابزار متن باز Eclipse Che تولید شده است. طراحی و تولید و پشتیبانی این IDE بر عهده شرکت Red Hat است.این ابزار برای تیم های کوچک (تا ۳ نفر) رایگان است. ولی برای تیم های بزرگ تر طرح هایی را برای پرداخت ارائه می دهد.

این IDE دارای ابزارهایی است که از ترکیب ویژگی های IDEها همراه با ویژگی های مدیریت پیکربندی در یک محیط مبتنی بر مرورگر است ایجاد شده است. فضاهای کاری از تهدیدات خارجی محافظت می شود.

ویژگی های برنامه نویسی عبارتند از تکمیل خودکار، بررسی خطا و اشکال زدایی. علاوه بر این، محصول Docker runtimes، دسترسی از طریق SSH و دسترسی ترمینال root را تسهیل می کند.


محیط Codenvy

KDevelop-9

Kdevelop یک نرم افزار مجای و نسخه باز است که قادر به عملکرد در کلیه سیستم عامل ها و پشتیبانی از زبانهای برنامه نویسی C, C++, Python, QML/JavaScript و PHP را داراست. این IDE قابلیت پشتیبانی از Source Control هایی مانند Git, Bazaar و subversion را می دهد. تولید کننده آن یعنی شرکت KDE محصولات دیگری چون Lokalize, Konsole و Yakuakeرا نیز تولید کرده است.



محیط KDevelop

 

 

Anjuta-10

Anjuta یک استودیو توسعه نرم افزار و در حقیق IDE است که برنامه نویسی در C, C++, Java, JavaScript, Python و Vala را پشتیبانی می کند. دارای رابط کاربر انعطاف پذیر و سیستم docking است که به کاربران اجازه می دهد تا تعدادی از اجزای UI  خود را سفارشی کنند.

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


محیط Anjuta

Wing Python IDE-11

Wing Python IDE به طور خاص برای پایتون طراحی شده است. این در سه نسخه منتشر می شود، ۱۰۱, Personal, Pro. نسخه ۱۰۱ ساده با اشکال زدایی مینیمالیستی، به علاوه ویرایشگر و ویژگی های جستجو است.

نسخه Personal پیشرفت تر است. شامل یک ویرایشگر متن کامل است. به علاوه شامل نسخه محدودی از کنترل محدودیت کد و ویژگی های مدیریت پروژه است.Wing Pro تمام این ویژگی ها به علاوه توسعه از راه دور، تست واحد، refactoring، پشتیبانی از چارچوب و بیشتر را نیز ارائه می دهد.


                                                                 محیط Wing Python IDE

Eclipse-12

Eclipse نیز یکی از رایج ترین IDE های موجود است. در واقع این IDE برای برنامه نویسی C و C++ تولید شده است. ولی طیف گسترده ای از پلاگین ها برای توسعه پایتون با استفاده از آن وجود دارد.

Eclipse یکی از سفارشی ترین IDE های موجود در بازار است. بیش از هزاران تابع و ابزار در بازار برای این IDE وجود دارد.

نظرات 1 + ارسال نظر
محمدرضا دهقانی محمودآبادی چهارشنبه 15 اردیبهشت 1400 ساعت 11:44 https://ire-dehghani.blogsky.com/

بسیار عالی سرکار خانم رسولی
همیشه موفق و موید باشید

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