برنامهنویسی مهارتی جذاب است به این دلیل که اولاً برنامهنویس با استفاده از دانش و مهارت خود چیزی جدید در قالب یک نرمافزار یا اپلیکیشن خلق میکند و ثانیاً اینکه برنامهنویسی به تقویت توانایی تفکر فرد کمک میکند و از همین روی میتوان مزایای آن را در زندگی روزمره نیز مشاهده کرد به طوری که اگر آموزش اصول برنامهنویسی از مسیر صحیح، غیرفرسایشی و اثربخش صورت گیرد، میتواند سایر بخشهای زندگی دولوپر را نیز تحت تأثیر قرار دهد.
نیاز به توضیح نیست که در مقایسه با گذشته، دنیای برنامهنویسی به کلی متحول شده است چرا که در نسل اول زبانهای برنامهنویسی، مثل فورترَن و سی، خودِ برنامهنویس میبایست کانسپتهای سطح بالا را یک به یک به زبانی قابلفهم برای ماشین ترجمه میکرد اما در زبانهای برنامهنویسی جدید، مانند زبان برنامهنویسی پایتون، برنامهنویس میتواند از فانکشنها، آبجکتها، ماژولها و لایبرریهای از پیش نوشته شده برای توسعهٔ ایدهٔ ذهنیاش استفاده کند (برای شروع یادگیری زبان پایتون، میتوانید به دورهٔ آموزش رایگان پایتون در سکان آکادمی مراجعه نمایید.)
با این تفاسیر، برنامهنویسی در گذشته در ترجمۀ کانسپتها به کد خلاصه میشد؛ به عبارت دیگر، ایدههایی که در ذهن دولوپر بود با بهکارگیری از اصول و قواعد ریاضیاتی، سپس نوشتن فلوچارتها و شبهکد (Pseudocode) و در نهایت نوشتن یک برنامه از حالت بالقوه به بالفعل مبدل میشد.
نوشتن برنامهای که کار کند هدف اول و آخر از پروسهٔ توسعهٔ نرمافزار است اما توجه داشته باشیم این تمام ماجرا نیست بلکه کسب تواناییِ اجرا و پیادهسازی کد، مهارتی مهم در این صنعت است (در خصوص اهمیت گزارهٔ «برنامهای که کار کند هدف اول و آخر از پروسهٔ توسعهٔ نرمافزار است» توصیه میکنیم به مقالهٔ حلقهٔ مفقودهٔ برخی نرمافزارها: حل مسأله از کدی که مینویسید مهمتر است! مراجعه نمایید.)
درآمدی بر رویکرد Deductive (از کل به جزء) در یادگیری کدنویسی
در رویکرد به اصطلاح Deductive (از کل به جزء) فرایند یادگیری اصول کدنویسی از بالا به پایین خواهد بود بدین صورت که کدآموز کارش را با استفاده از لایبرریهای یا فریمورکهایی آغاز میکند که بسیاری از دولوپرهای حرفهای و شرکتهای تراز اول دنیا در عمل در حال استفاده از آنها در پروژههای اینترپرایز خود هستند که نقطهٔ مقابل رویکرد Inductive (از جزء به کل) قرار دارد که برای آشنایی بیشتر با این رویکرد میتوانید به مقالهٔ آشنایی با رویکرد Inductive (از جزء به کل) در یادگیری برنامهنویسی مراجعه نمایید.)
واقعیت امر آن است که در روش از کل به جزء، دولوپر تازهکار اصلاً نیازی نیست تا با زیر و بم یک زبان برنامهنویسی آشنا شود بلکه به سادگی خواهد توانست به استفاده از پروژههای آماده و یا لایبرریهایی که در گیتهاب یا گیتلب به اشتراک گذاشته شدهاند فرایند آموزشی خود را آغاز نموده، یک پروژه لانچ کند و نتیجهٔ آن را ببیند و در نهایت با گذشت زمان و به مرور دست به درک سازوکار و منطق به کار گرفته شده در پیادهسازی آن پروژه بزند.
حال با در نظر گرفتن هر دو سَبک آموزش Deductive و Inductive، به نظر شما کدامیک برای دولوپرهای تازهکار اثربخشتر است و نقاط ضعف و قوت هر کدام چیست؟ نظرات، دیدگاهها و تجربیات خود را با دیگر کاربران سکان آکادمی به اشتراک بگذارید.