09120368440

برنامه نویسی سخت است یا برنامه نویس شدن ؟

شاید فکر کنی عبارت ” آیا برنامه نویسی سخت است ” با ” آیا برنامه نویس شدن سخت است “، فرقی ندارد. برنامه نویسی یعنی کارهایی که انجام می دهی تا یک نرم افزار تولید کنی. برنامه نویس شدن یعنی علاوه بر آموزش برنامه نویسی، شرایط دیگری هم داشته باشی.مثلا سن مناسب ، مدت زمان لازم و سطح هوشی بالا برای برنامه نویس شدن.

 نتیجه میگیریم که ماهیت برنامه نویسی و برنامه نویس شدن با هم فرق می کند.

 مساله این است که بعضی ها می پرسند برنامه نویسی کار سختی است؟ اما جوابی که می گیرند مربوط به شرایط برنامه نویسی است. در این مقاله سخت بودن یا نبودن برنامه نویسی را بررسی می کنیم. همچنین خواهیم دید که روش صحیح برنامه نویسی چیست.

 

روش فعلی یادگیری برنامه نویسی، روش اشتباهی که اکثر افراد از آن استفاده می کنند

تصور کن که دوست داری در برنامه نویسی حرفه ای شوی. بنظرت یک روش صحیح آموزش برنامه نویسی این است که یک زبان برنامه نویسی خوب انتخاب کنی. پس هر طور شده یک زبان برنامه نویسی پیدا می کنی و شروع میکنی به یاد گرفتن.

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

با دنیایی از تکنیک و کدهای برنامه نویسی رو برو شده ای اما پا پس نمی کشی. تا با دنیای برنامه نویسی سخت مبارزه کنی.

 

روش اشتباه آموزش برنامه نویسی می تواند آرزوهای تو را به کام نابودی بکشاند

 روش یادگیری برنامه نویسی که انتخاب کرده ای احتمالا به این شکل است:

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

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

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

همین اتفاق در این روش یادگیری برنامه نویسی هم رخ می دهد. کلی حلقه for و if و چیزهای مختلف را حفظ می کنیم ولی وقتی پای برنامه نویسی می رسد، انگار که ذهنمان خالی می شود.

 پس حفظ کردن کدها و درک نکردن آن ها باعث می شود تصور کنی ” برنامه نویسی  سخت است.

 

حفظ کردن کدها، مغز ما عامل شکست در آموزش برنامه نویسی

تلاش و زحمتت برای یادگیری برنامه نویسی با حفظ کردن کدها به جایی نمی رسد. فراموش کردن دستورهای برنامه نویسی به این دلیل است که مغز یک ساختار بامزه دارد.

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

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

پس اگر تا الان برنامه نویسی برای کسی سخت بوده به این دلیل است که از کدهایی که یاد گرفته، استفاده نکرده است.

طبیعتا مغز متوجه می شود چه اطلاعاتی را مرتبا در زندگی به کار برده ایم تا آن ها را حذف نکند. درست مثل جدول ضربی که کلاس سوم دبستان یاد گرفتیم در مقایسه با مفاهیم دیگر ریاضی. چرا هنوز که هنوز است جدول ضرب را خیلی خوب به یاد داریم؟ اما از بعضی ها می شنویم که می گویند برنامه نویسی فرار است و زود فراموش می شود؟ جواب ساده است.

روزی هست که بگذرد و عملیات جمع، تفریق، ضرب و تقسیم را در زندگی استفاده نکنی؟

 پس مغز متوجه شده است که باید عملیات ریاضی را در جای خوبی نگهداری کند تا سریع آنها را پیدا کند. اما چطور می توان از این روش برای یادگیری کاربردی برنامه نویسی استفاده کرد؟

 

یادگیری کاربردی برنامه نویسی چطور با استفاده از مغز ما انجام می شود ؟

یادگیری کاربردی برنامه نویسی به این معنا است که چیزهایی که یاد می گیری را بکار ببری. اما پیش از آنکه به سراغ آموزش کاربردی برنامه نویسی بروم به چند نکته اشاره می کنم. برنامه نویسی فقط یک زبان نیست که در آن استاد شوی، بلکه مجوعه ای از دانش ها است که در کنار هم قرار گرفته اند.

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

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

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

راه تمرین این تصویر سازی این است که یک پروژه نرم افزاری واقعی را اجرا کنی. مثلا پروژه ای برای مطب پزشک یا کتابخانه.

 دستورات مهم را با استفاده از مکانیزم طبیعی ذهن و تصویرسازی درک می کنی. پس از درک کدها و استفاده از آن ها در پروژه نرم افزاری تکرار و تمرین انجام می شود . بنابراین احتمال حذف آن ها توسط مغز کم می شود. یعنی با روش مکانیزم طبیعی ذهن برنامه نویسی سخت را به برنامه نویسی آسان تبدیل می کنی.

نتیجه گیری

