استراتژی‌هایی برای یادگیری یک زبان خارجی و یک زبان برنامه‌نویسی


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

اولین کسی باشید که به این سؤال پاسخ می‌دهید

پس از صحبت با افراد مختلف در حوزه‌های کاری گوناگون متوجه می‌شویم که دانش زبان‌های خارجی به خصوص زبان انگلیسی همواره یکی از دغدغه‌ها یا بهتر بگوییم آرزوهای ایشان است و افراد زیادی را می‌بینیم که سال‌های سال است که بارها و بارها اقدام به شرکت در کلاس‌های زبان می‌کنند سپس وقفه‌ای در آموزش ایشان ایجاد شده، دوره را ترک می‌کنند و چند وقت بعد مجدد دورهٔ خود را از سر می‌گیرند اما هر بار که تعیین سطح می‌شوند، مجدد در همان ترم یا ترم‌های اولیه قرار می‌گیرند. علاوه بر این، بسیاری از افرادی هم هستند که پس از پشت سر گذاشتن دوره‌های آموزشی، زمانی که در یک موقعیت واقعی قرار می‌گیرند، مثلاً با یک فرد نِیتیو شروع به صحبت می‌کنند، نمی‌توانند از دانش خود آن‌طور که باید و شاید استفاده کنند و این قضیه حاکی از آن است که یک جای کار می‌لنگد و گویی یادگیری زبان به درستی اتفاق نمی‌افتد.

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

اساساً یک مدرس زبان انگلیسی زمانی می‌تواند ادعا کند که دانشجویانش زبان انگلیسی را فرا گرفته‌اند که ایشان در موقعیت‌های واقعی، مثلاً حضور در یک کشور انگلیسی زبان، بتوانند گلیم خود را از آب بیرون بکشند. حال ممکن است این ذهنیت برای برخی از علاقمندان به فراگیری زبان انگلیسی پیش بیاید که با دانستن برخی چیزها همچون Yes ،No ،OK ،That`s it و غیره زبان انگلیسی را فرا گرفته‌اند اما خبر ناامیدکننده اینکه عباراتی از این دست چیزهایی نیست که یک فرد با دانستن‌شان بتواند ادعا کند که زبان انگلیسی را می‌داند. اگر شما جزو آن دسته از دانشجویان زبان انگلیسی هستید که ادعا می‌کنید زیر و بم این زبان را می‌دانید، بهتر است خود را تست کنید و ببینید که آیا معنی اصطلاحات زیر را می‌دانید یا خیر:

- You can say that again
- make sb`s day
- in advance
- call it a day
- for good
- for
- in camera
- day in day out
- It`s a piece of cake

از سوی دیگر، زبان انگلیسی محاوره‌ای و انگلیسی آکادمیک دو دنیای متفاوتند. برای درک بهتر این موضوع، دو مکالمهٔ زیر را در نظر بگیرید به این صورت که مکالمهٔ اول مابین دو ایرانی نِیتیو است و مکالمهٔ دوم مابین یک ایرانی نِیتیو و یک فردی می‌باشد که خارجی است و زبان فارسی را فرا گرفته است:

- بهزاد: سلام، خوبی؟ چه خبرها؟
- سهند: علیک. ای، شکر، می‌گذرونیم. مگه تو این مملکت جز تورم، آلودگی، استرس و … چیز دیگه‌ای هم هست! تو چه‌طوری؟
- بهزاد: نوکرتم. ای، مشغولیم. داشتم کد می‌زدم خسته شدم گفتم یه حال و احوالی کنم.
- سهند: ای بابا، خیلی مخلصیم و …

حال همان‌طور که گفته شد، مکالمهٔ دوم که مابین یک ایرانی و یک خارجی است را مد نظر قرار می‌دهیم:

- بهزاد: سلام. خوبی؟ چه خبرها؟
- جورج: سلام خدمت شما. من خوب هستم و امیدوار است شما خوب باشید. در مورد خبر که سؤال فرمودید، آخرین خبری که دارم از اوضاع سیاسی آشفتهٔ دنیا است! حال شما چه‌طور هستید؟
- بهزاد (با خودش می‌گه چی داره می‌گه): نوکرتم. ای، مشغولیم. داشتم کد می‌زدم خسته شدم گفتم یه حال و احوالی کنم.
- جورج: من نیاز به نوکر ندارم. خودم از عهدهٔ کارهایم برمی‌آیم. ممنون و …

می‌بینیم که جورج به دلیل نداشتن تسلط به ساختارهای پیچیدهٔ زبان فارسی، نمی‌تواند یک مکالمهٔ موفق با بهزاد داشته باشد و همین مسأله باعث می‌شود که نتواند همچون یک فارسی‌زبانِ نِیتیو با سایر فارسی‌‌زبان‌ها ارتباط برقرار سازد.

آشنایی با اثر آرنولدی
اگر بخواهیم از دید علمی به این قضیه نگاه کنیم، در بحث فراگیری یک زبان خارجی مقوله‌ای داریم تحت عنوان Arnold`s Effect که از روی آرتیست معروف سینمای هالیوود، آرنولد شوارتزنگر نامگذاری شده است که برای آشنایی بیشتر با این وی، می‌توانید به مقالهٔ 20 حقیقت جالب در مورد آرنولد شوارتزنگر: اسطورهٔ تاریخ زیبایی اندام مراجعه نمایید. پیش از پرداختن به معنا و مفهوم این اصطلاح زبان‌شناختی، نیاز است تا با مفهومی تحت عنوان Critical Period آشنا شویم تا درک بهتری نسبت به این موضوع داشته باشیم.

