برنامهنویسی
از ویکیپدیا، دانشنامهٔ آزاد.
در متن این مقاله از هیچ منبع و ماخذی نام برده نشدهاست. شما میتوانید با افزودن منابع بر طبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
برنامهنویسی رایانه در فرهنگ واژه غیر متخصصین ممکن است به تمام پروژه ساخت نرمافزار یا برنامهٔ رایانهای گفته شود. با این همه برنامهنویسی تنها بخشی از فرآیند توسعه نرمافزار یا برنامه رایانهای است. اهمیت، توجه و منابع اختصاص داده شده به برنامهنویسی، بسته به ویژگیهای مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرمافزار متغیر است. برنامهنویسی در دیدی ساده آخرین مرحله بزرگ ساخت یک برنامه رایانهای پس از مراحل تحلیل و طراحی برنامه است. در بسیاری از موارد، برنامهنویسی بخشی از تلاش ما برای پیادهسازی نسخهای از دنیای پیرامون ما، با بازسازی قوانین ریاضی و طبیعی در محیط خنثی رایانه است. به این سبب برنامهنویسی بارقههایی بزرگ از ریاضیات و مهندسی با خود دارد. برای مطالعه بیشتر به توسعه نرمافزار نگاه کنید.
فهرست مندرجات |
[ویرایش] زبان برنامهنویسی
اجرا و عملی ساختن الگوریتمهای انتزاعی وابسته به هم بهوسیله تولید یک برنامه رایانهای مشخص با ابزار زبان برنامهنویسی ممکن است. گرچه نزدیکترین راه برای بازسازی این قوانین در رایانه کار روی مدارهای الکترونیکی سختافزار آن است. اما این کاری طاقتفرسا و زمانبر و درنتیجه کمابیش ناممکن است. واسطهایی ساخته شدند تا میان سختافزار و انسان قرار گیرد. طبیعی است یک واسط به ساده کردن و انتزاعی کردن رویدادهای ممکن درون سخت افزار میپردازد. این انتزاعی کردن، سازنده سطوح گوناگون یا لایهبندی در معماری زیرساخت برنامهها است. به همین ترتیب زبانهای برنامهنویسی گوناگون هم هرکدام برای ساخت برنامههای یک یا شماری اندک از این لایهها قابل استفاده هستند.
با متفاوت بودن آنچه برنامهنویس برای آسانی استفاده خود آفریده با ورودی واقعیسخت افزار برای اجرای فرامین (که به زبان ماشین معروف است) برنامه واسط باید شیوهٔ خط برنامه نویس را به زبان ماشین برگرداند .
[ویرایش] زبانهای برنامه نویسی
تعدادی از زبانهای برنامهنویسی به شمار زیر هستند :
- اسمبلی (Assembly)
- لیسپ (LISP)
- بی سی پی ال (BCPL)
- سی (C)
- سیپلاسپلاس (++C)
- سی پلاس پلاس/سی ال آی(C++/CLI)
- پاسکال (Pascal)
- جاوا (Java)
- سیشارپ (#C)
- جی شارپ (#j)
- بیسیک (Basic)
- پایتون (Python)
- پرل (Perl)
- پیاچپی (PHP)
- ای اس پی (ASP)
- ای اس پی دات نت (ASP.Net)
- Matlab
- وی بی دات نت (VB .Net)
- دلفی (Delphi)
- ویژوال بیسیک (visual basic)
- لینگو (Lingo)
- توسعه دهنده های وب
دقت كنيد كه زبان هايی مانند اچتیامال (HTML) زبان برنامهنويسی نيستند بلكه زبانهای قالب بندی هستند.
[ویرایش] نمونه یک برنامه
یک برنامهٔ ساده در زبان برنامهنویسی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) دستورات را تبدیل به فرامینی میکند که لایه زیرین، که ممکن است همان سخت افزار باشد، میتواند آنها را اجرا کند.
[ویرایش] پارادایمها
مقاله اصلی: پارادایم برنامهنویسی
زبانهای برنامهنویسی گوناگون براساس قابلیتهای درنظر گرفته شده از شیوهٔ خطهای مختلف استفاده میکنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبانهای مختلف متفاوت است. علاوه بر اینها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شدهاند که پارادایم یا الگو نام دارند. مثلاً پارادایم برنامهنویسی رویهای با برنامهها به صورت مجموعهای از پیمانهها برخورد میکند و در برنامهنویسی منطقی برنامهها گروههایی از قضایا و قوانین منطقی هستند که ما را به نتایج راهنمایی میکنند. زبانهای برنامهنویسی گوناگون بر اساس این پارادایمها ساخته میشوند. مثلاً زبان برنامهنویسی Pascal و ++C بر مبنای برنامهنویسی شیگرا و Prolog برای برنامهنویسی منطقی طراحی شدهاند. پارادایمها در مواردی به هم مشابهاند و ممکن است تنها در شمار اندک اما تأثیرگذاری از ویژگی ها، متفاوت باشند. همچنین زبانهای گوناگون ممکن است از ویژگیهای چند پارادایم همزمان استفاده کنند. مثلاً ++C ویژگیهایی از برنامهنویسی شیگرا، برنامهنویسی رویهای و برنامهنویسی نوعی دارد.