به دیجیتال ارز خوش آمدید

Blog

برنامه نویسی

برنامه‌نویسی

برنامه‌نویسی کامپیوتر (Computer Programming) یا به اختصار برنامه‌نویسی به‌طور کلی به فرایند نوشتن و توسعه نرم‌افزار کامپیوتر گفته می‌شود. به بیان جزئی تر برنامه‌نویسی رایانه به معنای فرایند تبدیل و سوق دادن فرمول حل یک مسئله یا الگوریتم محاسباتی، به یک برنامه قابل اجرا (نرم‌افزار) می‌باشد.

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

برنامه‌نویسی مستلزم فعالیت‌هایی همچون تحلیل و درک مسئله است و عموماً حل چنین مسایلی منجر به ایجاد یک الگوریتم می‌شود، بازبینی نیازمندی‌های الگوریتم که شامل صحت و میزان منابع مصرفی است، پیاده‌سازی (که معمولاً به عنوان کدینگ از آن یاد می‌شود) این الگوریتم در یک زبان برنامه‌نویسی مقصد، تست کردن، اشکال زدایی، نگهداری کد منبع، پیاده‌سازی سیستم ساخت(build system) و مدیریت مصنوعات مشتق شده مانند کد ترجمه شده به زبان ماشین برنامه‌های کامپیوتری. الگوریتم اغلب تنها به شکل قابل تجزیه و تحلیل برای انسان و قابل استدلال با منطق نمایش داده می‌شود. کد منبع به یک یا چند زبان برنامه‌نویسی، مانند ویژوال بیسیک، جاوااسکریپت، اسمال‌تاک، پایتون، جاوا، سی شارپ، سی پلاس‌پلاس و سی نوشته شده‌است.

تاریخچه

موضوع دستگاه‌هایی که به دنباله‌ای از دستورالعمل‌های از قبل تعریف شده عمل می‌کند برمی‌گردد به Greek Mythology.

برنامه‌نویسی مدرن

نیازهای کیفیتی

هر روشی که برای برنامه‌نویسی به کار برود، برنامه نهایی باید دارای تعدادی مشخصات پایه باشد. مشخصات زیر تعدادی از مهمترین آن‌ها هستند.

  • قابلیت اطمینان: این که چقدر نتایج یک برنامه درست باشند، به صحت طراحی الگوریتم و به حداقل رساندن اشتباهات برنامه‌نویسی مربوط می‌شود. اشتباهات برنامه‌نویسی شامل اشکالاتی مثل اشکال در مدیریت منابع (مثل سرریز شدن بافر یا وضعیت رقابتی) و اشکالات منطقی (مثل تقسیم بر صفر یا خطاهای off-by-one).
  • پایایی: این که یک برنامه چگونه اشکالاتی (نه باگ‌ها) را که ممکن است پیش بیایند، پیش‌بینی کرده‌است. این شامل حالتهایی مانند دریافت اطلاعات نادرست، نامناسب یا غلط می‌شود؛ همچنین کمبود منابعی مانند حافظه، سرویسهای سیستم عامل یا اتصال به شبکه و سایر اشکالات مانند خطای کاربر یا اشکالات قطع برق نیز در این دسته قرار می‌گیرند.
  • کاربرد پذیری: ارگونومی یک برنامه: آسانی استفاده از برنامه برای شخصی که می‌خواهد از آن برای کار در نظر گرفته شده استفاده کند یا گاهی برای کارهای پیش‌بینی نشده آن را به کار برد. این مورد می‌تواند به تنهایی و علی‌رغم تمام موارد دیگر باعث موفقیت یا شکست شود. طیف وسیعی از عناصر متنی، تصویری و گاهی سخت‌افزاری وجود دارند که می‌توانند باعث ارتقای وضوح، درک، پیوستگی، کامل بودن واسط کاربری برنامه شوند.
  • قابلیت انتقال: طیف سخت‌افزارها و سیستم عاملهایی که کد منبع برنامه را بتوان روی آن‌ها با مترجم یا مفسر اجرا کرد. این قابلیت بستگی به تفاوت در تسهیلاتی دارد که سیستم‌های مختلف از نظر منابع سخت‌افزاری و سیستم عاملها برای برنامه‌نویسی ارائه می‌کنند. همچنین رفتار پیش‌بینی شده سخت‌افزارها و سیستم‌های عامل، و در دسترس بودن مترجم‌ها (و منابع کتابخانه‌ای) اختصاصی در آن سیستم‌ها برای کد منبع موجود نیز مهم است.
  • نگهداشت پذیری: این که سازندگان و ارتقا دهندگان فعلی برنامه یا افراد دیگری در آینده بتوانند به راحتی ارتقاها یا تغییراتی در برنامه انجام دهند تا خطاها و حفره‌های امنیتی را رفع کنند یا بتوانند آن را برای محیط جدیدی تطبیق دهند. در این مورد تلاش مناسب اولیه در ایجاد برنامه است که نقش عمده‌ای بازی می‌کند. این خاصیت ممکن است تأثیر خیلی زیادی روی کاربر نهایی برنامه نداشته باشد ولی در بلند مدت برای سرنوشت یک برنامه خیلی مهم است.
  • کارایی / عملکرد :اندازه‌گیری منابع سیستمی مورد نیاز برای یک برنامه (زمان پردازنده، فضای حافظه، وسایل کند مثل دیسکها، پهنای باند شبکه و موارد دیگری مثل تعامل با کاربر): هر چقدر کمتر، بهتر. این خاصیت همچنین شامل مدیریت صحیح منابع مانند پاک کردن فایلهای موقت و از بین بردن نشتی‌های حافظه نیز می‌شود.

 

منبع: ویکی پدیا

No Comments
Post a comment

9 + 5 =