برنامه نویسی چیست و چه تفاوتی با کدنویسی دارد؟
1400/03/05 تاریخ انتشار

اما به راستی برنامه نویسی چیست؟

برنامه نویسان از زبان‌های برنامه نویسی برای گفتگو با کامپیوترها استفاده می‌کنند. زبان‌های برنامه نویسی نخستين مثل زبان اسمبلی (Assembly) کمی‌ بیش از مترجمان زبان ماشین بودند که از صفرها و یک‌های قابل فهم توسط کامپیوتر تشکیل شده بود. همان‌طور که برنامه نویسان وظایف بیشتری را به کامپیوترها ها آموزش می‌دادند، آنها این وظایف را به زبان‌های پیشرفته‌تری تالیف کردند. فورترن (Fortran) یک نمونه از یک زبان سطح بالای اولیه است. یک زبان سطح بالا قادر به انجام صدها دستورالعمل تنها با یک خط کد است.

معمولا اولین برنامه‌ای که علاقمندان به برنامه نویسی یاد می‌گیرند نمایش ساده عبارت Hello World روی صفحه نمایش است. در بعضی زبان‌ها این برنامه به تنها یک خط کد نیاز دارد. با این حال، کامپیوتر برای انجام این وظیفه باید صدها دستورالعمل را به اجرا بگذارد. در نمایش این عبارت روی صفحه نمایش نه تنها باید تک تک حروف به صورت جداگانه چاپ شوند، بلکه هر یک از این حروف خود به تنهایی از پیکسل‌های جداگانه تشکیل شده است. بنابراین چاپ hello world برای یک کامپیوتر فرآیند پیچیده‌ای محسوب می‌شود.

هر چند تمام برنامه نویسی‌ها ممکن است در ظاهر یکسان به نظر برسند، اما انواع مختلفی از برنامه نویسی مثل برنامه نویسی شی گرا (object-oriented programming) و برنامه نویسی پایگاه داده (database programming) وجود دارد. از جمله چند زبان برنامه نویسی مدرن می‌توان به Swift, Java, C++, Ruby, Objective C, Python, SQL, BASIC و PHP اشاره کرد. در سال‌های اخیر، اقتباسات تازه‌ای از زبان‌های برنامه نویسی با هدف آموزش کدنویسی به کودکان شکل گرفته است.

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

اصلاح برنامه نویسی (programming) و کدنویسی (coding) اغلب به جای یکدیگر استفاده می‌شوند. اما اصطلاح کدنویس (coder) از گذشته برای توصیف برنامه نویسان کم تجربه و تازه کار استفاده می‌شده است. البته استفاده از این کلمه به معنای تحقیر یا کوچک شمردن افراد نیست. خیلی از مردم حتی متوجه این موضوع هم نمی‌شوند که از کدنویس برای این منظور استفاده می‌شده است و با گذشت زمان این کلمه عادی‌تر شده است.

برنامه نویسان گاهی اوقات از کدنویسی برای بیان صریح عمل نوشتن کدهای کامپیوتری در مقابل سایر وظایف برنامه نویسی مثل برنامه ریزی، اشکال زدایی و غیره استفاده می‌کنند. 

یک برنامه نویس چه کارهایی انجام می‌دهد؟

در واقعیت برنامه نویسان کمی‌ با آدم‌هایی که در فیلم‌ها خیلی جدی و عصبانی پشت کامپیوترها می‌نشینند و به سرعت مشغول تایپ هستند فرق دارند.

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