از دید زبانشناسی، مبحثی داریم تحت عنوان Critical Period مبنی بر اینکه زبان‌شناسان باور دارند که تا قبل از سن بلوغ افراد در این برهه قرار دارند. زمان دقیق این برهه هرچه که باشد، حاکی از آن است که افراد اگر پیش از چنین سِنی اقدام به یادگیری یک زبان خارجی کنند، به راحتی می‌توانند تمامی جنبه‌های آن زبان به‌خصوص لهجهٔ آن را فرا گیرند.

آرنولد شوارتزنگر اصالتاً اهل کشور اتریش بوده و در سنین نوجوانی به ایالات متحدهٔ آمریکا مهاجرت می‌کند. نیاز به توضیح نیست که وی پس از سن بلوغ وارد ایالات متحده شده است، پس هرگز نباید از ایشان انتظار داشت که توانسته باشد ٪۱۰۰ شبیه به یک آمریکایی نِیتیو لهجه گرفته باشد اما نکتهٔ جالبی که در مورد وی صدق می‌کند این است که او توانسته در سایر جنبه‌های زبان انگلیسی مثل خواندن، نوشتن، استفادهٔ به‌جا از اصطلاحات، شوخی‌های رایج، زبان محاوره‌ای، تکیه‌ کلام‌های خاص و غیره آن‌قدر خوب عمل کند که زبان‌شناسان به یاد ایشان اصطلاح Arnold`s Effect را ابداع کرده‌اند.

به عبارت دیگر، هر کسی که بتواند یک زبان را همچون سایر گویشوران نِیتیو آن زبان مورد استفاده قرار دهد، می‌گویند که وی دارای Arnold`s Effect است خواه توانسته باشد لهجهٔ آن زبان به‌خصوص را تقلید کند خواه نتوانسته باشد. از سوی دیگر، اثر آرنلودی حاکی از آن است که ما خیلی نباید روی تقلید لهجه تمرکز کنیم (البته اگر بتوانیم همچون یک فرد نِیتیو صحبت کنیم که صد البته بهتر است.) بلکه اگر بتوانیم ساختارهای درستی را در موقعیت‌های مختلف استفاده کنیم، معنی واژگان در موقعیت‌های متفاوت را درک کنیم و بتوانیم همچون یک فرد نِیتیو چیزی بنویسیم، آن زمان است که می‌توانیم ادعا کنیم یک زبان خارجی کاربردی را فرا گرفته‌ایم.

