باگ در برنامه نویسی
باگ در برنامه نویسی
یکی از اصطلاحات پرکاربرد در دنیای برنامه نویسی، باگ (Bug) یا نقص نرمافزاری است. این اصطلاح جزو اصطلاحاتی است که تقریبا همیشه در میان صحبتهای برنامه نویسان مورد استفاده قرار میگیرد. زیرا تقریبا هیچ برنامه نویسی در دنیا وجود ندارد که با باگهای نرم افزاری و فرآیند دیباگکردن آنها برخورد نکرده باشد
تعریف برنامه نویسی به زبان ساده
قبل از ورود به پیش نیاز یادگیری برنامه نویسی بهتر است یک تعریف مختصر از برنامه نویسی ارائه دهیم . کامپیوترها زبانی را بجز زبان و منطق ریاضی نمیشناسند . بنابرین به زبان ساده میتوان گفت برنامه نویسی روش حل مسئله برای کامپیوتر به زبان ریاضیات است. زبانهای برنامه نویسی به دو سطح زبان سطح بالا و پایین تقسیم بندی میشوند هرچه زبان سطح پایینتر باشد به مغز کامپیوتر ما نزدیکتر است و هرچه دورتر میشویم از مغز کامپیوتر ما فاصله بیشتری میگیرد. به نحوی زبانهای سطح بالا همانند PHP ، جاوا ، C ، C# و … برای صحبت کردن با کامپیوتر نیازمند این هستند که به زبانهای سطح پایین مانند اسمبلی تبدیل شوند.
پیش نیاز برنامه نویسی
قبل از شروع به یادگیری برنامه نویسی باید یک سری تواناییها را در خود پرورش داده و با پیش نیازهای آموزش برنامه نویسی آشنا شوید. یادگیری این تواناییها قبل از شروع کار علاوه بر این که پیشنیاز برنامه نویسی محسوب میشود، کمک میکند تا به زبان برنامه نویسی مورد نظر خود زودتر مسلط شده و راحتتر به جواب سوالاتتان برسید.
هدف گذاری و انگیزه یادگیری برنامه نویسی
اولین و مهمترین پیش نیاز برای شروع برنامه نویسی، داشتن هدف است! قبل از شروع برنامه نویسی باید بتوانید به این سوال جواب دهید: “چگونه برنامه نویسی را شروع کنیم؟” اگر بتوانید به این سوال به صورت روشن جواب دهید، یعنی میتوانید به سراغ گامهای بعدی بروید. جواب دادن به این سوال از آن جهت مهم است که میتواند آغازگر قدم گذاشتن شما به یک دنیای بزرگ و بی انتها باشد. خیلی وقتها در برنامه نویسی به مسائل یا مشکلات پیچیدهای برخورد میکنید که گاهی لازم است ساعتها و روزها برای حل آنها زمان بگذارید و این شرایطی است که گاهی تحمل یا دوست داشتن آن نیاز به عشق دارد! عشق به چه چیزی؟ به هدف!
آشنایی با الگوریتم
یکی از اصلیترین پیش نیازهای آموزش برنامه نویسی، آشنایی با الگوریتم است. الگوریتم، یک روش ساخت یافته و مرحله به مرحله حل مسئله، یک زبان بینابینی بین زبان انسانی و زبان برنامه نویسی میباشد. افرادی که با دانش الگوریتم و فلوچارت آشنا هستند میدانند که چطور یک مسئله بزرگ را به بخشهای کوچک و بعد به مراحل قدم به قدم قابل فهم برای کامپیوتر تقسیم کنند. این یعنی وقتی شما با یک مسئله مواجه میشوید، میتوانید دقیقا در ذهن خود تصور کنید که مسئله چطور توسط کامپیوتر حل میشود و تقریبا همیشه میدانید باید از کجا شروع کنید. همینطور میدانید صرف نظر از نوع زبان برنامه نویسی، چگونه شیوهای که برای حل مسئله در ذهنتان دارید را به کامپیوتر منتقل کنید.
الگوریتم چیست؟
برای اینکه کامپیوتر بتواند کاری را انجام دهد، باید یک نرم افزار کامپیوتری برای آن بنویسید. برای اینکه یک برنامه کامپیوتری بنویسید باید به صورت مرحله به مرحله و دقیق به کامپیوتر بگویید که دقیقا میخواهید چه کاری انجام دهید. سپس این وظیفه کامپیوتر است که تمام کاری که میخواهید را به صورت مرحله به مرحله انجام دهد.
حالا تنها مسئله اینجاست که این دستورات دقیق و مرحله به مرحله چگونه به دست میآیند و اصلا کامپیوتر چگونه باید این کارها را انجام دهد؟ اینجا جاییست که پای الگوریتم به میان میآید! مثلا در الگوریتم جمع دو عدد ما نیاز داریم به صورت زیر عمل کنیم:
- عدد a را بگیر
- عدد b را بگیر
- a+b را در c بریز
- c را نمایش بده
حالا فقط کافیست که این دستورات مرحله به مرحله که در واقع یک جور شبه کد یا سودوکد محسوب میشوند، به زبان برنامه نویسی مورد نظر ما ترجمه شوند.
تایپ
حتما کسانی را دیدهاید که هنگام تایپ کردن کامپیوتر انگشت نشانه خود را به سمت کیبرد میگیرند و تقریبا هر سی ثانیه یک کلید را فشار میدهند. حالا فرض کنید با این وضعیت ملال آور برنامه هم بنویسند! بنابراین بهتر است قبل از شروع جدی به کدنویسی، حتما سعی کنید مهارتهای تایپ خود را قوی کنید و چه بهتر که یاد بگیرید از هر دو دست خود برای کد نویسی کمک بگیرید.
البته اگر این مهارت را در خودتان نمیبینید احتیاجی نیست ذهنتان را درگیر این موضوع کنید چون معمولا به مرور زمان مهارت تایپ شما با کد زدنهای زیاد قویتر میشود.