0
09120368440

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

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

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

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

 

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

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

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

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

 

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

نتیجه گیری

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

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

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

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

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

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

دیدگاه کاربران
    • عباسی ۴ آبان ۱۳۹۸

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

    • حسین ۴ آبان ۱۳۹۸

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

      • Sasan ۵ آبان ۱۳۹۸

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

  • مصطفی بابا ۴ آبان ۱۳۹۸

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

    • فاطمه ۷ آبان ۱۳۹۸

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

      • محسن مدحج ۱۲ آبان ۱۳۹۸

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

    • محسن مدحج ۱۵ آبان ۱۳۹۸

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

  • امیر رضا ۴ آبان ۱۳۹۸

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

    • امیر رضا ۴ آبان ۱۳۹۸

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

      • محسن مدحج ۱۵ آبان ۱۳۹۸

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

  • Tima ۴ آبان ۱۳۹۸

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

    • علی ۷ آبان ۱۳۹۸

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

      • محسن مدحج ۱۲ آبان ۱۳۹۸

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

  • فریبا ۴ آبان ۱۳۹۸

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

    • محسن مدحج ۱۵ آبان ۱۳۹۸

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

  • Amir ۴ آبان ۱۳۹۸

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

  • mahdi ۴ آبان ۱۳۹۸

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

  • پژمان ۴ آبان ۱۳۹۸

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

  • فرهاد یونسی ۴ آبان ۱۳۹۸

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

    • علی ۷ آبان ۱۳۹۸

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

      • محسن مدحج ۱۲ آبان ۱۳۹۸

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

  • محمدرضا ۴ آبان ۱۳۹۸

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

  • یوسف ریاحی ۵ آبان ۱۳۹۸

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

  • سید محسن ۵ آبان ۱۳۹۸

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

  • علي ۵ آبان ۱۳۹۸

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

  • سجاد ۶ آبان ۱۳۹۸

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

  • hmd ۷ آبان ۱۳۹۸

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

    • محسن مدحج ۱۲ آبان ۱۳۹۸

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

  • مهدی ۱۳ آبان ۱۳۹۸

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

    • محسن مدحج ۱۵ آبان ۱۳۹۸

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

  • اکرم ۱۴ آبان ۱۳۹۸

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

    • محسن مدحج ۱۵ آبان ۱۳۹۸

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

  • تارا مهماندوست ۱۹ آبان ۱۳۹۸

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

  • اریا ۱۸ آذر ۱۳۹۸

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

ارسال دیدگاه

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

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

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

.