12 اشتباه درباره برنامه نویسی که یادگیری برنامه نویسی را برایتان سخت میکند
تصورات غلط و افسانههای زیادی در مورد رشته برنامه نویسی وجود دارد. بسیاری از مردم آن را به عنوان شغلی که فقط افراد بااستعداد میتوانند واردش شوند، میشناسند. برخی هم بر این باورند که این مسیر شغلی صرفا برای نخبهها یا کسانی است که هوش ریاضی بسیار قوی دارند و تصورشان این است که نباید هیچوقت در آن اشتباه کرد و دقت حرف اول و آخر را میزند.
ما در این مقاله قصد داریم برای همیشه تصورات غلطی که در مورد برنامه نویسی وجود دارد را کشف و از ذهنتان پاک کنیم. هدف ما این است افرادی که با این تفکرات وارد این رشته شده اما آن را رها کردهاند یا در شروع دورههای آموزش برنامه نویسی تردید دارند را دوباره به این مسیر برگردانیم. اگر شما هم جز این دسته از افراد هستید، با ما همراه باشید!
باور اول: شما باید یک نخبه ریاضی باشید تا کدنویسی را یاد بگیرید
ریاضیات چیزی است که به شما تقریبا در هر رشتهای از جمله حسابداری، کسب و کار، سرمایهگذاری، معماری ساختمان و حتی پرتاب موشک کمک میکند.
اما شما واقعا نیازی به داشتن دانش ریاضی برای شروع برنامه نویسی ندارید. حتی اگر بتوانید یک جمله معنادار هم بنویسید، میتوانید کدنویسی را یاد بگیرید.
شاید برخی جاها نیاز باشد از عملگرهای ریاضی کمک بگیرید، اما باز هم جای نگرانی نیست و شما میتوانید در حین کدنویسی این مسائل را هم یاد بگیرید. به عبارت سادهتر، اگر در دبیرستان و راهنمایی هم دروس ریاضی را پاس کرده باشید، برای توسعه نرمافزارهای عادی کافی است. استثنائاتی مثل علم داده و یادگیری ماشین وجود دارد که برای تسلط بر آنها به دانش گسترده ریاضیات نیاز است، منتهی برای برنامهنویسان فوق حرفهای دغدغه به حساب میآید و نه تازهکارها!
نکته دیگر این است که بیشتر اوقات شما از کتابخانهها یا توابع داخلی استفاده میکنید که الگوریتم را برایتان پیادهسازی میکنند. پس نیازی به محاسبات نیست.
باور دوم: برنامه نویسی فقط برای افرادی است که IQ بیشتر از ۱۵۰ دارند.
این رایجترین باوری است که در بین مردم جا افتاده است. آیا فکر میکنید تمام برنامهنویسانی که کد مینویسند، ضریب هوشی بالای 150 دارند؟! اگر اینطور باشد همه آنها نابغهاند!
خیالتان را راحت کنم، شما اگر میتوانید بخوانید و بنویسید، پس میتوانید کد هم بنویسید. زبانهای برنامه نویسی هم بر اساس زبانهای طبیعی هستند که به آنها صحبت میکنیم و برنامه نویسی فقط پُلی بین زبان ما و زبان دودویی (0 و 1) است که کامپیوتر درک میکند.
اگر مکانیسم پشت هر زبان را درک کنید، یادگیریاش برایتان آسانتر خواهد بود. یادگیری کدنویسی فقط به زمان، تلاش مداوم و پشتکار نیاز دارد. شما هنگامی که شروع به یادگیری میکنید، کمکم با مباحث آشنا خواهید شد و نباید انتظار داشته باشید که در عرض چند هفته یک برنامهنویس حرفهای شوید.
باور سوم: فلان زبان بهتر از زبانهای دیگر است.
چنین چیزی وجود ندارد! هر زبان پیچیدگیها و کاربردهای خودش را دارد. بهتر بودن یا نبودن یک زبان به این بستگی دارد که بخواهید روی چه پروژههایی و در کجا کار کنید.
در واقع این رویکرد شما است که مهم است؛ یعنی فقط اینکه بخواهید تمام اصول اولیه را از اول یاد بگیرید یا بخواهید با یک زبان آسانتر شروع کنید و به تدریج زبانهای دیگر را به مهارتهایتان اضافه کنید، در انتخاب زبان تاثیر دارد.
به هر حال باید از یک جا شروع کرد و نباید از این شاخه به آن شاخه بپرید. زبانی که در موردش تحقیق کردهاید و دوست دارید را شروع کنید و ثابت قدم پیش بروید.
باور چهارم: برنامهنویسان باید کدی که مینویسند را به خاطر بسپارند.
نه واقعا! تکنولوژی برنامه نویسی به سرعت در حال تکامل است. ممکن است شما زمانی یک کد را با Vue.js بنویسید و چند وقت بعد، React.js محبوبیت پیدا کند.
شما که نمیتوانید هزاران خط کد را به زبانهای مختلف به ذهن بسپارید، میتوانید؟ پس چنین تصور غلطی مسخره است. این روزها زبانهای بسیار زیادی وجود دارند که هر کدام ویژگیهای خاص خودشان را دارند اما باید با تمرین یاد بگیرید از چه چیزی در کجا استفاده کنید. از طرفی هم بخش اعظم کدنویسی رفع باگ و استفاده از توابع و کلاسها است که باید با اجرا و تمرین نمونه کدهای مختلف انجام شود. پس اصلا بخش حافظه مغز شما درگیر نمیشود و فقط باید تمرکز و دقت بیشتری به خرج بدهید تا مشکلات را رفع کنید. با این اوصاف برنامه نویسی مثل تاریخ نیست که محتوای آن ثابت باشد و بتوان حفظش کرد.
بهعلاوه با وجود منابعی مثل Stack Overflow و Google، شما میتوانید برخی از نمونه کدهایی که قرار است بنویسید را به صورت آماده در این پلتفرمها جستجو و پیدا کنید و اصلا یکسری از بخشهای برنامه را خودتان ننویسید. به همین سادگی!
باور پنجم: برنامهنویسان باید بدانند چطور مشکلات نرم و سختافزاری کامپیوترشان را رفع کنند.
این یکی کمی خندهدار است! حتما شما هم میمهایی که در شبکههای اجتماعی در این باره ساخته شدهاند را دیدهاید. معمولا حتی وقتی به بقیه میگویید فول استک دولوپر هستید، آنها فکر میکنند باید بتوانید هر مشکلی که در ویندوز و حتی داخل کیس به وجود میآید را حل کنید.
توسعهدهندگان نرمافزار لزوماً مهارتی در تعمیر کامپیوتر ندارند. وظایفی مثل تعمیر قطعات کامپیوتر، عیبیابی، تعمیر ابزارهای کامپیوتری همگی مربوط به سختافزار و خارج از حوزه برنامه نویسی هستند.
مثل این است که از یک خلبان بخواهید یک هواپیما را تعمیر کند. اما آیا وظیفه او است که این کار را انجام بدهد؟ معلوم است که نه!
یک برنامهنویس معمولا برای عیبیابی به یوتیوب یا گوگل مراجعه میکند و اگر نتوانست کاری کند، سیستم را به دست یک تکنسین خبره میسپارد.
مسئولیت اصلی برنامهنویسان نوشتن و تست کد، بهروزرسانی برنامههای موجود، پیدا کردن و رفع باگها، بازنویسی کدها برای سیستمعاملهای مختلف و غیره است. نباید انتظار داشت که یک برنامهنویس مشکلات سختافزاری یا پیکربندی را حل کند.
باور ششم: برنامه نویسی کار خستهکنندهای است.
برنامهنویسان افرادی هستند که خلاقیتشان را با برنامه نویسی نشان میدهند. آنها مسائل بزرگ و پیچیده را به قطعات کوچک تقسیم کرده و سعی میکنند که روشهای مختلف را برای حل مشکلات کد امتحان کنند تا پروسه برنامه نویسی برایشان خستهکننده نشود.
پس شما هم قرار نیست دائم پشت کامپیوتر بنشینید. در واقع، بسیاری از توسعهدهندگان ماهر تا زمانی که راهحل را در ذهنشان پیدا نکنند، دست به صفحه کلید نمیزنند. آنها معمولا شبه کد را با قلم روی کاغذ مینویسند و تا به الگوریتم درست در ذهنشان نرسند، دست به کد نمیشوند.
علاوه بر این کتابخانه و فریمورکهایی در هر زبان برنامه نویسی وجود دارند که کدنویسی را واقعا ساده کردهاند. پس فقط باید تمرکز و پشتکار داشته باشید!
حالا که صحبت از فریمورک شد، حدس میزنیم اکثر شما با این مبحث جذاب از برنامه نویسی آشنایی کافی نداشته باشید. به همین دلیل توصیه میکنیم مقاله ما تحت عنوان “فریمورک چیست” را حتما بخوانید.
باور هفتم: بعد از آموزش، فوراً نمیتوان کار پیدا کرد.
شاید این روزها به خاطر وجود پلتفرمهایی مثل وردپرس که تقریبا به هیچ مهارت کدنویسی نیاز ندارند، برخی شرکت و کسب و کارها خودشان سایت مورد نظرشان را طراحی کنند اما در کل برنامه نویسی یک حرفه است که باز هم باید توسط نیروی متخصص خودش انجام شود.
واقعیت این است که برنامه نویسی و توسعه یک نرمافزار، اپلیکیشن یا سایت، یک کار تیمی است. پس مثلا حتی اگر یک سایت با وردپرس ساخته شود، باز هم برای پشتیبانی و تامین امنیت آن به یک متخصص نیاز خواهد شد. بنابراین برنامهنویسان هیچوقت بیکار نخواهند ماند، مخصوصا اگر در این کار حرفهای باشند.
خوشبختانه این روزها بازار کار این شغل در پلتفرمهای خارجی هم بسیار داغ است که اگر کمی زبان بلد باشید، میتوانید به دلار کسب درآمد کنید.
بگذارید خیالتان را از بابت هوش مصنوعی هم راحت کنیم. واقعیت این است که اگر هوش مصنوعی واقعا پیشرفته شود و برنامهنویسان را از کار بیکار کند، تمام حرفهها با این مشکل رو به رو خواهند بود. پس همه در یک کشتی قرار میگیریم! پس چو فردا شود، فکر فردا کن.
باور هشتم: برای برنامه نویسی باید مدرک دانشگاهی داشته باشید.
یکی دیگر از مشکلاتی که در مورد برنامه نویسی وجود دارد، این است که همه فکر می کنند چون این حرفه کار فنی است، باید حتما یک مدرک در زمینههای تکنولوژیکی داشت. اما این برداشت نادرست است زیرا برخی از برنامهنویسان حرفهای و ماهر مدرک لیسانس مرتبطی در این زمینه ندارند. شما آزاد هستید تا با هر مدرک دانشگاهی در دورههای برنامه نویسی شرکت کنید و کد بزنید. تنها فرقی که مهندسان نرمافزار دارای مدرک مرتبط با شما دارند، این است که آنها چهار سال زودتر وارد این رشته شدهاند و نسبت به مباحث کامپیوتری آگاهتر هستند. خب، این تجربه چهار ساله آنها نباید شما را دلسرد کند. چرا که اگر الان به صورت حرفهای شروع کنید؛ شاید چهار سال دیگر از آنها موفقتر هم باشید. کسی چه میداند؟!
باور نهم: برای اینکه بتوان زبانهای برنامه نویسی را یاد گرفت، باید بزرگسال بود.
والدین نباید اجازه بدهند که موضوعِ کم بودنِ سن، فرزندانشان را از یادگیری زبانهای برنامه نویسی بازدارد. این فقط یک نظر شخصی نیست. سازمانهایی هستند که تمام سعیشان این است که برنامه نویسی به یک درس اجباری در مدارس تبدیل شود. علت هم این است که کودکان را قادر میسازد تا مهارتهای تفکر تحلیلی را از سنین کودکی یاد بگیرند.
با این حال، باید این نکته را در نظر گرفت که مدلهای یادگیری برای کودکان و بزرگسالان متفاوت است. کودکان اغلب به صورت بصری بهتر یاد میگیرند، زیرا ادراک بصری آنها قویتر است. خوشبختانه ابزارهای زیادی مثل Scratch و Alice هستند که برای آموزش برنامه نویسی به کودکان به صورت بصری بسیار مناسباند و تجربه بسیار جذابتری نسبت به کتابهای برنامه نویسی قدیمی ارائه میدهند.
اگر فرزند شما در یک محیط تعاملی بهتر یاد میگیرد، پلتفرمهای ایرانی و خارجی زیادی مثل Khan Academy هستند که این محیط را برایشان فراهم میکنند. پس با وجود این همه امکانات، سن و سال مشکلی به حساب نمیآید.
باور دهم: زنها نمیتوانند کدنویسی کنند
خوشبختانه چندین سال است که خانمها در رشتههای کامپیوتری تحصیل میکنند و بعد از فارغالتحصیل شدن وارد بازار کار میشوند. حتی برخی از بانوان در این زمینه بسیار پیشرفت کردهاند و در پلتفرمها و شرکتهای خارجی مشغول به کار هستند. با این اوصاف با ورود نکردن به این حوزه، فقط خودتان را از پیشرفت باز خواهید داشت.
باور یازدهم: مردم فکر میکنند برنامهنویسها منزوی هستند.
این شغل به گونهای است که میتوان آن را در هر مکانی انجام داد. بنابراین اگر میخواهید در یک زیرزمین به تنهایی کار کنید و فقط از طریق اسکایپ با همکارانتان در ارتباط باشید هم، برنامه نویسی پتانسیلش را دارد. معمولا شما زمان زیادی را صرف کار بر روی پروژههای فردیتان خواهید کرد که احتمالا بخشی از یک پروژه بزرگتر هستند. در نتیجه، باید وقتتان را صرف همفکری با همکاران و به اشتراک گذاشتن ایدهها کنید که این یعنی باید با افراد دیگر در ارتباط باشید. پس آنطور که گفته میشود دور از اجتماع نبوده و فقط کارتان را در یک محل مجزا انجام میدهید.
از طرفی شما به خاطر آپدیت کردن مهارتها و یاد گرفتن زبانهای جدید مجبورید در دورههای آموزشی یا حتی چندین بوتکمپ برنامه نویسی شرکت کنید که این هم باعث میشود با افراد دیگری در ارتباط باشید. بنابراین هیچ دلیلی برای منزوی شدن وجود ندارد.
باور دوازدهم: به تجهیزات و نرمافزارهای گران قیمت برای شروع برنامه نویسی نیاز است.
قطعا این تفکر هم اشتباه است. برای شروع کدنویسی نیازی به تجهیزات یا نرمافزارهای گرانقیمت ندارید!
برنامه نویسی در ابتدا ترسناک به نظر میرسد، مخصوصا وقتی که میبینید سایر برنامهنویسان تجهیزات کامل و گران قیمتی دارند. با این حال، حقیقت این است که شما برای شروع این حرفه و در ابتدای راه به هیچ کدام از اینها نیاز نخواهید داشت. تمام چیزی که نیاز دارید یک کامپیوتر یا یک لپتاپ و کمی پشتکار است.
علاوه بر این، حداقل در ایران اکثر پلتفرمها و محیطهای برنامه نویسی به صورت رایگان و حتی به صورت آنلاین در دسترساند که میتوانید برای شروع برنامه نویسی از آنها استفاده کنید. وبسایتهایی مثل Scratch، Code.org و Khan Academy منابع و آموزشهای لازم را در اختیارتان قرار میدهند که به طور ویژه برای مبتدیان تهیه شدهاند. بنابراین، نگرانِ نداشتنِ ابزارها یا نرمافزار جدید نباشید. شما هنوز هم میتوانید در همان محیطهای قدیمی مثل ویژوال استودیو یا حتی نوتپد کد بنویسید.
یک نکته مهم دیگر این است که برای شروع، لزوما به یک کامپیوتر فوقالعاده سریع نیاز ندارید. زبانهای برنامه نویسی پایه مثل پایتون، HTML و CSS، پردازش سنگینی ندارند. کامپیوتر شما برای یادگیری این زبانها و ساخت پروژههای ساده بسیار خوب عمل خواهد کرد.
جمعبندی
خب، امیدواریم توانسته باشیم تمام تصورات غلطی که در مورد برنامه نویسی وجود دارد و ممکن است شما را از شروع این مسیر، دلسرد کرده یا ادامه یادگیری را برایتان سخت کرده است را پوشش بدهیم. این باورها که واقعا شبیه به افسانهها هستند، نباید شما را از اهدافتان باز دارند. بهتر است این حرفها را دور بریزید و همین امروز در یک دوره برنامه نویسی در هر زبانی که دوست دارید، ثبتنام کنید و تمرکزتان را روی کد زدن و یادگیری بگذارید.
برخی از سؤالات متداول
شما به عنوان یک مبتدی احتمالا با چنین سوالاتی رو به رو خواهید شد:
کدام زبان برنامه نویسی را باید اول یاد گرفت؟
در واقع نوع زبان برنامه نویسی که انتخاب میکنید به اهداف و علایقتان بستگی دارد. اما در کل برخی از زبان هایی که برای مبتدیان مناسب هستند، عبارتند از:Python ، JavaScript و Ruby.
آیا یادگیریِ برنامه نویسی برای سن بالا دیر است؟
خیر. هیچ وقت برای شروع حرفه برنامه نویسی دیر نیست. بسیاری از برنامهنویسانی که در حال حاضر خبره و حرفهای هستند، در سنین بالا این مهارت را یاد گرفته و شروع کردهاند.