آموزش برنامه نویسی پایتون (قسمت اول: آشنایی با انواع زبان های برنامه نویسی)
بسیاری از پژوهشگران حوزه رایانه اعتقاد دارند دنیای کنونی را می توان "عصر هوش مصنوعی" نامید. ابرتکنولوژی جدیدی که هر روز حوزه نفوذ خود را گسترده تر کرده و تدریج به دورترین نقاط زندگی خصوصی انسان ها نیز پا می گذارد. چنین دیدگاهی در نگاه اول کمی دور از ذهن و البته ترسناک به نظر میرسد. ایده تسلط مفهومی انتزاعی که از کدها و الگوریتم ها تشکیل شده بر زندگی انسان حقیقتاً هراس انگیز است اما اگر کمی عقب تر بایستیم و از زاویه ای متفاوت به عصر هوش مصنوعی نگاه می کنیم، به راحتی مشاهده می شود که در صورت کسب مهارت های لازم چطور می توان این اسب سرکش تکنولوژیک را به خدمت انسان درآورد و تا چه اندازه از مزایای آن استفاده کرد. یکی از ملزومات مهارت یافتن در این حوزه فراگیری زبان های برنامه نویسی است. در حال حاضر زبان های بسیار زیادی در اختیار برنامه نویسان و محققین سراسر جهان قرار دارند و هر یک از آنها در بخش خاصی از علوم، صنعت و تجارت بیشترین امکانات را ارائه می دهند. اما یکی از محبوب ترین و کامل ترین ساختارهای برنامه نویسی حال حاضر جهان پایتون است. مجموعه ای از دستورالعمل ها و راهکارها که می توان به کمک یادگیری آن به یک دانشمند علوم رایانه تبدیل شد و سپس با مهارت بیشتر در حوزه های مختلف علمی از جمله هوش مصنوعی به فعالیت پرداخت. به همین دلیل دوره های آموزشی بسیار زیادی نیز به صورت های مختلف متنی، تصویری و چندرسانه ای در فضای وب برای یادگیری پایتون وجود دارند. بخش جدید وب سایت سخت افزار آموزش برنامه نویسی پایتون است که البته قصد ندارد خود را به عنوان بهترین مرجع آموزش برنامه نویسی معرفی کند و تنها تلاش خواهد کرد با زبانی ساده و به دور از پیچیدگی های رایج، مجموعه ای سودمند در اختیار کاربران فارسی زبان قرار دهد و به این ترتیب به نقطه آغازی برای فراگیری علوم عصر جدید برای بسیاری از کاربران تبدیل شود. مجموعه آموزش برنامه نویسی پایتون به صورت روزانه در وب سایت منتشر خواهد شد.
روز اول – زبان برنامه نویسی پایتون
همان طور که اشاره شد زبان برنامه نویسی مورد استفاده در این بخش آموزشی پایتون (Python) خواهد بود. پایتون نمونه ای از یک زبان برنامه نویسی سطح بالا است که از جمله نمونه های دیگر آن می توان به ++C، C، جاوا و پرل (Perl) اشاره کرد. در طرف مقابل زبان های برنامه نویسی سطح پایین نیز وجود دارند که از آنها با هنوان "زبان های ماشین" یا "زبان های اسمبلی" نیز یاد می شود. به زبان ساده، رایانه ها تنها می توانند برنامه هایی را اجرا کنند که به زبان های سطح پایین نوشته شده باشند. در نتیجه برنامه های نوشته شده به سایر زبان ها می بایست ابتدا پردازش شده و سپس برای اجرا در اختیار رایانه قرار داده شوند. این فرآیند پردازشی به کمی زمان نیاز دارد که یکی از ویژگی های منفی مشترک بین همه زبان های برنامه نویسی سطح بالا است.
با این حال مزایای برنامه نویسی با این زبان ها به اندازه ای زیاد هستند که می توان از این تنها نقطه ضعف چشم پوشی کرد. در درجه اول، برنامه نویسی به زبان های سطح بالا بسیار ساده تر از زبان های سطح پایین است، به زمان کمتری برای نوشتن آنها نیاز دارید و خواندن آنها توسط سایر برنامه نویسان ساده تر است. پس از این موارد می توان به قابلیت جا به جایی این برنامه ها اشاره کرد، به این معنی که برنامه های نوشته شده با زبانی مانند پایتون قابلیت اجرا بر روی انواع مختلف رایانه ها را دارند؛ این در حالیست که زبان های سطح پایین تنها بر روی یک نوع از رایانه ها اجرا می شوند و برای انتقال می بایست مجددا به برنامه نویسی پرداخت. به دلیل این مزایای کلیدی تقریبا تمامی برنامه های مهم با زبان های برنامه نویسی سطح بالا نوشته می شوند و از زبان های سطح پایین تنها در موارد بسیار تخصصی بهره گرفته می شود.
برنامه هایی که وظیفه پردازش زبان های سطح بالا به زبان های سطح پایین را بر عهده دارند دو نوع هستند: مترجم ها (Interpreter) و همگردان ها یا کامپایلرها (Compiler). برنامه های مترجم یک زبان سطح بالا را خوانده و اجرا می کنند و پردازش برنامه به صورت تدریجی در طول زمان انجام می شود تا برنامه به صورت خط به خط خوانده و اجرا شود.
اما کامپایلرها ابتدا برنامه را خوانده، آن را به صورت کامل به زبان سطح پایین تبدیل می کنند و سپس اجرای برنامه آغاز می شود. در این شرایط به برنامه نوشته شده در زبان سطح بالا "کد مرجع" یا Source Code گفته می شود و برنامه تبدیل شده "کد هدف" یا Object Code با به صورت ساده تر برنامه قابل اجرا (Executable) نام خواهد داشت. پس از همگردانی کامل برنامه، می توان آن را در دفعات بعدی بدون نیاز به عمل کامپایل اجرا کرد.
پایتون یک زبان ترجمه شده است زیرا برنامه های نوشته شده با پایتون توسط یک مترجم اجرا می شوند. دو راه برای استفاده از مترجم ها وجود دارد که حالت تعاملی (interactive mode) و حالت متنی (script mode) نام دارند. در حالت تعاملی شما برنامه پایتون را می نویسید و مترجم نتیجه آن را نمایش می دهد:
1+1<<<
2
همچنین شما می توانید کد نوشته شده را در یک فایل ذخیره کرده و از مترجم بخواهید محتوای فایل را که متن یا اسکریپت نام دارد ترجمه و اجرا کند. اسکریپت های پایتون دارای پسوند py. هستند.
برای اجرای اسکریپت ها باید اسم فایل را به مترجم اعلام کنید. برای مثال اگر اسکریپت شما weather.py نام دارد و از پنجره دستور UNIX استفاده می کند کافیست دستور python weather.py را تایپ کنید تا برنامه اجرا شود. البته این کار در محیط ویندوز کمی متفاوت است شما شرایط کلی تقریبا یکسان خواهد بود.
استفاده از حالت تعاملی برای اجرای برنامه های کوچک و آزمایش های جزئی کاربردی خواهد بود زیرا می توانید به سرعت یک بخش از کد را نوشته و نتیجه آن را مشاهده کنید. اما برنامه های پیشرفته تر نیازمند ذخیره سازی به صورت فایل برای اجرا تغییرات در مراحل بعدی است.
در قسمت دوم با ساختار کلی یک برنامه، خطایابی و انواع خطاهای برنامه نویسی آشنا خواهیم شد.