بسیاری از کسانی که در زمینهٔ علوم کامپیوتری صاحبنظر هستند بر این باورند که فراگیری یک زبان برنامهنویسی تا حد بسیار زیادی شبیه به یادگیری چیزی همچون یک زبان زندهٔ دنیا است و تحقیقاتی که در زمینهٔ فعالیت مغزی از طریق MRI صورت گرفته نیز شاهد این ادعا است که ارتباطی مابین یک زبان زندهٔ دنیا و زبانهای برنامهنویسی وجود دارد چرا که وقتی فردی در دستگاه امآرآی قرار گرفت و از وی خواسته شد تا کاری را انجام دهد، دانشمندان مشاهده کردند که بخشهایی از مغز وی اکسیژن بیشتری استفاده کردند که این مسأله نشانگر آن است که بخشهای فوق الذکر مرتبط با کاری هستند که فرد مورد آزمایش انجام داده بود. این تحقیق نشان داد که در حین کدنویسی، مغز انسان از عملکرد مشابهی همچون زمانی که موسیقی مینوازیم، صحبت میکنیم، مسئله حل میکنیم، چیزی حفظ میکنیم و سایر کارهایی از این دست برخوردار است.
واژگان همآوا مثل میز، چیز، ریز و سایر واژگان همآوا با این سه واژه مغز را همانطور دیگر فرایندهای ذهنی میکنند که کد زیر درگیر میسازد:
while (x > 1) { result = result * x; x--; }
اتفاق جالبتر اینکه تحقیقات ثابت کردهاند همانطور که ما ماهیچههای خود را تمرین میدهیم، میتوانیم مغز خود را نیز تمرین دهیم و جالب است بدانید صحبت کردن و برنامهنویسی هر دو بخش واحدی از مغز را درگیر میکنند لذا این احتمال وجود دارد که برنامهنویسی منجر به بهبود عملکرد افراد در صحبت کردن شود (به واژهٔ احتمال خوب دقت کنید.) با این تفاسیر، میتوان نتیجه گرفت که فراگیری برنامهنویسی میتواند منجر به بهبود سایر مهارتهای فردی گردد که برای روشن شدن این مسئله، به ذکر چند مثال از دنیای واقعی میپردازیم.
زادگاه یکسان ژست گرفتن و کدنویسی در مغز انسانها
اگر از علاقمندان به سینما باشید، به طور حتم فیلم «دربارهٔ الی» را دیدهاید. در بخشی از این فیلم هنرپیشهها به ترتیب میآیند و شروع به پانتومیمبازی میکنند تا سایر افراد حدس بزنند که وی چه چیزی را مد نظر دارد. مغز مخاطبین با نگاه کردن به ژستهایی که فرد روبهرو میگیرد، فرایندهایی را انجام میدهد تا مفهوم ژستهای فرد مقابل را بیابد.
به همین صورت، زمانی که ما دستوری مثل public static void main
را در زبان برنامهنویسی جاوا میبینیم، مغز ما دقیقاً همان کاری را میکند که در حین مواجهه با پانتومیم انجام میدهد. به عبارت دیگر، ما باید از روی این کیوردها حدس بزنیم که مثلاً با متدی از جنس پابلیک سروکار داریم که استاتیک است و غیره. در یک کلام، برنامهنویسی و ژست گرفتن زادگاه یکسانی در مغز انسان دارند.
بهبود منطق
جستجو، استنتاج، نتیجهگیری و دیگر کارهای منطقی از این دست جزو خصوصیاتی هستند که با برنامهنویسی وجهاشتراک بسیار زیادی دارند. برنامهنویسی نیاز به تحلیل بسیار موشکافانهٔ دادهها دارد؛ دقیقاً شبیه به همان کاری که شرلوک هولمز برای یافتن قاتل میکرد.
تحقیقات روی بخشهایی از مغز که مسئول انجام کارهای منطقی هستند حاکی از آنند که دقیقاً مشابه به اتفاقاتی که در برنامهنویسی میافتد، مغز ما پُر است از دستورات if x then y
و از همین روی جای هیچگونه شگفتی نیست که بخش واحدی از مغز ما دیگر مسائل منطقی است؛ خواه مسائل زندگی روزمرهٔ مد نظر باشد و خواه وقتی که قصد نوشتن یک الگوریتم در یکی از زبانهای برنامهنویسی را داریم که در نهایت میتوان به این نتیجه رسید که اگر خیلی دوست دارید تا اصول منطق را در خود بهبود بخشید، یکی از راههای این کار برنامهنویسی است.
شباهتهای نواختن یک آلت موسیقایی با کدنویسی
تحقیقات امآرآی صورتگرفته روی مغز انسان نشان میدهند که نواختن موسیقی و برنامهنویسی به نوعی ماهیت یکسانی دارند. به عبارت دیگر، فکر کردن در مورد نواختن یک قطعه موسیقی بسیار شبیه به نوشتن چند خط کد است. در واقع، زمانی که ما قصد نواختن یک قطعه موسیقی داریم، ناحیهای تحت عنوان Brodmann`s Area 40، که کمی بالای گوش قرار گرفته است، فعال میشود. یک دهه پس از این آزمایش، محققین از ۱۷ برنامهنویس خواستند تا مادامی که داخل دستگاه امآرای قرار دارند اقدام به تفسیر چند خط کد کنند و جالب است بدانید که نتایج از بسیاری جهات مشابه با نواختن موسیقی بود بهخصوص در رابطه با فعالتر شدن ناحیهای که در بالا بدان اشاره شد.
ارتباط مابین قافیه در اشعار و برنامهنویسی
زمانی که ما شعری را میخوانیم که موزون است، ناحیهای که در بخش قبلی به آن اشاره شد اکسیژن بیشتری مصرف میکند و این بدان معنا است که این ناحیه فعالتر میشود:
if (index1 != -1)
System.out.println("Substring is contained: " + key1);
else
System.out.println("Substring is not contained: " + key1);
همانطور که در بلوک فوق مشاهده میشود، وقتی ما کدهایی که تاحدودی موزون به نظر میرسند را مطالعه میکنیم، ناحیهٔ Brodmann`s Area 40 فعالتر میگردد.
جمعبندی
نیاز به توضیح نیست که شعر، موسیقی و برنامهنویسی فرایندهای ذهنی مشابهای را مطلبند. به طور کلی، دانشمندان و محققین، بهخصوص آنهایی که در زمینهٔ فرایندهای مغزی تحقیق نمودهاند، اثبات کردهاند که فراگیری برنامهنویسی میتواند کمک به فراگیری سایر علوم و مهارتها کند و از همین روی با یادگیری کدنویسی، اگر هم علاقهای به برنامهنویس شدن نداشته باشیم، راه را برای یادگیری سایر مهارتها باز خواهیم نمود (چنانچه علاقمند به مباحث نوروساینس هستید، میتوانید به مقالهٔ چگونه یاد میگیریم؟ مراجعه نمایید.)
حال نوبت به نظرات شما میرسد. آیا با ایدههایی که در این مقاله مورد بررسی قرار گرفت موافق هستید و آیا به نظر شما پس از یادگیری برنامهنویسی میتوان سایر مهارتهای شخصی همچون منطق را نیز ارتقاء بخشید؟ نظرات، دیدگاهها و تجربیات خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.