مقدمه ی کتاب
از PyLearn.com، دانشنامهٔ آزاد.
مسلما یکی از سودمندترین اختراعات بشر تا به امروز کامپیوترها بوده اند. دستگاه هایی که هزاران بار سریعتر از انسان فکر میکنند و سرعت عملشان به طرز غیر قابل باوری بالاست. سرعت و قدرت، امکان انجام خیلی از کارهایی را فراهم کردند که انسان به طور عادی از انجام آن ها عاجز بود. اما یک مشکل وجود داشت: این دستگاه ها به همان اندازه که قوی بودند ، کم هوش هم بودند؛ آن ها به طور عادی هیچ عملی انجام نمی دادند مگر این که به صراحت از آن ها درخواست می شد. اما این درخواست چگونه باید صورت می گرفت؟ باید راهی برای گفتگو با آن ها پیدا می شد. و در این زمان بود که متخصصان تصمیم گرفتند زبان های مخصوصی را بوجود بیاورند تابتوانند با کامپیوترها گفتگو کنند. این زبان های مخصوص به اصطلاح زبان های برنامه نویسی کامپیوتر نام گرفتند...
به نسل اولیه زبان های برنامه نویسی، زبان های سطح پایین گفته می شد، چرا که به سختی قابل یادگیری و به کارگیری بودند. پیاده سازی اعمالی ابتدایی توسط این زبان ها باعث می شد مدت ها وقت با ارزش برنامه نویسان گرفته شود. اما وضع به همین منوال نماند و با گذشت زمان زبان های جدیدی به وجود آمدند که آموختن آن ها راحت تر بود. طی سه دهه ی اخیر، صنعت کامپیوتر مورد هجوم انواع زبان های برنامه نویسی قرار گرفت.
هر کدام از این زبان ها شیوه های مختلفی را برای برقراری ارتباط با کامپیوتر به کار می برند. زبان هایی مثل C، کدهایشان راتوسط برنامه ای به نام کامپایلر به کدهای قابل فهم برای کامپیوتر تبدیل می کنند. کدهای تولید شده از این زبان ها مستقیما با کامپیوتر ارتباط برقرار می کنند و به همین علت با سرعت بسیار بالایی اجرا می شوند. به این گونه از زبان ها اصطلاحا زبان های کامپایلری گفته می شود. بزرگترین مشکل این زبان ها این است که برنامه های تولید شده با آن ها به پلتفرم نرم افزاری و سخت افزاری دستگاه وابسته بوده و انتقال آن ها بین پلتفرم های مختلف چندان آسان نیست. از طرفی دیگر برنامه نویسی با این زبان ها آنقدرها هم آسان نبوده و هنوز هم برنامه نویسان برای برنامه نویسی با آن ها سختی های زیادی را متحمل می شوند.
عده ایی دیگر از زبان ها مثل جاوا تکنیک متفاوتی را به کار می برند: به جای اینکه کدهایشان را مستقیما به خورد کامپیوتر بدهند، کامپایلر را وادار می کنند تا کدها را به یک زبان میانی و قابل حمل ترجمه کند؛ سپس از برنامه ای دیگر به نام مفسر برای تفسیر این کد های میانی جدید استفاده می نمایند. در حقیقت مفسر کدهای ترجمه شده از طرف کامپایلر را تفسیر می کند و مسئولیت اجرای برنامه رابه عهده می گیرد. این گونه زبان هابا ساده تر کردن فرآیند برنامه نویسی برای برنامه نویسان کار آن ها را راحت تر می کنند.
نوع دیگری از زبان ها هم هستند که فقط از روش تفسیر برای اجرای برنامه هایشان استفاده میکنند . تنها کار شما به عنوان برنامه نویس تمرکز روی کدنوشتن است؛ بقیه کارها تماما به مفسر سپرده می شود. برای مثال دیگر لازم نیست چرخه ی وقت گیر کامپایل را طی کنید یا نگران قابل حمل بودن برنامه ی خود باشید زیرا تمام این هامسائلی هستند که مفسر باید نگران آن ها باشد، نه خود شما! تقریبا همه ی زبان های تفسیری در دسته ی زبان های سطح بالا جای می گیرند. جالب است بدانید که بین دسته ی زبان های سطح بالا هم لایه های زیادی وجود دارد. هر چه زبان سطح بالاتر باشد، یعنی آسان تر است، قابل فهم تر است و تولید برنامه با آن سریع تر است. امکان استفاده از این سه اصل چیزی است که هر برنامه نویسی خواهان آن است.
زبانی که ما قصد داریم به شما معرفی کنیم زبانی است بسیار سطح بالا: پایتون؛ پایتون زبان پیشنهادی ما به شماست که به نظر اکثر برنامه نویسان توانسته است به بهترین شکل ممکن سه قابلیت اصلی یک زبان سطح بالا یعنی سهولت بیشتر، فهم راحت تر و توسعه ی سریعتر را پیاده سازی کند. کتابی که پیش روی شماست قرار است شما را با این زبان آشنا کند و نحوه ی استفاده از آن را به شما بیاموزد تا شما هم بتوانید از مزایای این زبان استفاده کنید. مسلما یادگیری یک زبان سطح بالای خوب به ضرر شما نخواهد بود. امروزه اکثر برنامه نویسان در حال جذب شدن به چنین زبان هایی هستند چرا که متوجه شده اند دنیای زبان های برنامه نویسی به عصرِ جدیدی پا گذاشته است؛ عصرِ زبان های تفسیری و سطح بالا که سعی دارند برنامه نویسی را برای برنامه نویسان دلچسب تر کنند... عصر زبان های خوش ساخت... عصرِ پایتون!

