آموزش برنامه نویسی پایتون (قسمت اول: آشنایی با انواع زبان های برنامه نویسی)
بسیاری از پژوهشگران حوزه رایانه اعتقاد دارند دنیای کنونی را می توان "عصر هوش مصنوعی" نامید. ابرتکنولوژی جدیدی که هر روز حوزه نفوذ خود را گسترده تر کرده و تدریج به دورترین نقاط زندگی خصوصی انسان ها نیز پا می گذارد. چنین دیدگاهی در نگاه اول کمی دور از ذهن و البته ترسناک به نظر میرسد. ایده تسلط مفهومی انتزاعی که از کدها و الگوریتم ها تشکیل شده بر زندگی انسان حقیقتاً هراس انگیز است اما اگر کمی عقب تر بایستیم و از زاویه ای متفاوت به عصر هوش مصنوعی نگاه می کنیم، به راحتی مشاهده می شود که در صورت کسب مهارت های لازم چطور می توان این اسب سرکش تکنولوژیک را به خدمت انسان درآورد و تا چه اندازه از مزایای آن استفاده کرد. یکی از ملزومات مهارت یافتن در این حوزه فراگیری زبان های برنامه نویسی است. در حال حاضر زبان های بسیار زیادی در اختیار برنامه نویسان و محققین سراسر جهان قرار دارند و هر یک از آنها در بخش خاصی از علوم، صنعت و تجارت بیشترین امکانات را ارائه می دهند. اما یکی از محبوب ترین و کامل ترین ساختارهای برنامه نویسی حال حاضر جهان پایتون است. مجموعه ای از دستورالعمل ها و راهکارها که می توان به کمک یادگیری آن به یک دانشمند علوم رایانه تبدیل شد و سپس با مهارت بیشتر در حوزه های مختلف علمی از جمله هوش مصنوعی به فعالیت پرداخت. به همین دلیل دوره های آموزشی بسیار زیادی نیز به صورت های مختلف متنی، تصویری و چندرسانه ای در فضای وب برای یادگیری پایتون وجود دارند. بخش جدید وب سایت سخت افزار آموزش برنامه نویسی پایتون است که البته قصد ندارد خود را به عنوان بهترین مرجع آموزش برنامه نویسی معرفی کند و تنها تلاش خواهد کرد با زبانی ساده و به دور از پیچیدگی های رایج، مجموعه ای سودمند در اختیار کاربران فارسی زبان قرار دهد و به این ترتیب به نقطه آغازی برای فراگیری علوم عصر جدید برای بسیاری از کاربران تبدیل شود. مجموعه آموزش برنامه نویسی پایتون به صورت روزانه در وب سایت منتشر خواهد شد.
روز اول – زبان برنامه نویسی پایتون
همان طور که اشاره شد زبان برنامه نویسی مورد استفاده در این بخش آموزشی پایتون (Python) خواهد بود. پایتون نمونه ای از یک زبان برنامه نویسی سطح بالا است که از جمله نمونه های دیگر آن می توان به ++C، C، جاوا و پرل (Perl) اشاره کرد. در طرف مقابل زبان های برنامه نویسی سطح پایین نیز وجود دارند که از آنها با هنوان "زبان های ماشین" یا "زبان های اسمبلی" نیز یاد می شود. به زبان ساده، رایانه ها تنها می توانند برنامه هایی را اجرا کنند که به زبان های سطح پایین نوشته شده باشند. در نتیجه برنامه های نوشته شده به سایر زبان ها می بایست ابتدا پردازش شده و سپس برای اجرا در اختیار رایانه قرار داده شوند. این فرآیند پردازشی به کمی زمان نیاز دارد که یکی از ویژگی های منفی مشترک بین همه زبان های برنامه نویسی سطح بالا است.
با این حال مزایای برنامه نویسی با این زبان ها به اندازه ای زیاد هستند که می توان از این تنها نقطه ضعف چشم پوشی کرد. در درجه اول، برنامه نویسی به زبان های سطح بالا بسیار ساده تر از زبان های سطح پایین است، به زمان کمتری برای نوشتن آنها نیاز دارید و خواندن آنها توسط سایر برنامه نویسان ساده تر است. پس از این موارد می توان به قابلیت جا به جایی این برنامه ها اشاره کرد، به این معنی که برنامه های نوشته شده با زبانی مانند پایتون قابلیت اجرا بر روی انواع مختلف رایانه ها را دارند؛ این در حالیست که زبان های سطح پایین تنها بر روی یک نوع از رایانه ها اجرا می شوند و برای انتقال می بایست مجددا به برنامه نویسی پرداخت. به دلیل این مزایای کلیدی تقریبا تمامی برنامه های مهم با زبان های برنامه نویسی سطح بالا نوشته می شوند و از زبان های سطح پایین تنها در موارد بسیار تخصصی بهره گرفته می شود.
برنامه هایی که وظیفه پردازش زبان های سطح بالا به زبان های سطح پایین را بر عهده دارند دو نوع هستند: مترجم ها (Interpreter) و همگردان ها یا کامپایلرها (Compiler). برنامه های مترجم یک زبان سطح بالا را خوانده و اجرا می کنند و پردازش برنامه به صورت تدریجی در طول زمان انجام می شود تا برنامه به صورت خط به