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

تاریخچه

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

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

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

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

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

روش‌ها

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

محبوب‌ترین زبان در برنامه‌نویسی

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

اشکال زدایی

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

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

اجرا و عملی ساختن الگوریتم‌های انتزاعی وابسته به هم به‌وسیله تولید یک برنامه رایانه‌ای مشخص با ابزار زبان برنامه‌نویسی ممکن است.

نمونه یک برنامه

یک برنامهٔ ساده در زبان برنامه‌نویسی Basic که از ساده‌ترین زبان‌های برنامه‌نویسی است می‌تواند به شکل زیر باشد:
 REM MY FIRST TRY TO COMMAND THIS MACHINE TO DO WHAT I LIKE PRINT "HELLO NEW WORLD!" END
سطر نخست که با واژه کلیدی "REM" آغاز شده و از سوی برنامهٔ واسط در نظر گرفته نمی‌شود و تنها برای نگاه داشتن یک توضیح یا مانند آن برای خود برنامه‌نویس است. سطر دوم با واژه کلیدی "PRINT" به دستگاه فرمان می‌دهد تا نوشته "HELLO NEW WORLD!" ("سلام دنیای نو!") را روی نمایشگر بنویسد (چاپ کند). سطر آخر پایان فرامین و برنامه را به ماشین اطلاع می‌دهد.
پس از نوشتن یک برنامه مانند بالا، برنامهٔ مترجم (در اینجا Basic) دستورها را تبدیل به فرامینی می‌کند که لایه زیرین، که ممکن است همان سخت‌افزار باشد، می‌تواند آن‌ها را اجرا کند.
برای راحت‌تر شدن کدنویسی (برنامه‌نویسی) از نرم‌افزارهای مختلفی وابسته به زبان ان استفاده می‌کنند به عنوان مثال برای کدنویسی به زبان c# از نرم‌افزار visual studio, sql server... استفاده می‌شود.

پارادایم‌ها

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