اگر بخواهی یک فوتبالیست شوی و از این طریق به پول و شهرت برسی آیا می توانی فقط با خواندن کتاب های خیلی زیاد در این باره و یاتمرین کردن با ویدیو های آموزشی به آن جایگاه برسی؟

اصلا با این روش تو فوتبالیست می شوی؟

شاید یک بازیکن نمایشی شوی اما فوتبالیست بعید می دانم! تو باید حتما در تمرینات واقعی و مسابقات فوتبال هم شرکت کنی.

کاری که مسی و رونالدو کردند.

 روش معمول یادگیری برنامه نویسی که در ۹۹% آموزش ها می بینی مانند همین مطالعه و تمرین های غیر واقعی برای فوتبالیست شدن است. اما مکانیزم طبیعی ذهن کار دیگری می کند.

به تو یک توپ می دهد و تو را در وسط میدان فوتبال میگذارد. در واقع تصور سخت بودن برنامه نویسی را در تو از بین خواهد برد.

دیدگاه کاربران
    • عباسی 26 اکتبر 2019

      باتشکر از مقاله شما
      میشه لطفا دقیقا بگید الان چیکار کنیم برای موفقیت در این مسیر.

    • حسین 26 اکتبر 2019

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

      • Sasan 27 اکتبر 2019

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

  • مصطفی بابا 26 اکتبر 2019

    بسیار بسیار خوب و عالی است.

    • فاطمه 29 اکتبر 2019

      بله کاملا حرف و مقاله شما درسته منم کد هارو یادمیگیرم اما نمیدونم کجا ب کار بگیرم و استفاده کنم

      • محسن مدحج 3 نوامبر 2019

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

    • محسن مدحج 6 نوامبر 2019

      سلام دوست عزیز
      ممنون از انرژی و کامنت مثبتت

  • امیر رضا 26 اکتبر 2019

    سلام خسته نباشید.بله حرف شما کاملا درسته اما مثلا منی که دارن جنگو کار میکنم مثلا برای ساخت فرم با کلا کارکرد سایت که چطور دبتا رو لگیربم و چطور در view از اون استفاده کنیم و کلا پروسه چطور کار میکنه رو ما نمیتونیم متوجه شیم مگه کسی بهمون بگه اینطوره پروسه اش

    • امیر رضا 26 اکتبر 2019

      سلام خسته نباشید.بله حرف شما کاملا درسته اما مثلا منی که دارم جنگو کار میکنم مثلا برای ساخت فرم یا کلا کارکرد سایت که چطور دیتا رو بگیرم و چطور در view از اون استفاده کنیم و کلا پروسه چطور کار میکنه رو ما نمیتونیم متوجه شیم مگه کسی بهمون بگه اینطوره پروسه اش

      • محسن مدحج 6 نوامبر 2019

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

  • Tima 26 اکتبر 2019

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

    • علی 29 اکتبر 2019

      Vs code برای شروع از همه بهتره

      • محسن مدحج 3 نوامبر 2019

        vs کد برای شروع چه چیزی خوبه؟ آی دی هست که برای زبان های مختلف استفاده می شود.

  • فریبا 26 اکتبر 2019

    جالب بود ممنونم

    • محسن مدحج 6 نوامبر 2019

      سلام فریبای عزیز،
      ممنونم از وقتی که برای مطالعه گذاشتی و انرژی مثبتت

  • Amir 26 اکتبر 2019

    مفید بود ممنون

  • mahdi 26 اکتبر 2019

    من برنامه نوشتن رو بلدم ولی طبق نظر شما حفظ می کنم برنامه ها رو از تو دانشگاه هم همینطور بود میخوام بدونم چطور برنامه نویسی رو به قول خودتون تجسم کنم من دقیقا نمی دونم می خوا م یک برنامه نویس فول استک بشم تا بتونم خودم هم پروژه بنویسم اگر میشه راهنماییم کنید متشکرم

  • پژمان 26 اکتبر 2019

    دمت گرم عالی بود . هر بار که شما به ما کمک میکنید خیلی از بزنامه نویسی جلوتر میوفتم و زود تر پیش میرم. به خاطر همه زحماتتون متشکرم.

  • فرهاد یونسی 26 اکتبر 2019

    سلام. بله من تلاش برای این که برنامه نویس شوم. برای کمی سخت و پیچیده است. که چطوره کد ها را برای یم برنامه کشف کنم. من html , css, bootstrap, php را بلد هستم و میتوانم که یک محیط گرافیکی را ایجاد کنم. اما برنامه نویسی با کد ها را نمی دانم چطور شروع کنم.
    مطالب و مقاله های شما بسیار برای ما انگیزه ایجاد میکند.
    اما راه اینکه چطور برنامه نویس شویم را نمیدانم.
    تشکر از شما

    • علی 29 اکتبر 2019

      من هم تازه این زبان ها رو شروع کردم به نظرم بهتره برای این کار توی تیم شرکت کنید و شروع به کار کنیم

      • محسن مدحج 3 نوامبر 2019

        بله اما قبلش پیشنهاد می کنم با دانش روانشناسی ، روابط عمومی و مفاهیم اسکرام و مذاکره خودتان را مجهز کنید.

  • محمدرضا 26 اکتبر 2019

    سلام بسیار عالی. به نظرم اگر بشه برنامه نویسی را در قالب چند پروژه کاربردی آموزش داد هر شخصی قادر خواهد هر برنامه ای رو بنویسه ولی متاسفانه اغلب آموزشها فقط به کد نویسی و کار با ساختار کد نویسی ختم میشه

  • یوسف ریاحی 27 اکتبر 2019

    سلام آقای مهندس: محسن جان من معتقدم هیچی سخت نیست ، فقط و فقط دستورالعمل واضح و روشن لازم است . والسلام

  • سید محسن 27 اکتبر 2019

    سلام عزیز :
    یه چیزی برات بگم هیچ کاری نیست که ما نتوانیم همه کارا انجام میدهیم من میتوانم و اصلا هم سخت نیست کمی زحمت بکار دارد . میخواهم یک برنامه نویس خوبی شوم و میشوم .

  • علي 27 اکتبر 2019

    باسلام عالی بود.

  • سجاد 28 اکتبر 2019

    با سلام و احترام
    مطلب نوشته شده مطلب جالب و علمي است
    يادگيري علم بايد كاربردي شود تا قابل نتيجه دهي باشد
    و دقيقا يكي از دلايل بي انگيزگي در ادامه كار برنامه نويسي
    حفظ دستورات بدون انجام پروژه است
    ممنونم بابت مطالب علمي ارزشمندتان

  • hmd 29 اکتبر 2019

    تنها راه برنامه نویس بعد از آموزش اولیه الگوریتم و فلوچارت و دستورات ابتدایی، قبول و نوشتن برنامه های ساده مثلا دانشجویی برای بقیه است در ازای دریافت هزینه یا گذاشتن آبرو
    البته از کارهای غیر حساس و ساده شروع کنید به سمت کارهای پیشرفته تر

    • محسن مدحج 3 نوامبر 2019

      درست می گید با این راه حل می شه جلو رفت اما خیلی زمان می برد پیشنهاد می کنیم. مکانیزم طبیعی ذهن خود را فعال کنید و راحت تر کدنویسی کنید

  • مهدی 4 نوامبر 2019

    بسیار خوب و کاربردی ممنون از راهنمایی های ارزنده شما

    • محسن مدحج 6 نوامبر 2019

      سلام مهدی عزیز
      ممنون از کامنت و انرژی خوبت، خوشحالم که مقاله را دوست داشتی

  • اکرم 5 نوامبر 2019

    با سلام.مطالب شمارو خوندم ولی من میخوام طراح سایت بشم وازhtml و cssشروع کردم وقرارهbootstrapیادبگیرم وتقریبا کاربردی دارم یاد میگیرم دستورات رو..سوال من اینه که آیا باید قبل از اینها زبان برنامه نویسی خاصی رو یادمیگرفتم؟؟باتوجه به اینکه من میخام به دنیای وب وارد بشم

    • محسن مدحج 6 نوامبر 2019

      سلام اکرم عزیز،
      بسیار خوشحالم که مقالات ما را دنبال کردی و تبریک میگم که راهت رو انتخاب کردی. طراحی وب سایت از دو قسمت تشکیل میشه. سمت کلاینت و سمت سرور. HTML, CSS, Bootstrap برای پیاده سازی کلاینت ساید در طراحی وب سایت لازم و ضروری هستند اما برای سمت سرور لازمه که برنامه نویسی بدونید و یک زبان برنامه نویسی هم نیاز دارید تا بتونید سرورساید رو پیاده سازی کنید. بنابراین بله لازم هست که برنامه نویسی بلد باشید

  • تارا مهماندوست 10 نوامبر 2019

    مقاله بسیار خوبی بود – قلم خانم مهندس شبر بسیار عالیه .

  • اریا 9 دسامبر 2019

    سلام خسته نباشد واقعا ممنون بخاطر راهنمایی های خوبتون .من دانشجو هستم واز الان تا امتحان پایان ترم پیشرفته برنامه نویسی فقط ۲۰روز مهلت دارم ومن هیچ جیزی از این کتاب بلد نیستم میشه خواهش کنم یه راه بهم بگید فقط بتونم این درسو بخونم و از امتحانش موفق بیرون بیام .خیلی به کمکتون نیاز مندم .ممنون میشم پاسخ بدین

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

برنامه نویسی یا کد بازی ؟

بیش از 10000 نفر در خانواده آکادمی برنامه نویسی مدحج عضو شده اند و بجای کدبازی، میخواهند ماهیانه سفارش پروژه بگیرند و درآمد داشته باشند.
دوست داری وارد خانواده ما شوی ؟

.