من برنامه نویس نیستم و هیچی هم از برنامه نویسی نمیدونم و این مقاله رو به عنوان کسی مینویسم که نصف بیشتر عمرش رو یا داشته زبان یاد میگرفته یا داشته زبان درس میداده.
6 سالم که شد، پدر خدابیامرزم و مادرم، که تحصیلات هر دو در رشته زبان انگلیسی بود، فرمان کلاس زبان رفتن من رو صادر کردن و علیرغم همه غرغرها و حتی گریه های من، به زور مجبورم کردن برم انگلیسی یاد بگیرم.
اینکه میگم گریه میکردم اصلاً اغراق نیست، چون روزهایی بود که بسیار خسته بودم و دلم میخواست مثل همکلاسی هام از مدرسه که میرسم خونه بخوابم، بازی کنم، تکالیفم رو انجام بدم و خودم رو برای روز بعد آماده کنم؛ اما دیکتاتوری خونه ما برنامه دیگه ای رو برای من چیده بود. یعنی اینکه من میومدم خونه، به سرعت نهار میخوردم، با نقنق آماده میشدم و به سمت کلاس زبان میرفتم. اونجا با بی میلی تمام یکم یاد میگرفتم و برمیگشتم خونه و تازه اول ماجرا بود، چون باید مشقهام رو مینوشتم.
این داستان از اول ابتدایی شروع شد و تا اول دبیرستان ادامه داشت. لطفاً فکر نکنید اول دبیرستان من زبان رو ول کردم چون اینجوری نبود؛ تنها چیزی که فرق کرد این بود که من انقدر زبانم خوب شده بود که معلم های زبان مدرسه بهم میگفتن شما نمیخواد بیای سرکلاس و کلی هم بهم احترام میگذاشتن و همین باعث شد انگیزه من بیشتر بشه و کمکم به سیستم دیکتاتوری ایمان بیارم و کلی ازشون ممنون باشم.
کلاس دوم دبیرستان تصمیم گرفتم تو دانشگاه هم زبان بخونم و این بار پدر و مادرم مخالفت کردن که چون معدلت بالاست و درست خوبه فقط پزشکی! اما این دفعه 16 سالم بود، نه 6 سال و زورگویی اثر نداشت. سال 1384 در رشته ادبیات انگلیسی وارد دانشگاه علامه طباطبایی شدم و این در حالی بود که حتی پیش از ورود به دانشگاه و با وجود سن کم در یک آموزشگاه مشغول به تدریس بودم.
در طول دوره تحصیلم هم درس میخوندم و هم به شدت درس میدادم؛ با این وجود ارشد هم قبول شدم و آموزش زبان انگلیسی خوندم و همچنان مشغول تدریس هم بودم. بعد از دفاع کردن از پایان نامه هم در دانشگاه آزاد شروع به درس دادن کردم تا الان.
همه ی اینها رو گفتم که بدونید چیزهایی که قراره در ادامه بخونید حاصل تجربه منه و براشون دلایل کافی وجود داره.
پیش نیازهای کدنویسی
برنامه نویسی، مثل بسیاری از شغل های دیگر در دنیا، به یکسری بایدهای اولیه نیاز داره و مهمترینش دونستن زبان انگلیسی هست. درست مثل خیلی از علوم که براشون انتهایی نیست، صنعت توسعهٔ نرمافزار هم بی انتها هست و شما به عنوان کدنویس نیاز دارید تا اطلاعات خودتون رو به روز نگه دارید؛ اما آیا کتاب های ترجمه شده به فارسی در این زمینه و یا فوروم های فارسی زبان برای باز کردن گره های برنامه نویس ها کافیه؟
جواب سوال قطعاً خیر هست چون زبان تولید علم در دنیا به انگلیسی است و برای عقب نموندن از علوم باید به زبانشون مسلط بود. تسلط به زبان درجه داره و منظور من از مسلط بودن تا جایی است که نیاز شما رو مرتفع میکنه. در مورد کتاب های ترجمه شده که قضیه خیلی روشنه؛ کتابی که سال 2018 در یک کشور پیشرفته تر منتشر میشه معلوم نیست در چه سالی و توسط چه کسی تو کشور ما ترجمه بشه و در تمام مدت این وقفه، علم داره همچنان پیشرفت میکنه و منتظر ما نمونده (بماند که این احتمال نیز وجود داره که مترجم محترم کتاب حتی توی عمرش یک خط کد هم ننوشته باشه!)
فوروم های فارسی زیادی هم در این زمینه وجود دارن اما به شخصه شنیده ام که برنامه نویسان ترجیح میدن برای گرفتن جواب دقیق تر و سریع تر به جایی مثل Stackoverflow مراجعه کنن. زمانی که قراره تو یک فوروم به زبان انگلیسی بپرسید و مکاتبه کنید، با دو موضوع سر و کار دارید:
- اول اینکه باید بلد باشید سوال بپرسید و منظور از سوال رو درست منتقل کنید
- و دوم باید جواب هایی که بهتون داده میشه رو متوجه بشید.
تو برنامه نویسی هم مثل پزشکی و وکالت و مهندسی و ... یکسری Jargon وجود داره که اگر اونها رو بلد باشید کلی جلو میفتید (جارگون ها در واقع لغات تخصصی هستن که هر رشته و حرفه ای برای خودش داره و افراد مشغول به یک حرفه ترجیح میدن برای برقراری ارتباط از اون لغت ها استفاده کنن.)
به طور مثال، اگر کسی از دنیا بره پزشک به پرستار میگه «بیمار expire شد» و از «بیمار دار فانی را وداع گفت» استفاده نمیکنه. پس برای سوال پرسیدن باید با واژگان تخصصی برنامه نویسی آشنا بود.
یکسری سوالات هم هستن که با Wh شروع میشن و استفاده ازشون با خوندن یک کتاب گرامر ساده حل میشه. برای پرسش و پاسخ توی فوروم ها( که معمولاً زمان باگ بهشون مراجعه میشه) میتونید از
?... what is
?...why is
?...how to
و یا سوالات این شکلی استفاده کنید اما گاهی پیچیدگی داستان بیشتره و باید برای گرفتن جواب درست و حسابی، توضیحات مناسب بدید و اینجاست که تسلط حداقلی به زبان انگلیسی میاد کمک. پس تسلط بیشتر یعنی سوال واضح تر و سوال واضح تر قطعاً جواب بهتری میگیره.
در اکثر مواقع پیش میاد که با سوالی خیلی ساده به جواب خوبی میرسیم که برامون قابل فهم نیست چون اصلاً متوجه ادبیات نویسنده نمیشیم و این هم میشه یک معضل (مثلاً اگر اون دولوپری که به ما کمک کرده هندی باشه.)
گاهی میبینم تو فوروم سکان شخصی میاد سوال میکنه که میخواد برنامه نویس بشه یا مثلاً میخواد اندروید یاد بگیره که یک اپ بنویسه و نمیدونه باید از کجا شروع کنه. دوست دارم جواب بدم:
اول زبان یاد بگیر که بتونی از سورس های خارجی استفاده کنی و سریع تر به هدفت برسی
اما زبان یاد گرفتن هم کار راحتی نیست و ممکنه بنده خدا کلاً قید برنامه نویسی رو بزنه و مأیوس بشه.
حالا چاره چیه؟ از اون دوستانی که به حدی که خودتون فکر میکنید کافیه زبان میدونید عذرخواهی میکنم که وقتتون رو گرفتم و ممنونم که وقت گذاشتید و مطالعه کردید.
چه طور زبان خود را تقویت کنیم؟
اما اون دسته از دوستانی که نیاز دارید بیشتر بدونید و یاد بگیرید، میتونید راه های مختلفی رو امتحان کنید که من به دوتا از مهم ترین هاشون اشاره میکنم. یک راه اینه که به کلاس زبان فشرده برید تا بتونید در مدت کوتاه تری به سطح مورد نیاز برسید. اگر کلاس English for Specific Purposes یا ESP پیدا کردین که دیگه عالیه. منظور از ESP اینه که آموزش زبان با هدف خاصی برای شغل خاصی انجام میشه. مثلاً آموزش زبان به برنامه نویسان، مهندسان، زمین شناس ها و یا هر شغل دیگری.
توی چنین کلاس هایی هم واژگان تخصصی رو آموزش میدن و هم طرز به کار گیری شون رو. بهترین معلم ها برای چنین کلاس هایی برنامه نویسانی هستند که سطح زبان بالای دارند نه کسانی که صرفاً در کنار زبان انگلیسی کمی هم از کامپیوتر سر درمیارن.
اما اگر به هر دلیلی نمیتونید یا تمایل ندارید در چنین کلاس هایی حضور پیدا کنید، باید خودتون دست به کار بشید و self-study کنید. چون قراره که درست بنویسید و درست بفهمید، بهتره از کتاب های گرامر موجود در بازارو کتاب تخصصی لغات برنامه نویسی استفاده کنید. در کنار این دو تا یک منبع دیگه هم هست که خیلی زیاد کمک میکنه و اون هم خوندن متن های مرتبط هست، البته به زبان انگلیسی. هرچقدر بیشتر بخونید، هم بهتر مینویسید و هم درک مطلبتون بهتر میشه. اینکه نمیگم فیلم ببینید دلیلش اینه که قرار نیست مهارت های شنیداری و گفتاری تون رو تقویت کنید، اما اگر وقت دارید دیدن فیلم های زبان اصلی برای تقویت کلی زبان معجزه میکنه پس ازش غافل نشید.
خلاصه مطلب اینکه به ذهنم رسید به کسانی که توی این حرفه هستن ولی هنوز به زبان احتیاج پیدا نکردن بگم که دیر یا زود کمبودش رو حس میکنن و ممکنه بدجورگیر بیفتن، پس بهتره قبل اینکه بیاد سراغتون و غافلگیرتون کنه برید سراغش و باهاش دوست بشید.