بسیاری از کسانی که اقدام به فراگیری یک زبان خارجی می‌کنند، این امکان را ندارند تا در کشوری که زبان مد نظرشان تکلم می‌شود حضور داشته و در محیط اقدام به فراگیری زبان کنند و بالاجبار به مؤسساتی مراجعه می‌کنند که مدرسین آن‌ها هم شانش حضور در یک کشور انگلیسی زبان را نداشته‌اند و از همین روی است که ما نه تنها نمی‌توانیم Arnold`s Effect را در خود نهادینه کنیم، بلکه زبان محاوره‌ای رایج را هم در بیشتر مواقع یاد نمی‌گیریم!

ارائهٔ راه‌کار برای یادگیری بهینهٔ زبانی همچون انگلیسی نیاز به فضای بسیار بیشتری از یک مقاله‌ دارد اما اگر بخواهیم یکی از مؤثرترین آن‌ها را نام ببریم، شرکت در کلاس‌هایی با معلم‌های نِیتیو است که البته شهریهٔ آن‌ها نسبت به کلاس‌های معمولی بیشتر است. در چنین فضایی، به مراتب بیشتر و بهتر می‌توان فضای یک جامعهٔ انگلیسی زبان را شبیه‌سازی کرد و صد البته اثربخشی بیشتری هم خواهد داشت.

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

آسیب‌شناسی آموزش برنامه‌نویسی
حال نوبت به بررسی استراتژی‌های فراگیری برنامه‌نویسی می‌رسد. کسانی که زبان می‌آموزند شعاری دارند با این مضمون که «زبان فرار است.» و در حال حاضر کاری نداریم که این شعار آیا واقعاً درست است یا خیر اما اگر فرض را بر این بگذاریم که زبان فرار باشد، بهتر است بگوییم که «یک زبان برنامه‌نویسی ۱۰ برابر بیشتر فرار است.» به عبارت دیگر، اگر شروع به یادگیری یک زبان برنامه‌نویسی کرده اما در عمل خود را درگیر آن نکنیم، هر آنچه که فرا گرفته‌ایم به زودی به دست فراموشی سپرده خواهد شد.

جالب است بدانید که در صنعت توسعهٔ نرم‌افزار هم می‌توان چیزی همچون «اثر آرنولدی» را متصور شد. بسیاری از دانشجویان زبان‌های برنامه‌نویسی هستند که به خوبی با مفاهیم دستورات شرطی، سوئیچ، لوپ، وراثت، آبجکت و غیره آشنا هستند اما این آشنایی صرفاً تئوریک است و در عمل هرگز نخواهند توانست دو کلاس بسازند که یکی از دیگری ارث‌بری کند (همچون کسی که نتواند در زبان انگلیسی یک اصطلاح خوب را در جای مناسبی استفاده کند.) که یکی از دلایل اصلی چنین چیزی این است که دانشجویان در فضای واقعی برنامه‌نویسی این علم را فرا نمی‌گیرند بلکه کدنویسی را در قالب پروژه‌هایی ساختگی که هرگز در دنیا واقعی اتفاق نمی‌افتند آموخته و از سوی دیگر با اصول کدنویسی مورد نیاز در بازار کار آشنایی ندارند.

گفته می‌شود که اگر کسی مثلاً ۶ ماه در کشوری مثل کانادا حضور داشته باشد، پس از این مدت می‌تواند تا حد قابل‌توجهی چَم‌وخَم زبان رایج در این کشور را یاد بگیرد (صرفاً نمی‌شود گفت که دقیقاً ظرف مدت ۶ ماه این اتفاق می‌افتد، اما بسته به سن افراد، فضایی که در آن قرار می‌گیرند و بسیاری متغیرهای دیگر این اتفاق تا درصد قابل‌توجهی رخ می‌دهد.) با این تفاسیر، شاید بتوان ادعا کرد که اگر یک فرد علاقمند به برنامه‌نویسی که از هوش متوسطی برخوردار باشد هم ۶ ماه در یک فضای واقعی همچون یک شرکت نرم‌افزاری یا استارتاپ دانش بنیان قرار گیرد، بتواند خیلی سریع زیر‌ و بم برنامه‌نویسی، مفهوم واقعی اجایل، دیزاین پترن‌ها، ورژن کنترل، طراحی رابط کاربری و … را به صورت عملی بیاموزد.

در برخی دوره‌ها، برنامه‌نویسی کاربردی آموزش داده نمی‌شود بلکه صرفاً یکسری مفاهیم پایه‌‌ای، اصول کار، مقدمات و کلیات مطرح می‌شوند و این در حالی است که مدیران شرکت‌های برنامه‌نویسی حاضر نیستند یک ریال بابت چنین دانشی حقوق پرداخت کنند. فرض کنیم که شما دانشجوی دورهٔ سئو در سکان آکادمی هستید. در این دوره، مفاهیمی همچون تأثیر شبکه‌های اجتماعی در سئو، استفاده از تگ‌های مختلف در جای مناسب، یافتن کلمات کلیدی مناسب، تحلیل رقبا، چگالی کیوردها در صفحه و بسیاری مباحث دیگر مطرح می‌شود و به خوبی توضیح داده می‌شوند اما سؤال اینجا است که آیا شما پس از گذراندن این دوره می‌توانید ادعا کنید که یک کارشناس سئو هستید و آیا می‌توانید برای یک شرکت طراحی سایت برای سمَت کارشناس بهینه‌سازی سایت برای موتورهای جستجو اصطلاحاً اَپلای کنید؟

مسلماً پاسخ خیر است. شما زمانی می‌توانید ادعا کنید که سئوکار هستید که یک کیورد بسیار رقابتی را حداقل به صفحهٔ اول گوگل آورده باشید. به طور مثال، کیوردهایی از قبیل «بهبود رتبهٔ الکسا»، «شارژ آنلاین»، «کلاس کنکور» و «سفارش کتاب از آمازون» جزو کیوردهایی هستند که آوردن‌شان به صفحهٔ اول کار نسبتاً دشواری است چه رسد به لینک اول شدن.

معرفی چند راه‌کار برای کسب موفقیت در حوزهٔ کدنویسی
این قضیه کمی هم به شانس دولوپرهای تازه‌کار بستگی دارد به طوری که اگر مقالهٔ درک تأثیر اولین شغل در شکل‌گیری DNA کاری شما را مطالعه کرده باشید، بدون شک اگر شانس ورود به فضایی حرفه‌ای همچون شرکتی که در این مقاله به آن اشاره شد را داشته باشید، بخش قابل‌توجهی از کار حل شده است چرا که بستر رشد برای شما فراهم است.

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

اگر سئو کار هستید و در دانشگاه هم مشغول به تحصیل، می‌توانید مثلاً روی سئوی مجلهٔ فرهنگی آنلاین دانشگاه کار کنید. اگر برنامه‌نویس دسکتاپ هستید و به خدمت سربازی مشغول هستید، می‌توانید به فرماندهٔ خود این پیشنهاد را بدهید که می‌توانید برنامه‌ای بنویسید که بخشی از کارهای دفتری را اصطلاحاً Paperless کنید. اگر خواهر یا برادری دارید که هنرمند، مثلاً نقاش، است به سادگی می‌توانید یک گالری آنلاین برایش طراحی کنید که امکان آپلود عکس، گذاشتن کَپشن، قابلیت لایک کردن، دسته‌بندی موضوعی و … داشته باشد. 

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

اگر هم ازدواج کرده باشید موضوعات بسیاری برای کدنویسی پیش‌رو خواهید داشت. از اپ نُت‌برداری لیست خرید گرفته تا اپلیکیشن‌های تخصصی‌تر که برای سوژه‌های خاص کاربرد دارند! مثلاً فرض کنید که همسر آقای برنامه‌نویس باردار می‌شود. مسلماً چه اپلیکیشنی از این بهتر که تاریخی که جواب آزمایش مثبت بوده را به آن بدهیم، سپس بر اساس الگوریتم خاصی و بر اساس دیتایی که قبلاً وارد آن کرده‌ایم، به خانم باردار که مثلاً در سه ماهگی خود به سر می‌برد نوتیفیکیشن بدهد که فلان املاح را باید مصرف کند یا مثلاً اگر در هفت ماهگی به سر می‌برد، نوتیفیکیشن داده شود که دیگر نباید ورزش‌های سنگین انجام دهد.

روی هم رفته، دولوپرهای تازه‌کار باید تمام تلاش خود را به کار گیرند تا شروع به کدنویسی روی پروژه‌های واقعی کنند. همچنین به خاطر داشته باشید که در ابتدای راه ممکن است هک شوید، تحقیر شوید، به شما بخندند، اخراج شوید، جریمه شوید، اعتبارتان زیر سؤال رود، عزت‌نفس خود را از دست دهید و بی‌اعتماد به نفس شوید؛ اما مسلماً شرایطی اینچنین با یادگیری همراه است.

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

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

آیا با آنچه در این مقاله ذکر شد موافقید یا مخالف به علاوه اینکه چه راه‌کارهایی می‌شناسید که بتوانند به افراد مبتدی در حوزه‌های فوق‌الذکر کمک کنند؟ نظرات، دیدگاه‌ها و تجربیات خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.