آشنایی با برنامه نویسی

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

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

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

خوانایی کد منبع

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

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

پیروی از یک سبک برنامه‌نویسی منسجم معمولاً به خوانایی کمک می‌کند؛ اگر چه خوانایی چیزی بیش از فقط سبک برنامه‌نویسی است. عوامل زیادی که معمولاً دخالتی در توانایی رایانه برای ترجمه مناسب و اجرای بهتر برنامه ندارند، به خوانایی کمک می‌کنند. بعضی از این عوامل اینها هستند:

  • بلوک بندی متفاوت (فاصله سفید)
  • یادآورها
  • تکه‌تکه کردن نوشته‌های طولانی
  • قواعد نامگذاری برای اشیا (مثل متغیرها، کلاسها، روالها و غیره)

جنبه‌های دیداری برای این کار (مثل تورفتگی، شکستن خطوط، علامت‌گذاری رنگی و مانند اینها) معمولاً به وسیله ویرایشگر کد منبع فراهم می‌شود، اما جنبه‌های محتوایی بازتابی از استعداد و توانایی‌های برنامه‌نویس است.

زبانهای برنامه‌نویسی دیداری متعددی با این منظور توسعه داده شده‌اند تا بتوانند از روش‌های غیر سنتی برای ارائه کد و تصویر استفاده کنند. محیطهای یکپارچه توسعه نرم‌افزار (IDEها) می‌خواهند تا تمام این گونه کمک‌ها را به شکل یکپارچه ارائه کنند. تکنیکهایی برای بازسازی کد می‌تواند خوانایی را افزایش دهد.

پیچیدگی الگوریتمی

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

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

کاربرد الگوریتم و روند‌نما در برنامه‌نویسی

یکی از مهم‌ترین پیش‌نیازهای برنامه‌نویسی اطلاع داشتن از نحوهٔ حل مسئله و الگوریتم‌های برنامه‌نویسی است، الگوریتم‌ها به صورت خاص نحوهٔ حل و منطق زبان برنامه‌نویسی را بیان می‌کنند، نمای تصویری الگوریتم را روندنما می‌نامند، پس از نوشتن یک الگوریتم کامل برنامه‌نویسی می‌توان اقدام به رسم روندنما کرد تا نمود بصری الگوریتم به خوبی نمایان گردد.

روش‌ها

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

اشکال زدایی

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

Leave a Reply

Your email address will not be published. Required fields are marked *