بنده دیروز در اتاق ماتریکس هشبنگ یک پرسش مطرح کردم: «عقیده شما در مورد پایتون چیست؟» یکی گفت زبان «چندشآور» و «احمقانهای» است اما دیگری جواب بهتری داد:
آسان برای یادگیری، عالی برای درست کردن پیشنمونه یا prototype و یادگیری تئوری مهندسی کامپیوتر، عالی برای اسکریپتهایی که میخواهی قابل پیشبینی باشند. [اما] افتضاح برای سرعت یا مقیاسپذیری.
Lance R. Vick
بله! پایتون واقعا برای یادگیری آسان است و میتوانید با آن سریع و طی مثلا چند ساعت(یا بیشتر یا کمتر که البته به اندازه و نوع پروژه بستگی دارد) یک پیشنمونه بسازید. علاوه بر اینها شما را با چیزی مثل مدیریت دستی حافظه درگیر نمیکند. در نتیجه کاندیدای خوبی برای یادگیری مهندسی کامپیوتر و شروع برنامهنویسی هست. اما خب همه خوبیها در این زبان برنامهنویسی جمع نشدهاند. پایتون با پیادهسازی پیشفرضش،که تقریبا همهجا استفاده میشود، «کند» است(میتوانید مطلب پیادهسازی الگوریتم وارشال در پایتون و راست را ببینید)
لنس ادامه داد:
اگر نیاز داری چیزی را یک بار در ثانیه روی یک پردازنده تک هستهای اجرا کنی، پایتون برای هک کردن(در اینجا نه به معنی نفوذ و خرابکاری –فاروق) چیزی که کار را انجام دهد، آسان خواهد بود. اگر به سرعت و امنیت نیاز داری، بهتر است به سراغ راست(Rust) یا گو(Go) بروی. اما آن دو سرمایهگذاری اولیه بیشتری را برای برنامهنویسی طلب میکنند. من ترجیح میدهم برای چیزی که تنها یکبار قرار است انجام شود و سرعت مهم نیست به سراغ پایتون بروم تا طی مدت زمان کوتاهی، مثلا چند ساعت آینده، شروع به کار کند. اما اگر مقیاسپذیری میخواهم یا قرار است با بارهای سنگین شبکه دست و پنجه نرم کنم و غیره، در آن صورت به سراغ گو میروم.
Lance R. Vick
لنس در اینجا به ضعف امنیتی پایتون در برنامههای چند ریسمانی(multi thread) اشاره میکند(به نظر من). البته خود در مورد آن چیزی نمیدانم و لیکن در موردش شنیدهام. سپس میگوید به سرمایهگذاری اولیه بیشتری نیاز داریم تا گو یا راست یا یاد بگیریم که جز این نیست مخصوصا که راست(و احتمالا گو) مقداری تفکر جدید میطلبد. و این تفکر جدید باید ساخته شود که زمان و انرژی میبرد.
نهایتا به عنوان یک خلاصه، اگر برای استفاده کوتاه مدت زبانی نیاز دارید یا برای شروع برنامهنویسی، پایتون گزینه بسیار خوبیست اما برای یک کار طولانی مدت بهتر است به سراغ گو یا راست بروید.