سلام خدمت دوستان کانونی. این روزها علم کامپیوتر به یکی از حوزههای مهم و تاثیرگذار دانشمون تبدیل شده. تا 30 یا 40 سال پیش هر گونه تغییر و پیشرفت تو این حوزه نظر آدمارو جلب نمیکرد. مگه کامپیوتر و همه متعلقات اون چقد تو زندگی نسلهای قبلی تاثیر داشت؟! اما الان چی؟ غیر از اینه که از تاکسی اینترنتی گرفتن بگیر تا سفارش غذا، از ثبتنام در دانشگاه بگیر تا فرستادن یه پست ساده از طریق همین کامپیوتر و دنیای هوش مصنوعی انجام میشه؟ پدربزرگها و مادربزرگهای ما باور میکردن که یه روزی میرسه که این دستگاه سنگین کم مصرف از نون شب هم مهمتر بشه؟
خب سوال اینه که چجوری میشه ما هم تو این جریان بزرگ سهیم بشیم. ما هم کارایی رو که دوست داریم تو این حوزه انجام بدیم. ما هم برای خودمون بازیها و برنامههای کامپیوتری یا حتی برنامههای گوشی طراحی کنیم؟ اینجاست که سروکار ما با هوش مصنوعی میافته. حالا هوش مصنوعی چیه؟ همونطور که گفتیم امروز شما گوشیتون رو برمیدارید و یه برنامه رو باز میکنید و از طریق گزینههای خاص بهش میگید: برنامهی عزیز برا این آدرس یه ماشین بفرست! قبلنا یه انسان باید اونور خط توی تاکسی تلفنی میشست و این درخواست شما رو انجام میداد، اما الان یه برنامه یا یه هوش مصنوعی شما رو به راننده تاکسی وصل میکنه. این کل ایده هوش مصنوعی هستش. یعنی چجوری ماشین منظور ما رو متوجه بشه و پاسخ مناسب بهمون بده.
خب حالا چجوری یه برنامه بسازیم و اونو شیرفهم کنیم که اگه مثلاً فلان درخواست رو ازت کردیم فلان کار رو برامون بکن؟ با زبانهای برنامهنویسی. بله اینکه اینهمه درباره برنامهنویسی شنیدیم و برامون سوال بود که به چه دردی میخوره. برنامهنویسی زبان بین انسان و کامپیوتره. جالب نیست؟! شما برای ارتباط با کامپیوتر نیاز دارید از یه نوع زبان خاص استفاده کنید و با اون زبان به کامپیوتر دستور بدید که یه کاری رو برای شما بکنه. همه ابزارهای کامپیوتر و گوشی، همه برنامههای روی گوشیتون، همه متنهای تو کامپیوتر و گوشیتون، از جمله همین مطلبی که میخوند با یه زبان برنامهنویسی نوشته شدن. خلاصه که اولین قدم برای ورود به حوزه هوش مصنوعی و کامپیوتر اینه که یه زبان برنامهنویسی بلد باشیم. ما اینجا تصمیم داریم به شما کد زدن تو یکی از جدیدترین و راحتترین و البته پرکاربردترین زبانهای برنامهنویسی یعنی پایتون یاد بدیم. دورهای که قراره با هم بگذرونیم دورهای است که دانشگاه پرینستون برگزار کرده. ما کارمون رو از نصب پایتون رو سیستمتون شروع خواهیم کرد و سر آخر بهتون یاد میدیم چجوری برحسب نیازهاتون کدهای پیچیدهای بنویسید. پس این سلسله از مطالب ما رو دنبال کنید.
برنامهنویسی چیه؟
یه برنامه مجموعهای از دستوراته که وقتی راهش میندازیم قراره یه کار مشخصی برامون بکنه. حالا برنامهنویسی (Programming) یه راهیه که بتونیم اون دستورات رو بنویسیم. ما انواع زبانهای برنامهنویسی رو داریم.
اولاً این زبانها به لحاظ گرامری متفاوتن. اجازه بدید با یه مثال توضیح بدیم. مثلاً تو فارسی میگیم «من رفتم خرید». همین جمله به انگلیسی میشه «I went shopping». همونطور که میبینید ما یه منظور رو به دو زبان مختلف با گرامر متفاوت بیان کردیم. ترجمه دقیق جمله انگلیسی میشه: من رفتم خرید کردن. اگه بخوایید به زبان انگلیسی به کسی بگید که رفتید خرید دقیقاً باید با همون قواعدی بگید که یه انگلیسی زبان میگه.
دوماً معنای کلمات و اشکال تو هر زبان برنامهنویسی میتونه متفاوت باشه. سوماً سرعت اجرای دستورات در هر زبانی فرق داره.
انواع زبان برنامهنویسی
کلاً دو دسته زبان برنامهنویسی وجود داره: زبانهای گیرنده-محور (Client-side) و زبانهای سرور-محور (Server-side).
زبانهای گیرنده-محور بیشتر روی گیرندهها کار میکنن. تو برنامهنویسی گیرنده-محور ما بیشتر با یوزر (User) و صفحهای که جلوش بازه سروکار داریم. مثلاً یه سایت تو اینترنت یه برنامه گیرنده-محوره که روی یه مرورگر اینترنت (به عنوان یه گیرنده) کار میکنه. پرکاربردترین زبانهای برنامهنویسی تو این حوزه عبارتند از:
HTML, CSS, JavaScript
برنامههای سرور-محور روی سرور یا کامپیوتر کار میکنن. این برنامهها بین رابط یوزر، مثلاً یه سایت یا Web browser، و برنامهای که تو سرور هست در رفت و برگشته. به بیان سادهتر یه گیرنده-محور روی چیزایی که میکنه که ما هر روزه روی صفحه کامپیوترمون میبینیم. مثلاً روی سایتهایی که تو اینترنت میبینیم یا روی طراحی و چینشی که تو اینستاگرام میبینیم. اما پشت همه این صفحات قابل مشاهده یه سری سرورها خوابیدن. مثلاً یه صفحه اینترنتی یه سری پیام یا درخواست به برنامهای روی سرور میفرسه و تو سرور اطلاعات یوز پردازش میشه. سرور-محورها میرن طرف برنامهنویسی روی سرورها. پرطرفدارترین زبانهای برنامهنویسی تو این حوزه عبارتند از: Python, Java, PHP, ASP.NET.
واژگان تخصصی
برنامهنویسی Programming
گیرنده-محور Client-side
سرور-محور Server-side
مرورگر شبکه Web browser
یوزر User
منابع
- Introduction to Python Programming - Module 1 : Course Introduction, Intro to Programming and The Python Language, Variables, Conditionals, Jupyter Notebook, and IDLE | Coursera
- Server-Side vs Client-Side Programming Languages | (techwebspace.com)
-https://www.bing.com/newtabredir?url=https%3A%2F%2Fwww.slaconsultantsindia.com%2Fhow-many-server-side-scripting-languages-are-used%2F
دوستان عزیزم؛ برای ارتباط با رتبه برترها صفحه اینستاگرام زیر رو دنبال کنید.