لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
آشنایی با رویکرد Inductive در یادگیری برنامه‌نویسی

آشنایی با رویکرد Inductive در یادگیری برنامه‌نویسی

برنامه‌نویسی مهارتی جذاب و کاربردی است به ۲ دلیل: اول این‌که برنامه‌نویس با استفاده از دانش و دقت خود، پدیده‌ای جدید در قالب یک اپلیکیشن را «خلق» می‌کند؛ دوم این‌که برنامه‌نویسی به تقویت توانایی تفکر فرد برنامه‌نویس کمک می‌کند و تقویت این توانایی، در زندگی شخصی فرد نیز تأثیرگذار است. امروزه شکی نداریم که اگر برنامه‌نویسی از مسیر صحیح، غیرفرسایشی، و اثربخش آموخته شود، می‌تواند سایر بخش‌های زندگی دولوپر را نیز تحت‌تأثیر قرار دهد. در پاسخ به این سؤال که این امر چگونه محقق خواهد شد، بایستی گفت که از طریق استفاده از زبان‌های برنامه‌نویسی جدید! درواقع نقطۀ قوت زبان‌های برنامه‌نویسی جدید در رسا بودن، خوانایی، مختصر و مفید بودن، دقت، و قابلیت پیاده‌سازی بالای آن‌ها است.

نیاز به توضیح نیست در مقایسه با گذشته، دنیای برنامه‌نویسی متحول شده است؛ در نسل اول زبان‌های برنامه‌نویسی مثل فورترَن و سی، خود برنامه‌نویس می‌بایست کانسپت‌های سطح‌بالا را یک‌به‌یک به کد ترجمه می‌کرد اما در زبان‌های برنامه‌نویسی جدید -مانند زبان برنامه‌نویسی پایتون- برنامه‌نویس می‌تواند از فانکشن‌ها، آبجکت‌ها، ماژول‌ها و لایبرری‌ها برای گسترش زبان مورد نیاز خود استفاده کند. این امکان، تنها باعث بهبود هر برنامه نمی‌شود بلکه به‌طور کلی به ارتقاء دانش برنامه‌نویسی نیز کمک می‌کند.

برنامه‌نویسی در گذشته در ترجمۀ کانسپت‌ها به کد خلاصه می‌شد؛ به‌عبارت دیگر، ایده‌هایی که در ذهن دولوپر بود با به‌کارگیری از اصول و قواعد ریاضیاتی، سپس نوشتن فلوچارت‌ها و شبه‌کد (Pseudocode) و در نهایت نوشتن یک برنامه عملیاتی می‌شد. انجام فرایند ترجمه برای برنامه‌نویس یک ضرورت بود چراکه هر زبان برنامه‌نویسی دارای قابلیت‌های متفاوت و خاص خود نسبت به سایر زبان‌ها است.

اما توجه داشته باشید که فرایند ترجمه، برنامه‌نویس را محدود می‌کند و این محدودیت، در استفاده از ایده‌های قابل‌اجرا ایجاد می‌شود. به این معنا که برنامه‌نویس می‌تواند فقط در محدودۀ آن زبان خاص، ایده‌ها را پیاده‌سازی کند.

نقطۀ قوت زبان‌های برنامه‌نویسی جدید در رسا بودن، خوانایی، مختصر و مفید بودن، دقت، و قابلیت پیاده‌سازی بالای آن‌ها است. به این معنا که ما قادر خواهیم بود فرایند فرسایشی تبدیل ایده به کد را حذف کنیم و تنها از یک زبان برای کشف، یادگیری، آموزش، و فکر کردن استفاده کنیم.

نوشتن برنامه‌ای که کار کند، هدف اول و آخر برنامه‌نویسی است اما توجه داشته باشیم این تمام ماجرا نیست! کسب تواناییِ اجرا و پیاده‌سازی کد، مهارتی عالی است که به برنامه‌نویس برای تقویت توانایی تفکر کمک می‌کند و این یک اتفاق فوق‌العاده است.

هنگامی که برنامه‌نویس ایده‌ٔ خود را در قالب یک اپلیکیشن بیان می‌کند، از آن پس ایدهٔ وی آزمون‌پذیر می‌شود و وقتی که برنامه‌نویس باگ‌های اپ خود را رفع می‌کند، درواقع وی درحال دیباگ کردن مغز خود است.

زبان‌هایی مثل پایتون برای یادگیری و آموزش برنامه‌نویسی ایده‌آل و مناسب هستند. اما این بار نه با رویکرد از پایین به بالا و ذره‌ذره به نتیجه رسیدن (کاری که در گذشته انجام می‌دادیم)، بلکه با رویکرد از بالا به پایین و با استفاده از روش به‌اصطلاح Inductive.

بیشتر کتاب‌ها و کلاس‌های آموزشی، از ریاضیات برای آموزش DSP (پردازش سیگنال‌های دیجیتال) استفاده می‌کنند. در این شرایط، دانشجویان باید به‌صورت ابتدایی و با کاغذ و مداد کار کنند، و تنها گزینۀ موجود برای دانشجو، تبعیت از رویکرد پایین به بالا است. این یعنی شروع کار با محاسبه و آزمون و خطا با حجم بالایی از اعداد، که کاری کسل‌کننده و بسیار زمان‌بر است که با استفاده از این روش، شاید برای رسیدن به نتیجه، به هفته‌ها زمان نیاز باشد.

اما با رویکرد Inductive (از کل به جزء)، حرکت برنامه‌نویس از بالا به پایین خواهد بود؛ به این شکل که کار خود را با استفاده از لایبرری‌هایی آغاز می‌کند که مهم‌ترین و پرکاربردترین الگوریتم‌ها را اجرا می‌کنند. 

توجه به این نکته جالب است که زبان‌های برنامه‌نویسی جدید، به لحاظ زمانی آنقدرها هم جدید نیستند؛ مثلاً پایتون 25 ساله شده است. اما متأسفانه این زبان‌ها به صورت جامع و فراگیر به دانشجویان برنامه‌نویسی تدریس نمی‌شوند؛ یا اگر برای تدریس مورد توجه قرار بگیرند، به روشی مورد استفاده قرار می‌گیرند که از مزیت‌های اصلی و نقاط قوت آن‌ها به‌طور کامل بهره‌برداری نمی‌شود!

سخن پایانی
به‌عنوان کلام آخر بایستی بگوییم که در روش از کل به جزء، دولوپر تازه‌کار اصلاً نیازی نیست تا با زیر و بم یک زبان برنامه‌نویسی آشنا شود بلکه به‌سادگی خواهد توانست به استفاده از پروژه‌های آماده و یا لایبرری‌هایی که در گیت‌هاب به اشتراک گذاشته شده‌اند فرایند آموزشی خود را آغاز نموده، یک پروژه لانچ کند و نتیجهٔ آن‌را ببینید، سپس دست به درک سازوکار پیاده‌سازی آن پروژه بزند. 

در پایان، اگر علاقمند به شروع یادگیری زبان برنامه‌نویسی Python هستید، می‌توانید به دورهٔ آموزش آنلاین و رایگان Python در سکان آکادمی مراجعه نمایید.



لعیا دولت‌آبادی