برای مطالعه بخش آموزش رایگان پایتون اینجا کلیک کنید
تا همین چند سال پیش صحبت کردن با کامپیوترها شبیه به فیلمهای علمی و تخیلی بود، اما امروزه مردم با سیری اپل، گوگلتاک یا کورتانا صحبت میکنند و جالب آنکه انتظار دارند این دستیاران شخصی به درستی به پرسشهای آنها پاسخ دهند. سوال کردن از یک کامپیوتر برای دریافت اطلاعات یک چیز است و تعامل سازنده برقرار کردن با کامپیوتر به شکلی که دستورات مدنظر شما را اجرا کند چیز دیگری است. زمانی که تصمیم میگیرید با یک کامپیوتر ارتباط برقرار کنید به یک زبان نیاز دارید. زبانی که در نقش یک رابط بتواند ارتباطی میان شما و کامپیوتر برقرار کند. در حقیقت زبانهای برنامهنویسی برای این منظور پدید آمدهاند که مشکل عدم برقراری ارتباط میان شما و کامپیوتر را حل کنند. در این میان پایتون در مقایسه با برخی از زبانهای برنامهنویسی سطح بالا و پایین قابلیتهای کاربردی بهتر و ترکیب نحوی سادهتری ارائه میکند.
چرا میخواهید با یک کامپیوتر صحبت کنید؟
صحبت کردن با یک کامپیوتر در نگاه اول ممکن است عجیب به نظر برسد، اما اینکار ضروری است، زیرا کامپیوترها نمیتوانند ذهن شما را بخوانند. در حقیقت بدون تبادل اطلاعات شما نمیتوانید کار چندان خاصی با ماشینها انجام دهید. در بیشتر موارد تعامل شما با کامپیوترها به شکل نامریی انجام میشود. بهطور مثال، زمانی که وارد یک اتاق چت آنلاین میشوید، ممکن است با خود تصور کنید که در حال برقراری ارتباط با فرد دیگری هستید، اما در اصل شما با کامپیوتر خود و کامپیوتری که متعلق به شخص دیگری است در حال برقراری ارتباط هستید. شکل زیر این مسئله را به خوبی نشان میدهد.
به نقش سرویس ابری در شکل بالا دقت کنید. ابر میتواند هر موجودیتی باشد، اما شما این موضوع را میدانید که ابر حداقل متشکل از کامپیوترهای دیگری است که برنامههایی روی آنها در حال اجرا است. این رایانهها به شما اجازه میدهند با دوستان خود گفتوگو کنید. در حالی که در پسزمینه اتفاقات پیچیده و زیادی رخ میدهد، اما شما با چند کلیک ساده با دوستتان گفتوگوی از راه دوری انجام میدهید.
یک برنامه کاربردی شکلی از یک ارتباط است
ارتباط با کامپیوترها از طریق برنامههای کاربردی انجام میشود. شما از یک برنامه کاربردی برای پاسخگویی به ایمیلها استفاده میکنید، در حالی که از برنامه دیگری برای خرید کالاها و از برنامه دیگری برای نمایش فیلمها استفاده میکنید. یک برنامه کاربردی در برخی موارد به شکل کوتاه شده اپ (App) نامیده میشود. یک برنامه کاربردی، ابزاری برای بیان ایدههای انسانی به کامپیوترها به شکلی است که کامپیوترها بتوانند ایده ذهنی ما را درک کرده و دادهها را به گونهای سیقل دهند که تعامل به شکل درستی انجام شود. برنامهنویسان سالهای متمادی وقت صرف کردهاند تا برنامههای کاربردی متنوعی را برای حوزههای مختلف ایجاد کنند. برنامههایی که همگی آنها با یک هدف ایجاد شدهاند که شما بتوانید با کامپیوتر خود به گفتوگو بپردازید. با این توصیف باید بگوییم زمانی که تصمیم میگیرید برنامهای را ایجاد کنید در حقیقت به دنبال آن هستید تا ایده ذهنی خود را به ماهیتی واقعی تبدیل کرده و با کامپیوتر خود گفتوگو کنید.
به روالهایی فکر کنید که در طول روز از آنها استفاده میکنید
یک روال یکی از پرکاربردترین واژههایی است که در دنیای برنامهنویسی و بانکهای اطلاعاتی آنرا مشاهده میکنید. برخی از مردم تصور میکنند یک روال/رویه (procedure) یا ماهیت پیچیده است. اما روال به مجموعهای ساده از مراحلی که برای انجام کارهای خود بر مبنای آنها گام بر میدارید اشاره دارد. بهطور مثال، شما برای آماده کردن یک نان توست مراحل زیر را انجام میدهید:
- نان و کره را از یخچال خارج میکنید.
- بسته نان را باز کرده و دو قطعه نان توست را از آن خارج میکنید.
- کاوری که روی توستر کشیدهاید را بر میدارید.
- هر برش از نان را درون شکاف درون توستر قرار میدهید.
- توستر را روی دمای پایین قرار میدهید تا نانها برشته شوند.
- صبر میکنید که این فرآیند کامل شود.
- نانهای برشته شده را از توستر خارج میکنید.
- نانها را درون بشقاب قرار میدهید.
- کره را روی نان توست میمالید.
روش یا روالی که شما بر پایه آن کار میکنید ممکن است متفاوت از روال بالا باشد، اما در هر صورت بعید است قبل از آنکه نان را درون توستر قرار دهید از آن استفاده کنید. مردم هیچگاه فکر نمیکنند که اینکار یک روال/رویه است، اما این دقیقا همان کاری است که همه مردم انجام میدهند. اکثر کارهایی که در طول روز انجام میدهید بر مبنای پیادهسازی خودآگاه یا ناخودآگاه روالها انجام میشوند. کامپیوترها نیز همانند انسانها برای انجام کارها مجبور هستند از روالها استفاده کنند. شما مجبور هستید به یک کامپیوتر بگویید که برای انجام درست یک وظیفه باید چه کارهایی را انجام دهد. اما اگر اتفاقات ناخواسته را پیشبینی نکرده باشید، برنامه شما با یک خطا (استثناء) روبرو شده و اجرای آن متوقف میشود. پیادهسازی روالها و پیشبینی بروز خطاها همگی درون یک برنامه تعریف میشوند. بهطور خلاصه، برنامه روال سادهای است که شما آنرا مینویسید و به یک کامپیوتر میگوید که چگونه و چه زمان و به چه شکلی یک کار را انجام دهد. با توجه به اینکه شما در طول عمر خود از روالها استفاده میکنید، با این مفهوم آشنا هستید، در نتیجه در دنیای برنامهنویسی تنها کاری که باید انجام دهید این است که از دانش ذاتی خود استفاده کرده و به کامپیوترها اعلام دارید که یک وظیفه خاص را چگونه باید انجام دهند. برای نوشتن یک روال خوب باید زمان قابل توجهی را صرف کنید، اما نوشتن یک روال به تنهایی کافی نیست. پس از نوشتن یک روال باید آنرا آزمایش کنید و ترجیحا به شخص دیگری نشان دهید تا روال شما را ارزیابی کند. یک کامپیوتر بهترین ابزاری است که برای آزمایش روال در اختیار شما قرار داد. زمانی که برنامهای را مینویسید، در حال نوشتن روالی است که مجموعهای از مراحلی را تعریف میکند که به کامپیوتر اعلام میدارد برای به سرانجام رساندن کاری که شما در ذهن دارید باید چگونه گام بردارد. اگر یک گام را فراموش کرده یا انجام ندهید، نتایجی که مدنظر دارید را به دست نخواهید آورد. این نکته مهم را به خاطر داشته باشید که کامپیوترها نمیدانند منظور شما از انجام یک کار چیست و همچنین نمیدانند یک کار را چگونه باید انجام دهند. تنها چیزی که کامپیوترها میدانند این است که شما با استفاده از روش خاصی به دنبال آن هستید تا روالی را اجرا کنید.
مردم روالهای شما را اجرا میکنند
روالهایی که شما مینویسید در نهایت از سوی مردم استفاده میشوند. مردم از روالهای شما برای انجام کارهایی استفاده میکنند که پیش از ارائه روال در انجام آن کارها با مشکل روبرو بودند. به عبارت دیگر، افراد از روالهای شما برای جبران کمبودها و مشکلاتی که در زندگی داشتهاند استفاده میکنند. زمانی که شروع به نوشتن یک برنامه کامپیوتری میکنید، ممکن است در اولین گام دچار یاس شوید، زیرا کامپیوترها ممکن است دقیقا آن وظایفی که مدنظر شما است را اجرا نکنند. بهطور مثال، اگر به کامپیوتری اعلام کنید که فقط باید به دنبال مقدار معینی برابر با 5 باشد، کامپیوتر در محاسبات خود فقط به دنبال مقدار 5 خواهد گشت. حال اگر مقداری برابر با 4.9 را به کامپیوتر بدهید، کامپیوتر از آن صرفنظر میکند در حالی که انسانها میدانند که این مقدار به 5 خیلی نزدیک است. پس باید بدانید که کامپیوترها انعطافناپذیر، غیر قابل پیشبینی و غیرقابل تصور هستند و شما باید هرگونه جزییاتی را به روشنی تشریح کنید. زمانی که روال خود را برای یک کامپیوتر مینویسید، کامپیوتر دقیقا همان چیزی که برایش تعریف کردهاید را نوشته و هیچگاه روال شما را تغییر نداده یا تصمیم نمیگیرد کار دیگری را انجام دهد.
یک برنامه کاربردی چیست؟
همانطور که اشاره کردیم، برنامهها راهکاری در اختیار انسانها قرار میدهند تا ایدههای خود را به واقعیت تبدیل کنند. برای نیل به این هدف، برنامهها به یک یا چند روالی متکی هستند که به کامپیوترها اعلام دارند چگونه باید دادهها را دستکاری کرده و نتایج مدنظر را به کاربران نشان دهند.
کامپیوترها برای صحبت با انسانها زبان خاص خود را دارند
کامپیوترها به سختی میتوانند زبان انسانها را درک کنند. حتا برنامههایی شبیه به سیری نیز با محدودیتهای جدی در این زمینه روبرو هستند. در طول سالها، کامپیوترها موفق شدهاند تا حدودی صحبتهای انسانها را درک کرده و به شکل گفتاری با انسانها به تعامل بپردازند. اما هنوز هم بخش عمدهای از صحبتهای ما برای کامپیوترها غیر قابل درک است. حتا خود انسانها ممکن است به درستی متوجه منظور یکدیگر نشوند. بهطور مثال زمانی که با یک وکیل استفاده میکنید، به ندرت مفهوم صحبتهای او متوجه میشوید، زیرا او از اصطلاحات و جملات خاص خود برای بیان توضیحات استفاده میکند. با توجه به اینکه کامپیوترها نمیتوانند مفهوم گفتار انسانی یا نوشتههای عامیانه را درک کنند، ما به ابزاری خاص نیاز داریم تا بتوانیم با کامپیوترها ارتباط برقرار کنیم این ابزار خاص زبان برنامهنویسی نام دارد. زبانهای برنامهنویسی بر مبنای قواعد و خطمشیهای مشخصی به انسانها و کامپیوترها اجازه میدهند با یکدیگر صحبت کرده و مفهوم صحبتهای یکدیگر را درک کنند. زبانهای برنامهنویسی به ما اجازه میدهند روالهایی قابل فهم برای انسانها و کامپیوترها را بنویسیم.
البته دقت کنید کامپیوترها به معنای واقعی کلمه صحبت نمیکنند، بلکه آنها از کدهای دودویی که بر مبای محاسبات ریاضی وضعیت گیتها و مدارهای منطقی کامپیوتر را تغییر میدهند استفاده میکنند. کامپیوترها حتا معنی حروف را نیز متوجه نمیشوند، بلکه فقط اعداد را درک میکنند. برنامههای ویژهای وجود دارند که برای تبدیل کدها به معادل باینری آنها استفاده میشوند (این برنامهها مفسر و کامپایلر نام دارند.). با توجه به خطمشی این سری از مقالهها ضرورتی ندارد که جزییات اینکه چگونه کدها به معادل باینری آنها تبدیل میشوند را بدانید. فقط بدانید که کامپیوترها با زبان ریاضی و اعداد با شما صحبت میکنند.
چرا پایتون زبان ایدهآلی است؟
امروزه زبانهای برنامهنویسی مختلفی در اختیار ما قرار دارد. بیشتر زبانهای برنامهنویسی برای پاسخگویی به نیازهای مشخصی طراحی میشوند. در حقیقت ما نمیتوانیم یک زبان برنامهنویسی ایجاد کنیم که برای همه مقاصد قابل استفاده باشد. پایتون با هدف ارائه یک زبان برنامهنویسی کارآمد و ساده پا به میدان گذاشت. از مهمترین دلایلی که باعث شده است پایتون با استقبال عمومی روبرو شود به موارد زیر میتوان اشاره کرد:
- پایتون چرخه توسعه و ساخت نرمافزارها را کم میکند: کدهای پایتون 2 تا 10 برابر کمتر از کدهایی هستند که به زبانهای سی، سی پلاسپلاس و جاوا نوشته میشوند. در نتیجه شما وقت کمتری را صرف نوشتن برنامههای کاربردی میکنید.
- کدهای پایتون به سادگی قابل خواندن هستند: زبانهای برنامهنویسی شبیه به زبانهای خارجی هستند. هر زبانی که ترکیب نحوی آن سادهتر و قابل فهمتر باشد با استقبال بیشتری روبرو میشود. کدهای پایتون در مقایسه با سایر زبانهای برنامهنویسی قابل فهمتر هستند. در نتیجه شما زمان کمتری را صرف فهمیدن این کدها میکنید.
- زمان یادگیری پایتون کمتر است: خالقان پایتون به دنبال آن هستند تا قواعد و چارچوبهای پایتون را به حداقل برسانند تا کاربران در کوتاهترین زمان بتوانند پایتون را یاد بگیرند.
- پایتون گزینه ایدهآلی برای ساخت نمونههای اولیه است. پایتون روی بهرهوری تاکید بسیاری دارد. در نتیجه شما از پایتون برای ساخت سریع یک نمونه اولیه از یک برنامه کاربردی استفاده کنید.
- پایتون برای ساخت برنامههای اسکریپتی وبمحور ایدهآل است: جاوااسکریپت گزینه اصلی توسعهدهندگان در این زمینه است و پایتون در مکان دوم قرار دارد. با این وجود پایتون قابلیتهایی را ارائه میکند جاوااسکریپت قادر به ارائه آنها نیست.
- پایتون ایدهآل برای ساخت برنامههای مهندسی، علمی، ریاضی و وب است. کتابخانهها و چارچوبهای کاربردی همچون NumPy و SciPy که برای پایتون ارائه شدهاند، اجازه میدهند که شما بدون مشکل برنامههای مدرن قدرتمندی ایجاد کنید.
- پایتون برای کار با زبان نشانهگذاری توسعه یافته XML ایدهآل است.
- گزینه ایدهآلی برای تعامل با بانکهای اطلاعاتی است. پایتون یک زبان پرسوجو شبیه به SQL یا LINQ نیست، اما در زمینه تعامل با بانکهای اطلاعاتی گزینه عالی است.
- پایتون در سالهای 2007، 2010 و 2018 بالاترین امتیاز را در مقایسه با سایر زبانها از آن خود کرده است.
در این مقاله تا حدودی با مبحث برنامهنویسی و قابلیتهای پایتون آشنا شدیم. در شماره آینده آموزشی رایگان پایتون به سراغ نحوه دانلود و نصب پایتون رفته و کار خود را به شکل جدی آغاز خواهیم کرد.
برای مطالعه تمام قسمتهای منتشر شده آموزشهای رایگان پایتون
اینجا کلیک کنید
لطفا نظرات خود در مورد این آموزش و ادامه آن را در بخش دیدگاه در انتهای صفحه اعلام نمایید و نظارت سایر کاربران را نیز ببینید.
معرفی کانال آموزش برنامهنویسی و پایتون:
برنامهنویسی | پایتون: Python_0to100@
(کانال سری آموزش های رایگان پایتون)
آموزش پایتون: learnpy@
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
دیدگاهها
با سلام تشکر از لطف شما. چرا بدون فیلتر شکن امکان باز کردن سایت مقدور نیست؟