فقط فکر آموزش برنامه نویسی می تواند بسیار ترسناک باشد. کلمه کد طبق تعریف مرموز است. این بیانگر نوعی ارتباط فنی است که رایانهها، و نه انسانها، قرار است آن را بفهمند.یکی از راههایی که بسیاری از مردم شروع به یادگیری کدنویسی میکنند این است که یک زبان آموزش برنامهنویسی محبوب را انتخاب کرده و ابتدا بدون هیچ جهتی به سر میبرند.
این می تواند به شکل یک دوره کدگذاری آنلاین، یک پروژه آموزشی، یا خرید تصادفی کتاب در مورد یک موضوع خاص باشد.به ندرت توسعه دهندگان آینده نگر با یک نقشه راه شروع می کنند – یک دید پرنده از دنیای آموزش برنامه نویسی که مجموعه ای از مفاهیم آموزش برنامه نویسی مرتبط، زبان ها و ابزارهایی را که تقریباً 100٪ توسعه دهندگان هر روز از آنها استفاده می کنند، مشخص می کند.
در این مقاله، من یکی از این نقشه راه آموزش برنامه نویسی را پیشنهاد می کنم. من این کار را با تشریح مراحل انجام میدهم، که هر کدام یک مفهوم، زبان یا ابزار ضروری را مورد بحث قرار میدهند، که توسعهدهندگان حرفهای از آن برای نوشتن کد، همکاری و ایجاد پروژههای حرفهای استفاده میکنند.
هر یک از مراحل این مقاله یک “ضرورت کدنویسی” را مورد بحث قرار می دهد، چیزی که به اعتقاد من برای حداقل دانستن وجود آن در ابتدای سفر برنامه نویسی شما ضروری است.نکته پایانی قبل از مراحل نقشه راه: مطمئناً خواندن این مقاله شما را به یک برنامه نویس خبره تبدیل نمی کند. بلکه یک دید گسترده از مسیر پیش رو را فراهم میکند.
(1 با معماری کامپیوتر و مبانی داده های آموزش برنامه نویسی آشنا شوید
یکی از چیزهای شگفت انگیز در مورد زبان های آموزش برنامه نویسی مدرن این است که آنها ما را قادر می سازند تا برنامه های کاربردی فانتزی را بدون نگرانی در مورد جزئیات سخت سخت افزار پشت صحنه (در بیشتر موارد) ایجاد کنیم.به این انتزاع گفته می شود – توانایی کار با ابزارهای سطح بالاتر (در این مورد زبان های آموزش برنامه نویسی) که دامنه مورد نیاز درک و مهارت های ما را ساده و محدود می کند.
با این حال، این بدان معنا نیست که دانستن اصول اولیه فلزی که کد شما روی آن اجرا می شود بی فایده است. حداقل، آگاهی از چند نکته در مورد آموزش برنامه نویسی به شما کمک می کند تا مکالمات محل کار در مورد مصرف بالای CPU و حافظه را هدایت کنید.بنابراین، در اینجا حداقلی از اصول اولیه معماری کامپیوتر برای شروع شما آورده شده است:
مهم ترین قطعات کامپیوتر شما روی ریزتراشه ها (همچنین به عنوان مدارهای مجتمع شناخته می شوند) زندگی می کنند. ریزتراشه ها برای عملکرد به یک جزء الکتریکی به نام ترانزیستور متکی هستند. ترانزیستورها کلیدهای الکتریکی کوچکی هستند که در هر لحظه یا خاموش (0) یا روشن (1) هستند. یک ریزتراشه می تواند حاوی میلیون ها یا میلیاردها ترانزیستور کوچک باشد که روی آن تعبیه شده است.
اکثر کامپیوترهای مدرن دارای یک ریزتراشه به نام واحد پردازش مرکزی (CPU) هستند. می توانید آن را به عنوان مغز رایانه در نظر بگیرید. این بیشتر وظایف خرد کردن اعداد و منطقی را که رایانه انجام می دهد انجام می دهد.هر CPU چیزی به نام مجموعه دستورالعمل دارد که مجموعه ای از دستورات باینری (صفر و یک) است که CPU آن را درک می کند.
خوشبختانه، ما واقعاً نیازی به نگرانی در مورد اینها به عنوان توسعه دهندگان نرم افزاری آموزش برنامه نویسی نداریم! این همان قدرت انتزاع است.اگر CPU مرکز منطقی مغز است، داشتن حافظه نیز برای ذخیره موقت یا طولانی مدت اطلاعات مفید است. رایانه ها دارای حافظه دسترسی تصادفی (RAM) به عنوان “حافظه کاری” (یا حافظه کوتاه مدت) برای ذخیره اطلاعاتی هستند که به طور فعال توسط برنامه های آموزش برنامه نویسی در حال اجرا استفاده می شود.
RAM از مجموعه ای از آدرس های حافظه تشکیل شده است که می توان از آنها برای ذخیره بیت های داده استفاده کرد. در زبانهای آموزش برنامه نویسی قدیمیتر مانند C، برنامهنویسان به کار مستقیم با آدرسهای حافظه با استفاده از قابلیتی به نام اشارهگر دسترسی دارند، اما در زبانهای آموزش برنامه نویسی مدرنتر این نادر است.
در نهایت، ما به مؤلفهای که مطمئناً با آن آشنایی دارید، میپردازیم – هارد دیسک. در قیاس ما از مغز، این نشان دهنده حافظه بلند مدت است. هارد دیسک یک دستگاه داخلی یا خارجی است که دادههایی را ذخیره میکند که باید حتی پس از خاموش شدن رایانه نیز باقی بمانند. قبل از اینکه به جزئیات بیشتر در مورد زبان های آموزش برنامه نویسی بپردازیم، اجازه دهید یک ثانیه در مورد داده ها صحبت کنیم. اما دقیقاً منظور ما از کلمه داده چیست؟
در سطح بالایی، ما به چیزهایی مانند اسناد متنی، تصاویر، فیلم ها، ایمیل ها، فایل ها و پوشه ها فکر می کنیم. اینها همه ساختارهای داده سطح بالایی هستند که ما ایجاد می کنیم. اما در زیر کاپوت، یک تراشه کامپیوتری (مانند تراشه CPU یا RAM) هیچ ایده ای از “تصویر” یا “ویدئو” ندارد.از منظر یک تراشه، همه این ساختارها به صورت دنباله های طولانی از یک و صفر ذخیره می شوند. به این یک ها و صفرها در آموزش برنامه نویسی بیت می گویند.
بیت ها معمولاً در یک مجموعه هشت تایی در یک زمان ذخیره می شوند که به عنوان بایت شناخته می شوند. یک بایت در آموزش برنامه نویسی به سادگی دنباله ای از هشت بیت است، مانند 00000001، 01100110، یا 00001111. نمایش اطلاعات به این روش، نمایش باینری نامیده می شود.
۲ (نحوه کار زبان های آموزش برنامه نویسی را بیاموزید
در قسمت قبل اشاره کردیم که اکثر کامپیوترها به یک CPU متکی هستند و یک CPU می تواند مجموعه ای از دستورالعمل ها را به صورت یک و صفر درک کند.بنابراین، از نظر تئوری میتوانیم کدی بنویسیم که به CPU میگوید با رشتهبندی دنبالههای طولانی از یکها و صفرها به شکلی که CPU میفهمد، چه کاری انجام دهد. دستورالعمل هایی که به شکل باینری نوشته می شوند، کدنویسی ماشین نامیده می شوند.
کار کردن با آن وحشتناک به نظر می رسد، اینطور نیست؟ خوب احتمالاً اینطور است، اما من نمی دانم زیرا من بیشتر از زبان های آموزش برنامه نویسی سطح بالاتر مانند جاوا اسکریپت، پایتون و جاوا استفاده می کنم.یک زبان آموزش برنامه نویسی سطح بالاتر مجموعه ای از کلمات کلیدی، عبارات و قوانین نحوی قابل خواندن توسط انسان را ارائه می دهد که یادگیری، اشکال زدایی و کار با آنها برای افراد بسیار ساده تر است.
زبانهای آموزش برنامه نویسی ابزاری برای پر کردن شکاف بین نحوه درک مغز انسان از جهان و روشی که مغزهای کامپیوتری (CPU) دنیا را درک میکنند، فراهم میکنند.در نهایت، کدی که مینویسیم باید به دستورالعملهای باینری (کد ماشین) ترجمه شود که CPU آن را درک میکند.
بسته به زبانی که انتخاب می کنید، می گوییم که کد شما یا کامپایل می شود یا به کد ماشینی تفسیر می شود که می تواند توسط CPU شما اجرا شود. اکثر زبان های آموزش برنامه نویسی شامل برنامه ای به نام کامپایلر یا مترجم هستند که این مرحله ترجمه را انجام می دهد.
فقط برای آوردن چند مثال – جاوا اسکریپت و پایتون زبان های تفسیری هستند در حالی که جاوا یک زبان آموزش برنامه نویسی کامپایل شده است. اینکه یک زبان کامپایل یا تفسیر شود (یا ترکیبی از این دو) پیامدهایی برای راحتی توسعهدهنده، مدیریت خطا، عملکرد و سایر زمینهها دارد، اما ما در اینجا به جزئیات آن نمیپردازیم.
(3نحوه عملکرد اینترنت در آموزش برنامه نویسی را بدانید
هر نوع برنامه نویسی که می خواهید انجام دهید، با موقعیت هایی مواجه می شوید که به شما کمک می کند تا بدانید کامپیوترها چگونه با یکدیگر تعامل دارند. این معمولاً از طریق اینترنت رخ می دهد.اینترنت چیزی نیست جز مجموعه ای جهانی از رایانه های متصل. به عبارت دیگر یک شبکه جهانی است. هر کامپیوتر در شبکه بر روی مجموعه ای از قوانین توافق دارد که آنها را قادر می سازد با یکدیگر صحبت کنند. برای کامپیوتر، “صحبت کردن” به معنای انتقال داده است.
همانطور که در بخش قبل بحث کردیم، همه انواع داده ها – صفحات وب، تصاویر، ویدئوها، ایمیل ها و غیره – همگی می توانند به صورت یک و صفر نمایش داده شوند.بنابراین، شما می توانید اینترنت را به عنوان مجموعه ای بسیار بزرگ از رایانه ها در نظر بگیرید که می توانند یک ها و صفرها را بین خود انتقال دهند، به گونه ای که معنای آن داده ها را حفظ کند. اینترنت چیزی بیش از یک رسانه مکالمه دیجیتال نیست.
(4برخی از اصول خط فرمان در آموزش برنامه نویسی را تمرین کنید
خط فرمان در آموزش برنامه نویسی می تواند در نگاه اول ترسناک باشد. اغلب در فیلمها بهعنوان یک صفحه سیاه مرموز با متن، اعداد و نمادهای نامفهوم در حال حرکت نمایش داده میشود. معمولاً با یک هکر شرور یا همکار نابغه فنی مرتبط است.
حقیقت این است که برای استفاده یا درک خط فرمان آموزش برنامه نویسی نیازی به یک نابغه نیست. در واقع، به ما این امکان را می دهد که بسیاری از کارهای مشابهی را انجام دهیم که از طریق یک ماوس نقطه و کلیک راحت انجام می دهیم. تفاوت اصلی این است که در درجه اول ورودی را از طریق صفحه کلید می پذیرد، که می تواند به محض دستیابی به آن سرعت ورودی ها را به میزان قابل توجهی افزایش دهد.میتوانید از خط فرمان برای مرور پوشهها، فهرست کردن محتویات یک پوشه، ایجاد پوشههای جدید، کپی و انتقال فایلها، حذف فایلها استفاده کنید.