چرا مردم از پایتون استفاده می کنند؟ چی پایتون رو خاص کرده؟

واقعاً راهی برای پاسخ به این سؤال با دقت کامل وجود ندارد. انتخاب ابزارهای توسعه گاهی بر اساس محدودیت های منحصر به فرد یا ترجیحات شخصی است.فاکتورهای اولیه ای که توسط کاربران پایتون ذکر شده اند عبارتند از:۱. کیفیت نرم افزار (Software Quality) برای بسیاری، تمرکز پایتون بر خوانایی، انسجام و کیفیت نرم افزار به طور کلی آن را از سایر ابزارهای دنیای اسکریپت متمایز می کند. کد پایتون طوری طراحی شده است که قابل خواندن باشد و از این رو قابل استفاده مجدد و نگهداری باشد – خیلی بیشتر از زبان های اسکریپت نویسی سنتی. یکنواختی کد پایتون درک آن را آسان می کند، حتی اگر آن را ننوشته باشید. علاوه بر این، پایتون از مکانیسم‌های استفاده مجدد نرم‌افزاری پیشرفته‌تر، مانند برنامه‌نویسی شی گرا (OO) و تابع پشتیبانی عمیقی دارد.۲. بهره وری توسعه دهندگان (Developer Productivity) پایتون بهره وری توسعه دهندگان را چندین برابر فراتر از زبان های کامپایل شده یا استاتیک تایپ شده مانند C، C++ و جاوا افزایش می دهد. کد پایتون معمولاً یک سوم تا سه یک پنجم اندازه کدهای C++ یا جاوا معادل است. این یعنی کمتر تایپ میکنی، کمتر دیباگ میکنی و کمتر نگهداری (maintain) میکنی. برنامه‌های پایتون نیز بلافاصله اجرا می‌شوند، بدون گام‌های طولانی کامپایل و پیوند مورد نیاز برخی ابزارهای دیگر، که باعث افزایش بیشتر سرعت برنامه‌نویس می‌شود.مثلا بیرون کشیدن سه کاراکتر اول از HelloWorldstr.Substring(0, 3) # C#str.substr(0, 3) # JavaScriptstr[0: 3] # Python۳. چند منظوره بودنmulti-purpose قابل استفاده برای رنج وسیعی از مشاغلData AnalysisAI/MLAutomationWeb AppsMobile AppsDesktop AppsTestingHacking۴. سطح بالا بودن high-level عدم نگرانی راجع به تسک های پیچیده مثل مدیریت حافظه که در زبان های مثل C++ درگیرش میشیم.۵. انجمن بزرگ huge community همیشه یکی برای کمک یا استخدام هست.۶. چندسکویی بودنcross-platform (Program portability) ایجاد و اجرای برنامه روی هر پلتفرم به آسانی. اکثر برنامه های پایتون بدون تغییر در تمام پلتفرم های اصلی کامپیوتر اجرا می شوند. به عنوان مثال، انتقال کد پایتون بین لینوکس و ویندوز، معمولاً فقط یک موضوع کپی کردن کد یک اسکریپت بین ماشین‌ها است. علاوه بر این، پایتون گزینه های متعددی را برای کدنویسی رابط های کاربر گرافیکی قابل حمل، برنامه های دسترسی به پایگاه داده، سیستم های مبتنی بر وب و موارد دیگر ارائه می دهد. حتی رابط های سیستم عامل، از جمله راه اندازی برنامه و پردازش دایرکتوری، در پایتون تا آنجا که ممکن است قابل حمل هستند.البته باید این رو هم در نظر گرفت که امروزه با وجود داکر چنین چیزی مزیت حساب نمیشه.۷. کتابخانه غنیlarge ecosystem مملو از ابزارها، فریمورک ها و پکیج ها. پایتون با مجموعه بزرگی از قابلیت های از پیش ساخته شده و قابل حمل ارائه می شود که به عنوان کتابخانه استاندارد شناخته می شود. این کتابخانه مجموعه ای از وظایف برنامه نویسی در سطح برنامه را پشتیبانی می کند، از تطبیق الگوی متن تا برنامه نویسی شبکه. علاوه بر این، پایتون را می توان با کتابخانه های شخصی و مجموعه وسیعی از نرم افزارهای پشتیبانی برنامه های third-party گسترش داد. دامنه third-party پایتون ابزارهایی را برای ساخت وب‌سایت، برنامه‌نویسی عددی، دسترسی به پورت سریال، توسعه بازی و موارد دیگر ارائه می‌کند. برای مثال، کتابخانه NumPy به عنوان یک معادل رایگان و قدرتمندتر برای سیستم برنامه نویسی عددی Matlab توصیف شده است.۸. یکپارچه سازی اجزا (Component integration) اسکریپت های پایتون می توانند با استفاده از مکانیسم های مختلف یکپارچه سازی به راحتی با سایر بخش های یک برنامه ارتباط برقرار کنند. چنین ادغام هایی به پایتون اجازه می دهد تا به عنوان یک ابزار سفارشی سازی و توسعه محصول استفاده شود. امروزه کد پایتون می تواند کتابخانه های C و C++ را فراخوانی کند، می تواند از برنامه های C و C++ فراخوانی شود، می تواند با اجزای جاوا و دات نت ادغام شود، می تواند از طریق فریم ورک هایی مانند COM و Silverlight ارتباط برقرار کند، می تواند با دستگاه ها از طریق پورت های سریال ارتباط برقرار کند، و از طریق شبکه با رابط هایی مانند SOAP، XML-RPC و CORBA می تواند تعامل داشته باشد و یک ابزار مستقل نیست.۹. لذت (Enjoyment) به دلیل سهولت استفاده و مجموعه ابزار داخلی پایتون، می تواند برنامه نویسی را لذت بخش تر کند. اگرچه این ممکن است یک مزیت نامشهود باشد، اما تأثیر آن بر بهره وری یک دارایی مهم است.