زبان برنامه نویسی سی چه کاربردی دارد؟
دنیس ریچی
زبان برنامه‌نویسی سی امروزه به‌طور گسترده در نرم‌افزارها، سیستم عامل‌ها و توسعهٔ سیستم‌های تعبیه شده‌ استفاده می‌شود و تأثیر آن بر اکثر زبان‌های برنامه‌نویسی امروزی مشهود است. سی (زبان برنامه‌نویسی)
یکی از مهم‌ترین قابلیت‌های زبان C، امکان استفاده از اشاره‌گرهاست. اشاره‌گرها کارایی، قدرت و انعطاف‌پذیری برنامه را بیشتر می‌نمایند. علاوه بر فراهم آوردن امکان نوشتن کدهای برنامهٔ کوتاه‌تر، غنی‌تر و کاراتر، گاهی مواردی پیش می‌آید که انجام محاسبات مورد نیاز برنامه تنها توسط اشاره گرها امکان‌پذیر می‌باشد. به همین دلیل، از این توانایی در برنامه‌های C زیاد استفاده می‌گردد. اگر چه در ظاهر کار با اشاره‌گرها مشکل است و درک برنامه‌ای که از آنها استفاده شده‌است ساده نیست، اما در حقیقت اگر از آنها به درستی استفاده گردد، وضوح و سادگی برنامه افزایش می‌یابد.
سی (زبان برنامه‌نویسی)
استفادهٔ گسترده این زبان در انواع رایانه‌ها و سخت‌افزارهای مختلف باعث شد که نسخه‌های مختلفی از این زبان به‌وجود آید که با یکدیگر ناسازگار بودند. در سال ۱۹۸۳ مؤسسه استانداردهای ملی آمریکا (ANSI) کمیته‌ای موسوم به X3J11 را را مأمور کرد تا یک تعریف فاقد ابهام و مستقل از ماشین را از این زبان تدوین نماید. در سال ۱۹۸۹ این استاندارد تحت عنوان ANSI C به تصویب رسید و سپس در سال ۱۹۹۰، سازمان بین‌المللی استانداردسازی (ISO) نیز این استاندارد را پذیرفت و مستندات مشترک آنها تحت عنوان ANSI/ISO C منتشر گردید. نرم‌افزار سیستم
نرم‌افزار سیستم به نرم‌افزاری در رایانه گفته می‌شود که به کارکرد سیستم رایانه یا کاربردهای سطح پایین (یا Low Level) رایانه مربوط باشد. این نرم‌افزارها به ساختار فیزیکی سخت‌افزار رایانه وابسته هستند و در نوشتن آن‌ها از زبان‌های سطح پائین مانند زبان اسمبلی استفاده می‌شود. سیستم‌عامل، پوسته ها، درایور ها، میان‌ افزار ها، سیستم های پنجره بندی، موتورهای بازی سازی و نرم افزارهای سودمند از نرم‌افزارهای سیستم هستند. از جمله زبان‌هایی که برای نگارش نرم‌افزارهای سیستمی استفاده می‌شود، زبان برنامه‌نویسی C می‌باشد. کار کردن با سی برای برنامه نویسان راحت‌تر است و آنان این زبان را به اسمبلی ترجیح می‌دهند. اگر برای نگارش نرم‌افزار سیستمی مشکل محدودیت فضای سخت‌افزاری داشته باشیم بهتر است با زبان اسمبلی کار کنیم که حجم آن پایین‌تر است. نرم‌افزارهای سیستمی به سخت‌افزار وابسته‌اند. قید و اتصال زبان
به عنوان مثال، از binding پایتون زمانی استفاده می‌شود که لازم است از یک کتابخانه خارجی C که برای برخی از اهداف نوشته شده‌است برای پایتون استفاده شود. مثال دیگر codice_4 است که به زبان C نوشته شده‌است تا یک API برای دسترسی به مخزن نرم‌افزار Subversion فراهم کند. برای دسترسی به Subversion از داخل کد جاوا، می‌توان از codice_5 استفاده کرد، که به نصب codice_4 بستگی دارد و به عنوان پلی بین زبان جاوا و codice_4 عمل می‌کند؛ بنابراین یک API فراهم می‌کند که توابع را از codice_4 فراخوانی می‌کند. سی (زبان برنامه‌نویسی)
روش مستقیم دسترسی به حافظه برای ذخیره‌سازی مقداری در آن، یا بازیابی محتوای ذخیره شده، استفاده از نام متغیر است. همین که متغیری معرفی شد، سیستم بر اساس نوع اعلام شده، تعداد بایت لازم را به آن اختصاص می‌دهد و آدرس متغیر، شماره اولین بایت از مجموعهٔ اختصاص یافته‌است. پس از آن به راحتی از طریق نام متغیر به محل موردنظر دسترسی یافته، محتوای آن پردازش می‌گردد. اما گاهی لازم می‌شود به جای نام، آدرس متغیر در اختیار برنامه‌نویس قرار گیرد تا از طریق آن دستیابی به محل مربوط صورت گیرد. در زبان C، به راحتی می‌توان آدرس یک متغیر را در اختیار داشت و مقدارش را در حافظه ذخیره نمود تا در زمان نیاز، توسط آن به صورت غیرمستقیم به محل موردنظر دست یافت. برای این منظور از متغیر اشاره‌گر استفاده می‌گردد. متغیر اشاره‌گر، متغیری است که محتوای آن آدرس یک متغیر دیگر است. سی شارپ
این کامپایلر در مقابل C یا ++C دارای ساختار بسیار متفاوتی است که دانستن آن به برنامه‌نویس امکان نوشتن برنامه‌های بسیار بهینه را خواهد داد. سی (زبان برنامه‌نویسی)
در سال ۲۰۰۷، کار بر روی تجدید نظر در مورد استاندارد C، به‌طور غیررسمی به نام "C1X" تا انتشار رسمی آن در تاریخ ۲۰۱۱-۱۲-۰۸ آغاز شد. کمیته استاندارد C دستورالعمل‌هایی را برای محدود کردن استفاده از ویژگی‌های جدید که توسط آزمایش‌های موجود آزمایش نشده‌اند، اتخاذ کرده‌است. سی (زبان برنامه‌نویسی)
همان‌طور که مشاهده می‌کنید خانهٔ پنجم شمارهٔ ۴ دارد و این بدین خاطر است که خانه‌ها از شمارهٔ ۰ تا n-1 (که n تعداد خانه‌هاست) شماره‌گذاری می‌شود. پس باید به این مورد دقت کرد. مورد دیگر این که شمارهٔ خانه در [] قرار می‌گیرد. درون علامت آکلاد می‌توان عبارت نیز قرار داد. سی (زبان برنامه‌نویسی)
در اواخر دهه ۱۹۷۰ و ۱۹۸۰، نسخه C برای طیف گسترده‌ای از رایانه‌های اصلی، مینی رایانه و میکرو رایانه‌ها از جمله IBM PC پیاده‌سازی شد، زیرا محبوبیت آن به میزان قابل توجهی افزایش یافت. سی کوچک
سی کوچک زیرمجموعه‌ای از زبان برنامه‌نویسی سی است که برای ریزرایانه‌هایی با منابع محدود و سیستم‌های تعبیه شده مناسب است و همچنین اجرای آن زیر مجموعه آن مجموعه می‌باشد. این پیاده‌سازی که در اصل به عنوان یک کامپایلر اولیه برای سیستم‌های میکروکامپیوتری موجود در اواخر دهه ۱۹۷۰ و اوایل دهه ۱۹۸۰ ارزشمند بود، به عنوان مثالی به اندازه کافی ساده برای اهداف آموزشی نیز مفید بوده‌است. آمستراد سی‌پی‌سی
سخت‌افزار و ثابت افزار این رایانه‌ها طوری طراحی شده بود که نرم‌افزارها بتوانند بر روی حافظه رام قابل گسترش، به درستی عمل کنند. ثابت افزار آمستراد به شکلی طراحی شده که نرم‌افزارهای جدید بدون کمترین مشکل و به راحتی بتوانند به این حافظه‌های رام دسترسی داشته باشند. از جمله این نرم‌افزارها می‌توان به واژه پردازها و نرم‌افزارهای کاربردی برنامه‌نویسی اشاره کرد (برای مثال برنامه Protext، Brunword و اسمبلر MAXAM) سی (زبان برنامه‌نویسی)
سی یک زبان برنامه‌نویسی از نوع همه‌منظوره، کامپایل‌شونده، سطح میانی، ساخت‌یافته، دستوری و روندگرا می‌باشد که در سال ۱۹۷۲ توسط دنیس ریچی در آزمایشگاه‌های بل ساخته شد. در سال ۱۹۶۷ مارتین ریچاردز زبان BCPL را برای نوشتن نرم‌افزارهای سیستم‌عامل و کامپایلر در دانشگاه کمبریج ابداع کرد. سپس در سال ۱۹۷۰ کن تامسون زبان B را بر مبنای ویژگی‌های زبان BCPL نوشت و از آن برای ایجاد اولین نسخه‌های سیستم‌عامل یونیکس در آزمایشگاه‌های بل استفاده کرد. زبان C در سال ۱۹۷۲ توسط دنیس ریچی از روی زبان B و BCPL در آزمایشگاه بل ساخته‌شد و ویژگی‌های جدیدی همچون نظارت بر نوع داده‌ها نیز به آن اضافه شد. ریچی از این زبان برای ایجاد سیستم‌عامل یونیکس استفاده کرد اما بعدها اکثر سیستم‌عامل‌های دیگر نیز با همین زبان نوشته‌شدند. این زبان با سرعت بسیاری گسترش یافت و چاپ کتاب "The C Programming Language" در سال ۱۹۷۸ توسط برایان کرنیگان و ریچی باعث رشد روزافزون این زبان در جهان شد. سی (زبان برنامه‌نویسی)
C18 که در ژوئن سال ۲۰۱۸ منتشر شده استاندارد فعلی زبان برنامه‌نویسی C است. این معرفی هیچ ویژگی جدید زبان نداشت، فقط اصلاحات فنی و شفاف‌سازی در مورد نقص C11 را ارائه می‌دهد. کلان استاندارد __STDC_VERSION__ با عنوان 201710L تعریف شده‌است. سی (زبان برنامه‌نویسی)
مجموعه رایج دیگری از توابع کتابخانه C مواردی است که توسط برنامه‌هایی که مخصوص سیستم‌های یونیکس و شبه یونیکس هستند، به ویژه توابعی که رابط کاربری هسته را هدف قرار می‌دهند مورد استفاده قرار می‌گیرد. این عملکردها در استانداردهای مختلفی از جمله POSIX و مشخصات UNIX تک به تفصیل شرح داده شده‌است. توابع ریاضی سی
توابع ریاضی سی دسته‌ای از توابع در کتابخانه استاندارد زبان برنامه‌نویسی سی هستند که توابع اصلی و پایه‌ای ریاضیات را پیاده‌سازی می‌کنند. بیشتر این توابع در فایل سرایند math.h تعریف شده‌اند. هر تابع چند نسخه مختلف برای کار با انواع داده مختلف دارد. مثلاً abs و labs و fabs هر سه قدر مطلق یک عدد را برمی‌گردانند. اما abs یک عدد integer و labs یک عدد long و fabs یک عدد float برمیگردانند. این قانون برای همه توابع رعایت شده و کافیست بسته به نیاز از هر کدام استفاده کرد. توابعی که بر روی زاویه‌ها عمل می‌کنند (مثل توابع مثلثاتی) از واحد رادیان به عنوان واحد اندازه‌گیری زاویه استفاده می‌کنند. توابعی هم برای کار بر روی اعداد مختلط در نظر گرفته شده است که این توابع در فایل complex.h تعریف شده‌اند. در فایل stdio.h هم توابعی برای تولید اعداد تصادفی در نظر گرفته شده است. ای‌سی‌سی (زبان برنامه‌نویسی)
اشاره گرها ۴ بایت هستند و می‌توانند به تمام حافظه موجود دسترسی داشته باشند. تمام حافظه‌ها نیز می‌توانند اختصاص داده شوند. کامپایلر، اسمبلر و ارتباط دهنده همه خیلی کوچک و خیلی سریع هستند. سی--
—c یک زبان اسمبلی قابل حمل است که طراحی شده برای سهولت کاراجرای یک کامپایلر که باکیفیت بالا کدماشین را با داشتن کامپایلر تولید کد—c تولید می‌کند، تفویض کار سخت ترتولیدکد سطح پایین وبهینه‌سازی به کامپایلر—c. کار با—c دراواخر ۱۹۹۰ شروع شد. از آنجا که نوشتن یک کد سفارشی ژنراتوریک چالش را در خود دارد، وکامپایلر برگشت تمام می‌شود در دسترس پژوهشگران در آن زمان بود پیچیده و ضعیف هستند، پروژه‌های متعدد کامپایلرهایی نوشته بود که با کد C تولید شده بود. برای مثال کامپایلر اصلی Modula – ۳. اگرچه C یک انتخاب ضعیف برای زبان‌های تابعی است، دنبالهٔ بازگشتی، بازیافت صحیح یا پردازش استثنا کارآمد. را پشتیبانی نمی‌کند. --c تعریفی محکم وساده تر به جای C است که همهٔ این چیزهارا پشتیبانی می‌کند. خلاق‌ترین ویژگی آن زمان اجرا رابط است که اجازهٔ نوشتن بازیافت قابل حمل را می‌دهد، سیستم پردازش استثناو سایر ویژگی‌های زمان اجرا که با هر کامپایلر—c کار می‌کنند. نحو زبان‌ها به شدت از Cاقتباس می‌کنند. آن ازقلم می‌اندازد یاویژگیهای استاندارد Cرا تغییر می‌دهد، مثل: توابع variadic یا اشاره گرها و وضع سیستم تایپ C، زیرا آنهااز ویژگی‌های ضروری—c جلوگیری می‌کنند و با سهولت که ابزارهای کدنسل می‌توانند آن را تولید کنند. اسم این زبان یک شوخی است، تصور می‌شودکه—c شکل کوتاه شدهٔ زبان C است، همانطور که ++c اساساً" شکل گسترده‌ای ازC است.(در - -C و++c اپراتورهای "- -" و"+ +" به ترتیب یک واحد کم ویک واحد اضافه می‌کند.) زبان اسمبلی
همواره بحث‌هایی دربارهٔ کاربردی بودن و نمایش زبان اسمبلی در مقابل زبان‌های سطح بالا بوده‌است. اگرچه در جایگاه‌های مخصوصی که اهمیت دارند، زبان اسمبلی استفاده می‌شود (بالا را مشاهده کنید)، اما ابزارهای دیگری برای بهینه‌سازی وجود دارند. در ژوئیه ۲۰۱۷ شاخص تیوبی رتبهٔ محبوبیت زبان برنامه‌نویسی، زبان اسمبلی در رتبهٔ ۱۱ بالاتر از مثلاً ویژوال بیسیک بود. اسمبلر می‌تواند برای بهینه‌سازی سرعت یا بهینه‌سازی اندازه استفاده شود. در حالت بهینه‌سازی سرعت، کامپایلرهای بهینه‌ساز مدرن مدعی می‌شوند که زبان‌های سطح بالا را به کدهایی تبدیل می‌کنند که می‌توانند به سرعت اسمبل با دست نوشته شده اجرا شوند، گرچه مثال‌های خلاف هم می‌توانند پیدا شوند. پیچیدگی پردازنده‌های مدرن و سیستم‌های فرعی حافظه‌ها، بهینه‌سازی مؤثر را به‌طور افزاینده ای برای کامپایلر و همچنین برای برنامه نویسان اسمبلی سخت می‌کنند. علاوه بر این افزایش نمایش پردازنده‌ها به این معنی است که بیشتر سی پی یوها بیشتر مواقع بی فایده مانده‌اند، با تأخیرهایی که به خاطر تنگه‌های قابل پیش‌بینی مانند از دست دادن حافظهٔ پنهان، عملیات‌ها و صفحه بندی I/O رخ داده‌است. همین، سرعت اجرای کد خام را برای بسیاری از برنامه نویسان بی‌اهمیت کرده‌است. در اینجا تعدادی موقعیت وجود دارد که احتمالاً توسعه دهندگان انتخاب بکنند تا از زبان اسمبلی استفاده بکنند. زبان اسمبلی هنوز در بسیاری از برنامه‌های [[مهندسی الکترونیک|مهندسی برق]] و [[علوم رایانه|علوم کامپیوتر]] آموزش داده می‌شود. اگرچه تعداد کمی از برنامه نویسان امروزه معمولاً با زبان اسمبلی به عنوان ابزار کار می‌کنند، اما مفاهیم اصولی بااهمیت باقی می‌مانند. مفاهیم ابتدایی از جمله اعمال ریاضی در اعداد دو دویی، اختصاص حافظه، پردازش پشته، کدگذاری مجموعهٔ کاراکترها، قطع شدن پردازش و طراحی کامپایلر که مطالعه در تفاصیل آن‌ها بدون فهمیدن اینکه یک کامپیوتر چگونه در سطح سخت‌افزار عمل می‌کند، سخت خواهد بود. از زمانی که رفتار کامپیوتر، به شکل ابتدایی به وسیلهٔ مجموعهٔ دستور العمل‌هایش تعریف می‌شود، راه منطقی برای یادگرفتن چینن مفهوم‌هایی، مطالعهٔ که یک زبان اسمبلی است. بیشتر کامپیوترهای مدرن مجموعهٔ دستور العمل‌های مشابه دارند؛ بنابراین مطالعهٔ تنها یک زبان اسمبلی کافی است برای یادگیری: I) مفاهیم پایه؛ II) تشخیص موقعیت‌هایی که استفاده از زبان اسمبلی می‌تواند مناسب باشد؛ III) دیدن اینکه چه مقدار کد قابل اجرای کارآمد از یک زبان سطح بالا می‌تواند ساخته شود. پاسکال (زبان برنامه‌نویسی)
از مهم‌ترین مزایای پاسکال، قابل فهم بودن دستورها آن می‌باشد، چرا که دستورها پاسکال به زبان محاوره‌ای نزدیک هستند. مزیت دیگر زبان پاسکال، داشتن توابع کتابخانه‌ای است که باعث ایجاد سرعت و سهولت در برنامه‌نویسی می‌گردد. توابع کتابخانه‌ای در حقیقت زیر برنامه‌هایی هستند که از قبل نوشته شده‌اند و شما می‌توانید از آن‌ها در برنامه‌هایتان استفاده کنید. برای مثال اگر بخواهید قدرمطلق عددی را به دست آورید می‌توانید از تابع مربوطه که از قبل نوشته شده‌است، استفاده کنید. همچنین از دیگر مزیتهای زبان پاسکال پشتیبانی از انواع اطلاعات می‌باشد و این مزیتی است که باعت برتری زبان پاسکال نسبت به بسیاری از زبان‌های برنامه‌نویسی می‌گردد. زبان پاسکال از اعداد صحیح، اعداد اعشاری، کاراکترها، مجموعه‌ها، آرایه‌ها و . . . پشتیبانی می‌کند. ساخت یافته (structure base) بودن زبان پاسکال نیز از مهم‌ترین مزایای آن است. برنامه ساخت یافته به برنامه‌ای گفته می‌شود که از بلوکهای پی در پی یا متداخل تشکیل شده باشد . برنامه‌نویسی ساخت یافته دارای مزایای متفاوتی است: آخرین مزیتی را که می‌توان مورد اشاره قرار داد، داشتن محیط مجتمع برنامه‌نویسی است که به‌طور خلاصه به آن IDE گفته می‌شود. مترجم پاسکال قابلیت ترجمه برنامه‌ها را در دو حالت مجتمع و خط فرمان دارا می‌باشد. در حالت اول می‌توان برنامه را درون ویراستار مخصوص پاسکال نوشته و اجرا کرد. این ویراستار دارای امکانات ویرایشی متعددی می‌باشد که موجب ایجاد سرعت و سهولت در نوشتن برنامه می‌گردد. در حالت دوم می‌توان برنامه را با استفاده از هر ویراستاری تهیه نموده سپس عمل ترجمه را از طریق خط فرمان سیستم‌عامل ویندوز انجام داد. پس از ذکر مزایای زبان پاسکال بهتر است به معایب آن اشاره داشته باشیم. نداشتن قابلیت انعطاف، نداشتن قابلیت انتقال و عدم امکان تعریف رکورد با طول متغیر، از جمله معایب این زبان هستند. نشانه‌های جایگزین سی
نشانه‌های جایگزین سی اشاره به مجموعه‌ای از املاهای جایگزین برای عملگرهای رایج در زبان برنامه‌نویسی سی دارد. آنها به صورت گروهی از ماکروهای ثابت در کتابخانه استاندارد سی و در فایل سرایند iso646.h پیاده‌سازی و تعریف شده‌اند. این نشانه‌ها در سال ۱۹۹۵ در اصلاحیه‌ای به استاندارد C90 اضافه شده‌اند. آبجکتیو-سی
زبان آبجکتیو-سی یک لایهٔ بسیار نازک روی زبان سی است. هر برنامه به زبان سی را می‌توان با کامپایلر آبجکتیو-سی کامپایل کرد. اکثر دستورات از زبان سی به ارث رسیده‌اند و تعدادی دستور برای ارسال پیغام به آن‌ها اضافه شده‌است. آبجکتیو-سی
و استفاده از آن در یک کلاس به صورت تفکیک دغدغه‌ها
ساز و کار برنامه‌نویسی شی‌گرا یا برنامه‌نویسی پودمانی که یک زبان برنامه‌نویسی امکانش را فراهم می‌آورد، ساز و کارهایی هستند که به توسعه‌دهندگان، اجازهٔ برقراری تفکیک دغدغه‌ها را می‌دهند. برای مثال زبان‌های برنامه‌نویسی شئ گرا مانند سی‌شارپ یا سی‌پلاس‌پلاس یا دلفی، و جاوا می‌توانند دغدغه‌ها را به اشیاء تفکیک و تقسیم کنند و الگوهای طراحی معماری مانند MVC و امکان و همینطور تفکیک نحوهٔ نمایش محتوا از پردازش داده(مدل) را فراهم می‌آورند. طراحی مبتنی بر سرویس امکان جداسازی دغدغه‌ها به سرویس‌ها را فراهم می‌کند. برنامه‌نویسی رویه‌ای مانند زبان سی و پاسکال امکان تفکیک دغدغه‌ها به رویه‌ها یا توابع را فراهم می‌آورد. برنامه‌نویسی جنبه‌گرا، امکان تفکیک دغدغه‌ها به جنبه‌ها و اشیاء را فراهم می‌کند. مسئله توقف
برای مثال به برنامه زیر که به زبان سی نوشته توجه کنید: بی (زبان برنامه‌نویسی)
بی یک زبان برنامه‌نویسی بود که در آزمایشگاه‌های بل نوشته شد. بی یک زبان منسوخ شده‌است و زبان سی جایگزین آن شده‌است. این زبان بیشتر توسط کن تامسون و با همکاری دنیس ریچی نوشته شد و اولین بار در حوالی سال ۱۹۶۹ پدیدار شد. انواع داده در سی
در زبان برنامه‌نویسی سی، انواع داده اشاره به یک سیستم گسترده و وسیع برای اعلان متغیرها از انواع مختلف دارد. خود زبان سی تنها چند نوع داده ساده محاسباتی و قواعدی برای ایجاد آرایه‌ها و داده‌های ترکیبی ارائه می‌دهد. چند فایل هدر در کتابخانه استاندارد سی دربرگیرنده نوع داده‌های بیشتری، با ویژگی‌های بیشتر مانند اندازه دقیق تضمین شده هستند. سی--
—c شبیه زبان برنامه نویسی c است. پدیدآورندگان آن، محققان زبان‌های تابعی، سیمون پایتون جونز و نورمن رامسی، آن را طراحی کردند تا به‌طورعمده با کامپایلرهای زبان‌های سطح بالا به جای نوشته شده توسط برنامه نویس‌ها استفاده شوند. برخلاف بسیاری دیگراززبانهای متوسط، نمایش آنهامتن ساده اسکی است، بایت کد یا شکلهای دیگر باینری نیست. پایتون (زبان برنامه‌نویسی)
print(fact) سی‌پایتون رویهٔ اصلی پایتون است که در نشست C در استاندارد C۸۹ نوشته شد ولی از چند ویژگی نشست C۹۹ نیز استفاده کرده‌است. سی‌پایتون برنامه‌های پایتون را به یک بایت‌کد میانی کامپایل می‌کند، تا بعد از آن ماشین مجازی آن را اجرا کند. سی‌پایتون با یک کتابخانه استاندارد بزرگ توزیع شده‌است، که به صورت مخلوطی از C و پایتون نوشته شده‌است. سی‌پایتون در ورژن‌های مختلف روی پلتفرم‌های زیادی کار می‌کند، مثل مایکروسافت ویندوز و بیشتر سیستم‌های پیشرفته یونیکس. استفاده و توسعه آن روی پایگاه‌های محرمانه مانند آمیب، در کنار پایگاه‌های متداول مانند یونیکس یا مکینتاش، به‌طور عمده در این نظر کمک شده‌است. زبان برنامه‌نویسی
یک زبان برنامه‌نویسی یک زبان مصنوعی انگلیسی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شده‌است. زبان‌های برنامه‌نویسی برای ایجاد برنامه‌هایی به کار می‌روند که رفتار یک ماشین را مشخص می‌کنند، الگوریتم دقیق را بیان می‌کنند، یا روشی برای تعامل انسان و رایانه هستند. بسیاری از زبان‌های برنامه‌نویسی تعدادی قالب از ویژگی‌های نوشته شده دستوری یا نحو (syntax) و معناشناسی (semantics) دارند، چرا که رایانه‌ها دستورهای دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شده‌اند (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده‌سازی غالبی می‌باشند. (مانند Perl) اولین زبان برنامه‌نویسی به قبل از اختراع رایانه بازمی‌گردد، و برای هدایت رفتار ماشین‌هایی مانند دستگاه‌های نساجی اتوماتیک و نوازنده‌های پیانو به کار می‌رفت. زبان برنامه‌نویسی وبگاه‌های بزرگ
وب‌سایت‌ها برای توسعه به زبان برنامه‌نویسی نیاز دارند. زبان برنامه‌نویسی برای طراحی وب دارای دو بخش است: بخش اول سمت کاربر (Front-end) که برای طراحی ظاهر وبگاه و تعیین موقعیت قرار گرفتن عناصر بر روی صفحه استفاده می‌شود و در واقع آن قسمتی از سایت است که توسط کاربر مشاهده می‌شود. کامپایلر قابل حمل سی
کامپایلر قابل حمل سی یا اختصار pcc یکی از اولین کامپایلرهای زبان برنامه‌نویسی سی بود که در سال ۱۹۷۳ در آزمایشگاه‌های بل توسط استفان جانسون و بر اساس ایده‌های پیشنهاد شده توسط آلن سیندر نوشته شد. یکی از اولین کامپایلرهایی بود که به آسانی می‌توانست کدهایی برای معماری‌های مختلف را تولید کند. این کامپایلر عمری طولانی داشت؛ اولین بار در نسخه ۷ یونیکس عرضه شد. بی‌اس‌دی یونیکس هم از این کامپایلر استفاده می‌کرد تا اینکه با انتشار ۴٫۴بی‌اس‌دی در سال ۱۹۹۴ توسط کامپایلر سی گنو جایگزین شد. این کامپایلر در زمان خودش بسیار پر نفوذ بود، به طوری که در اوایل دهه ۱۹۸۰، اکثر کامپایلرهای سی بر اساس آن بودند. در سال ۲۰۰۷، آندرس ماگنوسون و پیتر جانسون توسعه پی‌سی‌سی را مجدداً آغاز کردند و آن را به‌طور قابل توجهی بازنویسی کردند تا از زبان سی۹۹ پشتیبانی کند. پارادایم برنامه‌نویسی
یک زبان برنامه‌نویسی ممکن است یک یا چند پارادایم برنامه‌نویسی را پشتیبانی نماید. برای مثال، برنامه‌های نوشته شده با سی++ می‌توانند کاملاً به صورت رویه‌ای باشند یا کاملاً منطبق بر پارادایم برنامه‌نویسی شئ‌گرا که در تضاد کامل با پارادایم "رویه‌ای" بوده یا حتی حاوی عناصری از هر دو پارادایم باشند. تصمیم‌گیری برای چگونگی استفاده از عناصر پارادایم‌های برنامه‌نویسی برعهده طراح برنامه یا برنامه‌نویس می‌باشد. رایانش موازی
مجموعه‌ای از کتابخانه‌های استاندارد به زبان C، که دارای توابعی برای برنامه‌نویسی موازی چندنخی می‌باشد و معمولاً با عنوان Pthreads شناخته می‌شود. در Pthreads نخ‌ها از یک فضای آدرس دهی مشترک استفاده می‌کنند که کنترل و همگام‌سازی دسترسی نخ‌ها به این حافظه بر عهده برنامه‌نویس می‌باشد. همچنین هر نخ فضای آدرس مخصوص به خود را دارد. Pthreads برای برنامه‌های که دارای ویژگی‌های زیر هستند، می‌تواند مناسب باشد:OpenMP یک واسط برنامه‌نویسی کاربردی () برای برنامه‌نویسی موازی رشته‌ها در سیستم‌های حافظه اشتراکی با یکی از سه زبان C, C++ یا فورترن است و از معماری‌های مختلفی از جمله پلتفرم‌های ویندوز و یونیکس پشتیبانی می‌کند. البته تولیدکنندگان کامپایلر برای زبان‌های دیگر از جمله جاوا نیز امکان نوشتن برنامه با رابط OpenMP را فراهم کرده‌اند. باید توجه داشت، OpenMP تضمین نمی‌کند که از حافظه اشتراکی استفاده بهینه خواهد کرد. همچنین مواردی مانند وابستگی داده‌ها، شرایط مسابقه یا بن‌بست‌ها باید توسط خود برنامه‌نویس در کد برنامه کنترل شود وOpenMP عموماً نمی‌تواند کاری دربارهٔ آن‌ها انجام دهد. همزمان سازی ورودی و خروجی هنگام دسترسی موازی و چک کردن ترتیب اجرای کد برنامه نیز از جمله وظایف برنامه‌نویس است و از عهده OpenMP خارج است. به‌این ترتیب، برنامه‌نویس باید ساختار کد و الگوریتم خود را کاملاً کنترل کرده و اطمینان حاصل کند که موارد ذکر شده در اجرای برنامه رخ نخواهد داد.متداول‌ترین شیوه برنامه‌نویسی موازی استفاده از MPI می‌باشد. رابط عبور پیام، ویژگی‌های یک واسط برنامه‌نویسی کاربردی کلی برای برنامه‌نویسی موازی را برای سیستم‌های دارای حافظه توزیع‌یافته مانند کلاسترهای تیغه‌ای و مجموعه آن‌ها تعیین می‌کند و به خودی خود یک ابزار نیست، بلکه یک طرح ویژگی‌ها و یک پروتکل ارتباطی به‌شمار می‌رود و همان‌گونه که از نامش پیداست، شیوه صحبت کردن سیستم‌های موازی با هم را تعیین می‌کنند. مهم‌ترین مزیت روش رابط عبور پیام به سایر روش‌های عبور پیام، قابل حمل بودن و سرعت بالای آن می‌باشد. سرعت بالای این روش به این دلیل است که هنگام اجرا بر روی هر سخت‌افزاری برای آن سخت‌افزار بهینه می‌شود. مزیت بزرگ دیگر این روش، توانایی فراخوانی توابع آن با زبان‌های C++، C، فورترن، جاوا، C# و پایتون می‌باشد. زبان توصیف سخت‌افزار
نرم‌افزار هدف در C و C ++ نوشته شده و برای سیستم توسعه میزبان به صورت محلی کامپایل می‌شود (به عنوان مخالف هدف CPU تعبیه شده، که نیاز به میزبان شبیه‌سازی از CPU جاسازی شده یا پردازنده شبیه‌سازی شده). سطح انتزاعی بالا از مدل‌های سیستمی C برای اکتشاف معماری اولیه بسیار مناسب هستند، به عنوان اصلاحات معماری می‌تواند به راحتی با کمی نگرانی برای مسائل پیاده‌سازی سطح سیگنال مورد بررسی قرار گیرد. به هرحال، مدل نخ مورد استفاده در System C و وابستگی آن به حافظه مشترک این معنی است که آن به خوبی اجرای موازی یا مدل‌های سطح پایین‌تر را اجرا نمی‌کند. زبان برنامه‌نویسی سطح بالا
زبانهای سطح بالا پر کاربردترین و در عین حال جذابترین و کاربردی‌ترین محیط‌های برنامه نویسی را شامل می‌شوند، چرا که محیط آن کاربر پسند(User Friendly) بوده و یادگیری اصطلاحات و مفاهیم آن در محیط و قالبی گرافیکی به کاربر ارائه می‌شود، برنامه نویسان به راحتی به یادگیری دستورهای و قواعد آن به دلیل اینکه به زبان محاوره ایی و انگلیسی نزدیک است می‌پردازند، این‌گونه زبان‌ها از سرعت کمتری نسبت به زبان‌های سطح میانی و پایین برخوردار می‌باشد، به دلیل اینکه دستورهای بایستی به زبان قابل فهم برای ماشین تبدیل گردند که این خود زمان‌بر می‌باشد، ولی در عین حال فضای کمتری اشغال می‌کنند که نمونه‌ایی از این زبان‌ها، زبان‌های برنامه نویسی پاسکال، C، ویژوال، دلفی، فرترن و جاوا می‌باشند. متغیرهای رشته‌ای کوتاه
در زبان برنامه‌نویسی سی، این نوع متغیر به صورت کوتاه استفاده می‌شود. معمولاً حداقل ۱۶ بیت برای ذخیره‌سازی لازم دار و بیشتر به علت حجم پایین به صورت یک عدد صحیح کوچک‌تر از استاندارد ذخیره می‌گردد، در صورتی که این نوع حجم مناسب نیست و مورد نیاز نمی‌باشد. پایتون (زبان برنامه‌نویسی)
هدف دیگر طراحی زبان آسان کردن توسعه‌پذیری است. ماژول‌هایی که تازه ساخته شده‌اند، به‌سادگی در C و C++ نوشته می‌شوند. پایتون همچنین می‌تواند به عنوان زبان توسعه برای ماژول‌ها و کاربردهای موجود که به برنامه واسط قابل برنامه‌ریزی نیاز دارد، استفاده شود. توسعه دهندگان پایتون سعی کردند از بهینه‌سازی زود هنگام اجتناب کنند و وصله‌های غیر حساس سی‌پایتون که باعث افزایش سرعت نهایی می‌شد را اضافه نکردند. هرگاه برای برنامه‌نویس پایتون سرعت اهمیت داشت، او می‌تواند توابع زمانبر را به ماژول‌های افزونه‌ای ببرد و آن‌ها را به زبان‌هایی مثل سی بنویسد یا از پای‌پای استفاده کند که نوعی کامپایلر درجا است. از سایتون که اسکریپت پایتون را به سی ترجمه می‌کند نیز می‌توان استفاده کرد. زبان برنامه‌نویسی
#C سی کوچک
"در ماه می سال ۱۹۸۰ مجله دکتر داب مقاله ای با عنوان «کامپایلر کوچک C برای دهه ۸۰۸۰» منتشر کرد که در آن ران کین یک کامپایلر کوچک به عنوان زیرمجموعه ای از زبان C ارائه کرد. جالب‌ترین ویژگی کامپایلر علاوه بر اندازه کوچکش، زبانی بود که به آن نوشته شده بود - زبانی که کامپایل می‌کرد. این یک خودْ کامپایلر بود! (اگرچه این کار امروزه رایج است، اما در آن زمان ایده نسبتاً جدیدی بود) با یک الگوریتم ساده و یک گذر، کامپایلر او زبان اسمبلی را برای پردازنده ۸۰۸۰ تولید کرد. به هر حال کوچک بودن، محدودیت‌هایی نیز داشت. این کامپایلر تنها کاراکترها، اعداد صحیح و آرایه‌های تک بعدی از هر نوع را تشخیص می‌داد. تنها وسیله کنترل حلقه دستور while بود. هیچ عملگر Boolean وجود نداشت، بنابراین عملگرهای منطقی بیتی & (AND) و | (OR) به جای آن استفاده شد. اما حتی با وجود این محدودیت‌ها، زبان بسیار توانا و استفاده از آن لذت بخش بود، به خصوص در مقایسه با زبان اسمبلی. زبان برنامه‌نویسی ای‌بی‌سی
ای‌بی‌سی تنها دارای پنج نوع داده پایه است. این زبان به تعریف متغیر نیاز ندارد. تو در تویی جملات با میزان دندانه‌گذاری مشخص می‌شود. دارای امکانات حساب با دقت نامحدود، رشته‌ها و آرایه‌ها با اندازه نامحدود، و ویژگی‌های دیگری که کار را برای تازه‌کاران آسان‌تر می‌کند است. سی (زبان برنامه‌نویسی)
همان‌طور که گفته شد در حافظهٔ رایانه خانه‌های آرایه پشت سر هم قرار می‌گیرند. اندازهٔ هر خانه به اندازهٔ نوع تعریف شده‌است؛ مثلاً در مثال قبل اگر int دو بایت اشغال کند آرایهٔ array، در کل ۲۰ بایت از حافظه اشغال خواهد کرد. این که خانه‌ها پشت سر هم قرار می‌گیرند ویژگی کارایی است که در بحث اشاره‌گرها به کار می‌آید. آبجکتیو-سی
برنامه‌هایی از این زبان که از کتابخانه‌های خاص این محیط‌ها استفاده نکرده باشند در همهٔ محیط‌هایی که کامپایلر جی‌سی‌سی (GCC) استفاده می‌شود، قابل استفاده‌اند. سی (زبان برنامه‌نویسی)
در سال ۱۹۸۳، مؤسسه استاندارد ملی آمریکا (ANSI) کمیته ای با نام X3J11 تشکیل داد تا مشخصات استاندارد C را ایجاد کند. X3J11 براساس استاندارد C بر روی اجرای یونیکس؛ با این حال، بخش غیرقابل حمل از کتابخانه یونیکس C به گروه کاری IEEE 1003 واگذار شد تا پایه ای برای استاندارد POSIX 1988 باشد. در سال ۱۹۸۹، استاندارد C با عنوان ANSI X3.159-1989 "زبان برنامه نویسی C" تصویب شد. این نسخه از زبان اغلب به عنوان ANSI C، استاندارد C یا بعضی اوقات C89 گفته می‌شود. بهینه‌سازی برنامه
فراتر از الگوریتم‌ها و اجرای آن‌ها در انتزاعی و ماشین آلات بتن و کد منبع سطح انتخاب می‌تواند تفاوت قابل توجهی است. برای مثال در اوایل C کامپایلر codice_1 شد و آهسته‌تر از codice_2 به صورت بی قید و شرط حلقه زیرا codice_3 ارزیابی ۱ و سپس یک پرش شرطی که تست شده اگر درست شد در حالی که codice_4 تا به حال بی قید و شرط پرش. برخی از بهینه‌سازی (مثل این یکی) امروزه می‌توان با بهینه‌سازی کامپایلر. این بستگی به منبع زبان دستگاه مورد نظر زبان و کامپایلر و می‌تواند دشوار به درک یا پیش‌بینی و تغییرات در طول زمان است و این کلید جایی که درک درستی از کامپایلر و کد دستگاه می‌تواند عملکرد را بهبود بخشد. حلقه-ناوردا کد حرکت و بازگشت ارزش بهینه‌سازی نمونه‌هایی از بهینه‌سازی است که کاهش نیاز به کمکی متغیر و حتی می‌تواند منجر به اجرای سریع تر و با اجتناب از دور-در مورد بهینه‌سازی. سی‌پلاس‌پلاس/سی‌ال‌آی
//effects of reference operator overloading String ^s1 = "abc"; String ^s2 = "ab" + "c"; Object ^o1 = s1; Object ^o2 = s2; s1 == s2; // true o1 == o2; // false این زبان به سی‌پلاس‌پلاس اجازه می‌دهد از برنامه‌های سی‌شارپ در فایل‌های dll اش استفاده کند. در اینجا کلمهٔ کلیدی using# نشان می‌دهد که فایل dll در کجا قرار دارد. این مثال ساده به صف‌آرایی نیز نیازی ندارد. برنامه‌نویسی رایانه‌ای
برای راحت‌تر شدن کدنویسی (برنامه‌نویسی) از نرم‌افزارهای مختلفی وابسته به زبان آن استفاده می‌کنند که به آن‌ها محیط یکپارچه توسعه نرم‌افزار گفته می‌شود به عنوان مثال برای کدنویسی به زبان سی شارپ از نرم‌افزار مایکروسافت ویژوال استودیو استفاده می‌شود. کتابخانه استاندارد سی
کتابخانه استاندارد سی اشاره به کتابخانه استاندارد زبان برنامه‌نویسی سی دارد که توسط استاندارد آنسی سی تشریح شده‌است. از آنجا که آنسی سی توسط سازمان بین‌المللی استانداردسازی به تصویب رسیده بود، گاهی اوقات به آن کتابخانه ایزو سی هم گفته می‌شود. این کتابخانه توابع، ماکروها، نوع داده‌ها و امکانات دیگری را دربرمی‌گیرد که برای مدیریت رشته‌ها، محاسبات ریاضی، پردازش ورودی/خروجی، اختصاص حافظه و دیگر سرویس‌های سیستم‌عامل مورد استفاده قرار می‌گیرند. سی (زبان برنامه‌نویسی)
C دارای توابعی است که از قبل نوشته شده‌اند، و توابع کتابخانه‌ای نامیده می‌شوند. در واقع فرایندهایی که پر کاربرد هستند و در اغلب برنامه‌ها مورد استفاده قرار می‌گیرند به صورت توابع مستقل قبلاً نوشته شده‌اند؛ که به آنها هدر نیز می‌گویند. سی (زبان برنامه‌نویسی)
مسئله دیگر این است که تخصیص حافظه پشته باید با کاربرد واقعی آن در هر برنامه همگام سازی شود تا در استفاده مجدد از آن تا حد امکان استفاده شود. به عنوان مثال، اگر تنها اشاره گر برای تخصیص حافظه پنهان از محدوده خارج شود یا مقدار آن را قبل از بازنویسی بازنویسی کرده باشد () فراخوانی شود، پس از آن حافظه برای استفاده مجدد بعدی قابل بازیابی نیست و در اصل برای برنامه از بین می‌رود، پدیده ای معروف به a نشت حافظه در مقابل، امکان آزادسازی حافظه وجود دارد اما همچنان به آن مراجعه می‌شود و منجر به نتایج غیرقابل پیش‌بینی می‌شود. به‌طور معمول، علائم در بخشی از برنامه به دور از خطای واقعی ظاهر می‌شوند، و پیگیری مشکل را دشوار می‌کند. (چنین مواردی در زبانهایی که جمع‌آوری زباله‌های اتوماتیک دارند بهبود یافته‌است) یی (چارچوب نرم‌افزاری)
یی یک چهارچوب نرم‌افزاری تحت وب انعطاف‌پذیر و پرقدرت است که به زبان پی‌اچ‌پی نوشته شده و در ساختن نرم‌افزارهای کاربردی تحت وب استفاده می‌شود. یی شیءگرا است و با پی‌اچ‌پی ۵ نوشته شده‌است و برای راه‌اندازی آن به کارساز وبی با پشتیبانی پی‌اچ‌پی ۵٫۰٫۱ یا جدیدتر نیاز است. بیسیک
زبانهای برنامه‌نویسی مانند ماشینهایی که آن‌ها را اجرا می‌کردند باید طوری طراحی می‌شدند که برای اهداف مشخصی مفید باشند: مانند محاسبهٔ فرمول علمی یا پردازش داده‌های تجاری یا مثلاً ویرایش یک متن. از آنجایی که هنوز هم تهیه کامپیوترهای جدید و ارزانتر به سرمایه زیادی احتیاج داشت، تمایل شدیدی برای در نظر گرفتن کارایی به عنوان مهم‌ترین ویژگی یک زبان وجود داشت. به‌طور کلی استفاده از این زبان‌های تخصصی شده مشکل بود و سینتکسهای مختلف زیادی برای آن‌ها وجود داشت. اختصاص حافظه پویا در سی
زبان سی به سه روش حافظه را در اختیار برنامه قرار می‌دهد. سی (زبان برنامه‌نویسی)
استاندارد C در اواخر دهه ۱۹۹۰ بازنگری شد و منجر به انتشار ISO / IEC 9899: 1999 در ۱۹۹۹ شد، که معمولاً به آن "C99" گفته می‌شود. از آن زمان سه بار توسط غلط‌های فنی اصلاح شده‌است. اختصاص حافظه پویا در سی
malloc یک اشاره گر void برمیگرداند. بدین معنی که این اشاره گر به فضایی با نوع داده نامشخص اشاره می‌کند. در زبان سی++ باید با استفاده از عملگر cast این اشاره گر را به نوع داده مورد نیاز تبدیل کرد. اما در زبان سی به این کار احتیاج نیست. Gettext
علاوه بر زبان سی، پیاده‌سازی‌هایی هم برای زبان‌های سی++، سی شارپ، ای‌اس‌پی‌دات‌نت ام‌وی‌سی، آبجکتیو-سی، پاسکال/آبجکت پاسکال، پوسته بورن، بش، لیسپ ایمکس، librep اسمال‌تاک، جاوا، AWK، هسکل، تی‌سی‌ال، پرل، پی‌اچ‌پی، روبی، R، لوآ، جاوااسکریپت، والا، پایتون و زبان‌های دیگر وجود دارد. معماری رایانه با زبان سطح بالا
مزایای زبان برنامه‌نویسی سطح بالا را می‌توان به روش‌های جایگزین در "سیستم‌های" کامپیوتری (سیستم‌های مبتنی بر زبان) به‌دست‌آورد، عمدتاً از طریق کامپایلر یا مفسر: سیستم همچنان در یک زبان برنامه‌نویسی سطح بالا نوشته می‌شود، اما یک پایگاه قابل اعتماد در نرم‌افزاری که بر روی سیستم‌های پایین‌تر اجرا می‌شود وجود دارد. معماری سطح این رویکرد تقریباً از سال ۱۹۸۰ دنبال شده‌است: به عنوان مثال، یک سیستم جاوا که در آن خود محیط زمان اجرا به زبان سی نوشته شده‌است، اما سیستم عامل و برنامه‌های کاربردی به زبان جاوا نوشته شده‌است. ال‌سی‌سی (کامپایلر)
LCC برای استفاده ی شخصی مجانی است و ممکن است اگر تمام واسط های توزیع و مستند سازی محصول آن را تایید کنند ، دوباره توزیع شود. مجوز LCC به مثال هایی در موارد متعددی متکی است. LCC ممکن است اگر به تنهایی فروخته شود سودی نداشته باشد اما ممکن است به نرم افزار های دیگری که برای سود دهی فروخته می شوند ، اضافه شود ؛ در صورتی که خود LCC به صورت ایگان توزیع شده باشد. هر کاربر و مجوز های استفاده ی نا محدود به وسیله ی ارتباط با Addison-Wesley در دسترس است ، به ویژه برای کامپایلر زبان هایی مانند ++C که یک کامپایلر C می تواند بخش اعظم کار آن را تشکیل دهد. سی (زبان برنامه‌نویسی)
C99 در اکثر موارد با C90 سازگاری پسرو دارد، اما از بعضی جهات سخت‌تر است. به ویژه، بیانیه‌ای که فاقد یک مشخص کننده نوع است، دیگر به‌طور ضمنی فرض شده‌است. یک کلان استاندارد __STDC_VERSION__ با مقدار 199901L تعریف شده‌است تا نشان دهد که پشتیبانی C99 در دسترس است. GCC , Solaris Studio و سایر کامپایلرهای C اکنون از بسیاری از ویژگی‌های جدید C99 پشتیبانی می‌کنند. کامپایلر C در ++Microsoft Visual C، استاندارد C89 و قسمت‌هایی از C99 را که برای سازگاری با C ++ 11 لازم است، پیاده‌سازی می‌کند. کاسیو بیسیک
این زبان، یک زبان برنامه‌نویسی با ساختار خطی و مبتنی بر بیسیک است. این زبان برنامه‌نویسی ابداع شد تا به کاربران اجازه دهد تا در محاسبات معمولی مانند قضیهٔ فیثاغورث و محاسبات پیچیدهٔ مثلثاتی برنامه‌ریزی کنند. آبجکتیو-سی
این زبان می‌تواند روی یک کامپایلر زبان سی پیاده‌سازی شود. به این ترتیب که اول به صورت پیش‌پردازشی کدهای خاص آبجکتیو-سی تبدیل به کدهای سی متناسب می‌شوند. کتابخانه پازیکس زبان سی
کتابخانه پازیکس زبان سی یک کتابخانه برنامه‌نویسی است که توسط استاندارد پازیکس برای زبان برنامه‌نویسی سی تعریف شده و از سیستم‌عامل‌های سازگار با این استاندارد انتظار می‌رود که این کتاب‌خانه را فراهم کنند. برنامه‌نویس
برخی از زبان‌های برنامه‌نویسی محبوب: پی‌اچ‌پی (PHP)، پایتون (Python)، سی (C)، سی‌شارپ (C#)، سی‌پلاس‌پلاس (C++)، جاوا (Java)، جاوا اسکریپت (JavaScript) و غیره هستند. سی‌پایتون
سی‌پایتون رویهٔ پیش‌فرض و پر کاربردترین رویه در زبان برنامه‌نویسی پایتون است که به زبان سی (زبان برنامه‌نویسی) نوشته شده‌است. سی (زبان برنامه‌نویسی)
با گسترش شبکه و اینترنت، نیاز به زبانی احساس شد که برنامه‌های آن بتوانند بر روی هر ماشین و هر سیستم‌عامل دلخواهی اجرا گردد. شرکت سان مایکروسیستمز در سال ۱۹۹۵ میلادی زبان جاوا را برمبنای C و ++C ایجاد کرد که هم‌اکنون از آن در سطح وسیعی استفاده می‌شود و برنامه‌های نوشته شده به آن بر روی هر کامپیوتری که از جاوا پشتیبانی کند (تقریباً تمام سیستم‌های شناخته شده) قابل اجرا می‌باشد. برنامه‌نویسی جنبه‌گرا
برای برنامه‌سازی جنبه گرا می‌توان از زبان‌های عادی مانند C, C++ یا جاوا استفاده کرد و بخش‌هایی را برای مشخص کردن قوانین تلاقی به آن اضافه نمود. این مفاهیم شامل برش نقطه‌ای (Point cut)، نقاط اتصال (Join point)، ابلاغیه (Advice) و جنبه (Aspect) هستند. ریزکنترل‌گر ای‌وی‌آر
کامپایلرهایی به زبان بیسیک و C که زبان‌هایی پرکاربردی در دنیا محسوب می‌شوند، برای این نوع ریزکنترل‌گرها طراحی شده‌است. البته در حال حاضر استفاده از کامپایلر بسکام BAScom که نسبت به زبان c بسیار راحت‌تر و سریع تر عمل می‌کند جایگزین زبان c شده‌است. همچنین زبان اسمبلی را نیز می‌توان برای برنامه‌نویسی به کار برد. برای نمونه کامپایلر بسکام با زبان بیسیک برای برنامه‌نویسی این نوع از ریزکنترل‌گرها می‌تواند به کار رود. همچنین نرم‌افزار CodeVision، برای برنامه‌نویسی به زبان C (سازگار با این ریزکنترل‌گرها) بسیار رایج است (البته این برنامه بیشتر میان کاربران ایرانی رواج دارد، در میان کاربرهای خارجی کمتر دیده شده و بیشتر از برنامهٔ رسمی شرکت Atmel استفاده می‌شود). برنامه‌نویسی شیءگرا
زبان‌هایی مانند جاوا، سی پلاس پلاس(++c)، سی شارپ، دلفی از جمله زبان‌های شی‌گرا هستند. حتی بسیاری از زبان‌های روال‌گونه که ساختار برنامه‌ها در آن‌ها بلوک‌هایی با نام پروسیجر است، امروزه از فنون شی‌گرایی نیز پشتیبانی می‌کنند. زبان‌های سی++ و پی‌اچ‌پی از این جمله هستند. هر شیء یک سری خصوصیت و قابلیت دارد، که اصطلاحاً Properties و Operation خوانده می‌شوند. در این پارادایم برنامه‌نویسی، دید برنامه‌نویس به سیستم، دید شخصی است، که سعی می‌نماید با پیدا کردن اشیاء مختلف در سیستم و برقراری ارتباط بین آن‌ها، سیستم را تولید نماید. C++
ساختار برنامه‌ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی(main) به عنوان بدنه برنامه داشته باشد. هر برنامه معمولاً از تعداد زیادی فایل تشکیل می‌شود که به هم الحاق می‌گردند (با دستور include) و به این فایل‌های الحاقی، سرآیند (Header) گفته می‌شود. فایل‌های الحاقی حاوی کدها یا نسخه‌های اجرایی کلاس‌ها (مجموعه متغیرها و توابع) می‌باشند که در بدنه اصلی برنامه از آن‌ها استفاده می‌شود. معمولاً هر کلاس (که تعریف یک نوع داده‌ای با متدهای مربوط به آن است) را در یک سرآیند می‌نویسند. هر سرآیند که معمولاً تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل‌های پیاده‌سازی به زبان C++ یا پیاده‌سازی‌های کامپایل شده (به صورت فایل اشیاء مانند dll یا so یا …) می‌تواند به کار برده شود. به مجموعه‌های یکپارچه‌ای از کلاس‌های پیاده‌سازی شده (به صورت فایل‌های سرآیند با پیاده‌سازی‌های کد یا اشیای زبان ماشین) که برای برنامه‌نویسی به کار می‌روند، یک کتابخانه C++ گفته می‌شود و قدرت اصلی این زبان در امکان به‌کارگیری کتابخانه‌های آماده می‌باشد. کتابخانه‌های بزرگ C++ مانند STL, MFC, QT و … مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کرده‌اند. زبان برنامه‌نویسی سی (کتاب)
به خاطر اینکه یکی از نویسندگان این کتاب طراح اصلی زبان سی بود، و همینطور به خاطر اینکه ویرایش اول این کتاب سال‌ها به عنوان استاندارد د فاکتو زبان استفاده می‌شد، در نظر بسیاری این کتاب مرجع اصلی زبان سی است. ویرایش اول این کتاب در ماه مِه سال ۱۹۷۸ (معادل اردیبهشت-خرداد سال ۱۳۵۷ خورشیدی) منتشر شد و اولین کتاب دربارهٔ زبان سی بود که به صورت گسترده در دسترس بود. زبان سی توسط دنیس ریچی طراحی شده بود. برایان کرنیگان اولین خودآموز زبان سی را نوشته بود. نسخه‌ای از زبان سی که این کتاب به تشریح آن پرداخته، گاهی اوقات با نام «سی K&R» شناخته می‌شود تا بتوان این نسخه را از نسخه بعدی زبان سی که توسط کمیته آنسی سی استاندارد شده تمیز داد. در سال ۱۹۸۸ ویرایش دوم این کتاب منتشر شد که شامل تغییرات جدید از استانداردسازی این زبان بود و همینطور کتابخانه استاندارد سی را پوشش می‌داد. ویرایش دوم این کتاب به بیش از ۲۰ زبان دنیا ترجمه شده‌است. در سال ۲۰۱۲، یک نسخه الکترونیکی از این کتاب در قالب‌های ePub ،Mobi، و PDF منتشر شد. تی‌سی‌ال
علاوه بر کابردهای فوق، کاربردهای دیگر تحقیقاتی از Tcl نیز مشاهده شده‌است. به عنوان مثال در سیستم‌های رباتیک از زبان Tcl استفاده شده‌است[۴]. همچنین این زبان در توسعه سریع نرم‌افزار (Rapid Application Development) نیز استفاده شده‌است[۵]. توربو سی پلاس‌پلاس
به‌طور کلی ویژگی‌های مهم زبان C به اختصار به شرح زیر است: (زبان‌های سطح بالا دستو العمل‌هایی شبیه زبان انسان و پردازش فکری او دارند، همچنین یک دستوالعمل زبان سطح بالا معادل چند دستورالعمل به زبان ماشین است). ویژگی‌های فوق موجب شده زبان C یکی از قویترین و محبوب‌ترین زبان‌های برنامه‌نویسی دنیا مطرح شود. آبجکتیو-سی
Brad Cox و Tom Love زبان آبجکتیو-سی را در سال‌های اولیهٔ ۱۹۸۰ در کارخانه‌شان تولید کردند. Cox با الهام از زبان اسمال‌تالک با تغییر در کامپایلر زبان سی توانست امکانات شی‌گرایی را به آن اضافه کند. او نام این زبان را OOPC مخفف Object Oriented Programming in C گذاشت. بعدها با کمک Love محصول جدیدی به نام Productivity Products International یا PPI را ساخت که یک کامپایلر آبجکتیو-سی با کتابخانهٔ کلاس‌های قدرت‌مند بود. هسکل (زبان برنامه‌نویسی)
به کد اصلی به تعداد معیارهای اصلی با استفاده از «سی» به عنوان زبان حیاتی جی اچ سی مشهورترین کامپایلر هسکل می‌باشد. هسکل به تعداد نسبتاً زیادی کتابخانه‌های مفید دارد که فقط با جی اچ سی کار می‌کند. یک لهجه یا گویش جدید آموزشی هسکل است با ویژگی به نام کلاس‌های سازنده به وسیلهٔ مارک جونز توسعه داده شد. یکی دیگر از کامپایلر کد اصلی هسکل می‌باشد این کامپایلر به‌طور فعالانه کار نمی‌کند و توسعه داده نمی‌شود ولی در بعضی موارد قابل استفاده می‌باشد. یک گویش جدید برای هسکل است. تمرکز روی این لهجه باعث می‌شود که آموخته‌های ما در مورد پیغام‌های خطا روشن‌تر شود. این در همان حالت یک تایپ را کم دارد و اجرای آن با بسیاری از برنامه‌های هسکل ناسازگار است. یک مترجم بایت کد می‌باشد که باعث کامپایل و اجرای سریع خواهد شد. همچنین با کتابخانه‌های گرافیکی ساده نیز همراه است. برای افرادی که در زبان هسکل مبتدی هستند این مترجم مفید است ولی به معنای یک اجرای ساده و بچگانه نیست بلکه بسیار قابل حمل‌تر در اجرا درون هسکل می‌باشد. یک کامپایلر هسکل است که این کامپایلر تأکید بر سرعت و کارایی بالای برنامه‌ها دارد چنانچه تغییراتی در برنامه اعمال شود. یک کامپایلر بایت کد هسکل است باید توجه داشت بایت کد اجرای بسیار سریعتری دارد توجه به استفادهٔ کمتر و بهینه تر از حافظه از مزایای این کامپایلر است و یک انتخاب مناسب برای کامپیوترهای قدیمی و کم مصرف است. یک شاخه از ان اچ سی ۹۸ می‌باشد با اهداف ساده‌تر شدن قابل حمل شدن تأثیرگذار تر شدن. پشتیبانی تمام و کمال برای هت. همچنین ویژگی‌ها یی برای جاوا نیز دارد که اجازه می‌دهد به کار برانی که در محیط شبکه کار می‌کنند هسکل را نیز اجرا کند. ویژوال سی++
ویژوال سی++ (به انگلیسی: Visual C++) یک محیط توسعه مجتمع (IDE) است که در مایکروسافت برای تسهیل کار برنامه‌نویسی به زبان سی یا سی++ طراحی و نوشته شده‌است. محیط ویژوال سی بخشی از مجموعه‌ای بزرگ‌تر به‌نام Microsoft Visual Studio است که اختصاصاً به سی می‌پردازد. ویژوال سی مجموعهٔ به هم پیوسته‌ای است که تمامی زنجیرهٔ ابزار توسعهٔ برنامه را یکجا گرد آورده. زنجیرهٔ ابزار ذکر شده شامل ویرایشگر، کامپایلر، لینکر، ابزار میک، دیباگر و اسمبلر مخصوص ویژوال سی می‌باشد که هریک علاوه بر داشتن خواص برنامه‌های قدیمی‌تر، دارای قابلیت‌های منحصر به فردی هم می‌باشند. محیط ویژوال سی همانند بسیاری از محیط‌های برنامه‌سازی جدید مجهز به ویژگی ارزشمند خودتکمیلی است. یکی از خصوصیات بارز ویژوال سی قابلیت اجرا بر روی ویندوزهای مختلف می‌باشد. همچنین با ویژوال سی می‌توان هم برنامه سطح پایین و هم برنامه‌های سطح بالا را طراحی کرد. زبان برنامه‌نویسی
R بی‌سی‌پی‌ال
بی سی پی ال در ابتدا با هدف نوشتن کامپایلر برای سایر زبانها طراحی شده بود، هم‌اکنون استفاده از بی سی پی ال معمول نمی‌باشد. اما هنوز تأثیر آن به خاطر زبان B احساس می‌شود، زبانی که زبان برنامه نویسی C روی آن پایه‌گذاری شده‌است. زبان برنامه‌نویسی ای‌بی‌سی
سیستم کامل ABC شامل یک محیط برنامه‌نویسی با ویرایش مستقیم نحو، پیشنهادها و متغیرهای مداوم و فضای کاری متعدد است؛ در حال حاضر نسخه ۱٫۰۵٫۰۲ از آن موجود است، و منتقل شده به یونیکس، DOS، آتاری و اپل مکینتاش می‌باشد. سی‌پایتون
در برنامه‌های دنیای واقعی، شرایطی که GIL یک تنگنای (bottleneck) قابل توجه است، کاملاً نادر است. این به این دلیل است که پایتون ذاتاً زبان کندی است و عموماً برای CPU متمرکز یا عملیات حساس به زمان، استفاده نمی‌شود. پایتون معمولاً در سطح بالا و برای خواندن توابع در کتابخانه‌ها برای انجام کارهای تخصصی استفاده می‌شود. این کتابخانه‌ها عموماً به زبان پایتون نوشته نشده‌اند و کد پایتون در ریسه‌ی دیگری می‌تواند درحالی اجرا شود که یک فراخوانی به یکی از این پردازش‌های اساسی انجام شود. زبان برنامه‌نویسی
C رفتار نامشخص
تنها خوبی رفتار نامشخص در زبان‌های برنامه‌نویسی c و c++ این است که این حالت کار کامپایلر را ساده‌تر می‌کند. برای مثال زمانی که کامپایلر کد یک حلقه را کامپایل می‌کند لازم نیست نگران آن باشد که برای شمارندهٔ حلقه سرریز (overflow) رخ داده یا اینکه شمارنده منفی شده‌است. این کار می‌تواند سرعت اجرای کد حلقه را ۳۰ تا ۵۰ درصد افزایش دهد واز این جهت برای بالابردن سرعت کامپایلر رفتارنامشخص می‌تواند مفید باشد. نرم‌افزار کاربردی
بسیاری نرم‌افزارهای کاربردی، برای توسعه‌دهندگان ابزار رابط برنامه‌نویسی کاربردی هم فراهم می‌کنند تا بتوان از قابلیت‌های نرم‌افزار در نرم‌افزارهای جدید استفاده کرد. برای مثال نرم‌افزار ادوبی آکروبات هنگام نصب ای‌پی‌آی فراهم می‌کند که برنامه‌نویس می‌تواند با استفاده از آن توانایی‌های آکروبات در برنامهٔ خود به کار گیرد. بسیاری از نرم افزارهای امروزی جنبه خدمات رسانی دارند. پی ال/سی
پی ال/سی یک زبان برنامه‌نویسی است که با هدف تدریس برنامه‌نویسی در دانشگاه کرنل پدید آمد. این زبان بر پایهٔ زبان IBM PL/I می‌باشد که در اوایل دههٔ ۱۹۷۰ طراحی شده‌است. دانشگاه کرنل همچنین یک کامپایلر برای این زبان ساخت که بر پایهٔ کامپایلر قدیمی تر آن‌ها یعنی کامپایلر CUPL بود و به صورت گسترده در دوره‌های برنامه‌نویسی دانشگاهی استفاده می‌شد. ریچارد کنوی و توماس ویلوکس دو محقق و استاد علمی بودند که زبان PL/C را طراحی کردند. آن‌ها مقالهٔ "طراحی و پیاده سازی یک کامپایلر تشخیصی برای PL/I" را ارائه دادند که در صفحات ۱۶۹ تا ۱۷۹ در Communications of ACM در مارچ ۱۹۷۳منتشر شد.PL/C بضی از ویژگی‌های پیچیدهٔ PL/I را برطرف کرد و امکان تصحیح خطا و اشکال زدایی گسترده را به آن اضافه نمود. PL/C یک زیر مجموعه از PL/I می‌باشد. یک برنامه که در کامپایلر PL/C بدون خطا اجرا می‌شود باید تحت PL/I نیز اجرا شود و نتیجهٔ یکسانی دهد، مگر اینکه ویژگی‌های ناسازگار خاصی نظیر یک بخش ماکرو (که با عبارت $MACRO شروع می‌شود و با یک $MEND پایان می‌یابد)، استفاده شده باشد. کامپایلر PL/C یک قابلیت غیرعادی دارد به این صورت که هیچگاه در هنگام کامپایل یک برنامه با شکست مواجه نمی‌شود و این از طریق استفاده از اصلاح "گسترده" و خودکار خطاهای نحوی و تبدیل بقیهٔ آن‌ها به عبارات خروجی می‌باشد. علم اطلاعات و کامپیوتر
زبانهای برنامه‌نویسی معروف مورد استفاده در مطالعه دانشگاهی CIS شامل موارد زیر هستند: Java , Python , C #، C ++ , Perl , Ruby , Pascal , Swift , Visual Basic. سی (زبان برنامه‌نویسی)
استاندارد C11 چندین ویژگی جدید به C اضافه می‌کند و کتابخانه، از جمله ماکرو نوع عمومی، ساختارهای ناشناس، پشتیبانی بهبود یافته یونیکد، عملیات اتمی، چند رشته‌ای و عملکردهای محدود شده را بررسی می‌کند. همچنین برخی از بخش‌های موجود در کتابخانه C99 را به اختیاری تبدیل کرده و سازگاری با ++C را بهبود می‌بخشد. کلان استاندارد __STDC_VERSION__ به عنوان 201112L تعریف شده‌است تا نشان دهد که پشتیبانی C11 در دسترس است. راست (زبان برنامه‌نویسی)
هدف Rust این است که یک زبان خوب برای ایجاد مجموعهٔ بزرگی از مشتری‌ها و سرور برنامه‌هایی که بر روی اینترنت اجرا می‌شوند باشد.این امر زبان را به یکی از ویژگی‌های مجموعه با تأکید بر ایمنی، کنترل از طرح حافظه و همزمانی هدایت می‌کند. اگر عملکرد زبان تنها عامل مورد توجه باشد، عملکرد قابل اطمینان بودن کد همان‌طور که انتظار می‌رود آن را کندتر از ++C می‌کند اما پیشگیری‌های از پیش تعریف شده در Rust با احتساب اقدامات محتاطانه‌ای که زبان ++C به‌طور دستی انجام می‌دهد، از نظر سرعت برابری می‌کند (و یا حتی سریعتر است)نحو زبان Rust مشابه C و ++C است؛ با بلاک‌هایی از کد که بین آکولادها محدود شده‌است و کلمات کلیدی کنترل جریان مانند while ,do ,else ,if و for. البته تمام کلمات کلیدی C و ++C وجود ندارد اما به هر حال دیگران (مانند تطابق واژه کلیدی برای انشعاب چند جهت) برای برنامه‌نویسانی که از این زبان‌ها می‌آیند کمتر آشنا خواهد بود. با وجود شباهت نحوی، Rust از نظر معنایی با C و ++C متفاوت است. کد منبع
هر برنامهٔ رایانه‌ای به یکی از زبان‌های برنامه‌نویسی نوشته شده‌است (مانند پایتون، جاوا، سی++ و….) که متن این برنامه‌ها ممکن است چند خط یا میلیون‌ها خط داشته باشند به متن این برنامه‌ها "کد منبع"، معادل به کار رفته توسط شورای عالی انفورماتیک به جای "Source code" در انگلیسی است، می‌گویند. معمولاً برای سادگی به جای "کد منبع" از "منبع" استفاده می‌شود. کد منبع شامل مواردی همچون تعریف متغیرها، دستورها، توابع، حلقه‌ها، و دیگر عباراتی می‌شود که به برنامه می‌گوید چگونه باید عمل کند. همچنین برنامه‌نویسان ممکن است در کد منبع‌شان، توضیحاتی در مورد بخشی از کد نیز بنویسند. برنامه‌های کوتاه‌تر ممکن است تنها یک پرونده‌ی کد منبع داشته باشند در حالی که برنامه‌های بزرگ‌تر ممکن است ارجاع‌هایی به صدها یا هزاران پرونده داشته باشند. سایت‌های زیادی هستند که قالب‌های اپلیکیشن‌ها را بصورت سورس کد ارائه می‌دهند. برین‌فاک
همانطور که از نام این برنامه برمی‌آید، درک برنامه‌های نوشته شده به زبان برین‌فاک دشوار است. این امر تا حدی به این دلیل است که هر کارِ اندکی پیچیده، نیاز به یک توالی طولانی از دستورات دارد و البته به این دلیل است که متن برنامه هیچ نشانهٔ مستقیمی از حالت یا وضعیت برنامه نمی‌دهد! این‌ها و هم‌چنین ناکارآمدی برین‌فاک و قابلیت‌های ورودی و خروجی محدود آن، از دلایل آن است که برای برنامه‌نویسی غیر شوخی مورد استفاده قرار نگیرد. با این حال، مانند هر زبان معادل ماشین تورینگ کاملی،  در صورت دسترسی به مقدار نامحدودی از حافظه، برین‌فاک نیز از نظر تئوری قادر به محاسبهٔ هر عملکرد قابل محاسبه یا شبیه‌سازیِ هر گونه مدل محاسباتی است. با این حال تعداد زیادی از انواع برنامه به زبان برین‌فاک نوشته شده است هرچند نوشتن برنامه‌های برین‌فاک به ویژه برنامه‌های پیچیده بسیار دشوار است، نوشتن یک کامپایلر برای برین‌فاک به یک زبان معمولی مانند C به دلیل سادگی ساختار آن، بسیار ساده است. حتی کامپایلرهایی از برین‌فاک وجود دارد که به زبان برین‌فاک نوشته شده اند. اصطلاح برنامه‌نویسی
در زبان سی و بسیاری از زبان‌های مشتق شده کد کوتاه شده‌ای دارد: نرم‌افزار کسب‌وکار
برخی از برنامه‌های کسب‌وکار ساخته شده درون سازمان و برخی از آن‌ها از فروشندگان (نرم‌افزار آماده مصرف) خریداری شده‌اند. این برنامه‌های بازرگانی بر روی دسکتاپ یا سرورهای بزرگ نصب می‌شوند. پیش از معرفی COBOL (یک کامپایلر جهانی) در سال ۱۹۶۵، بازرگانان زبان ماشین منحصر به فرد خود را توسعه می‌دادند.. زبان RCA شامل یک آموزش ۱۲ موقعیتی بود. برای مثال، برای خواندن یک رکورد در حافظه، دو رقم اول کد راهنما (عملیات) هستند. چهار موقعیت بعدی راهنما (آدرس "A") دقیقاً مکان حافظه سمت چپ است که شما می‌خواهید کاراکتر قابل خواندن قرار گیرد. چهار موقعیت (آدرس "B") راهنما، مکان بسیار دقیق حافظه سمت راست را که در آن شما می‌خواهید آخرین کاراکتر رکورد قرار گیرد را ذکر می‌کند. یک آدرس دو رقمی "B" همچنین امکان تغییر هر دستورالعملی را فراهم می‌کند. کدهای راهنما و نامگذاری‌های حافظه استفاده از ۸ یا ۹ را منع می‌کردند. اولین نرم‌افزار بازرگانی RCA در سال ۱۹۶۲ در 4K RCA ۳۰۱ اجرا شد. RCA 301، قاب متوسط ۵۰۱ و قاب بزرگ ۶۰۱ بازاریابی خود را در اوایل سال ۱۹۶۰ آغاز کردند. توربو سی پلاس‌پلاس
توربو سی ++ هنوز در بسیاری از کشورهای جهان سوم من‌جمله ایران، سنگاپور، هندوستان، تایلندو… به عنوان یکی از اصلی‌ترین ابزارهای آموزش زبان‌های برنامه‌نویسی سی و سی++ مورد استفاده قرار می‌گیرد. از آنجا که این برنامه برای کار در سیستم عامل داس تهیه شده بود در نتیجه در سیستم عامل‌های جدید شرکت مایکروسافت نظیر ویندوز ویستا، ویندوز ۷ و اخیراً ویندوز ۸ قابل اجرا نیست. برای اجرای این برنامه در نسخه‌های جدید این سیستم عامل شبیه‌سازی ساخته شده‌است که می‌توان از آن برای این منظور استفاده کرد.TurboC Simulator 1.65 برنامه‌ای رایگان است که به کاربران اجازه اجرای توربو سی در تمامی نسخه‌های ویندوز را به راحتی می‌دهد و در مراکز مختلف آموزشی مورد استفاده قرار می‌گیرد. سنجش میزان محبوبیت زبان برنامه‌نویسی
سنجش میزان محبوبیت زبان برنامه‌نویسی () تعیین اینکه کدام زبانهای برنامه‌نویسی «بیشتر مورد استفاده» قرار می‌گیرند دشوار است زیرا معنی این اصطلاح بر اساس زمینه متفاوت است. ممکن است یک زبان بیشترین ساعت برنامه‌نویسی را اشغال کند، دیگری ممکن است بیشترین خط کد را داشته باشد، زبان سوم ممکن است از بیشترین زمان CPU استفاده کند و غیره. برخی از زبانها برای انواع خاصی از برنامه‌ها بسیار محبوب هستند: به عنوان مثال، پایتون برای یادگیری ماشین، جاوا برای توسعه سرور بک اند، C در برنامه‌های جاسازی شده و سیستم عامل‌ها. جاوا اسکریپت در توسعه وب و زبان‌های دیگر برای بسیاری از انواع برنامه‌ها. C++
استراس‌تروپ کار بر روی زبان «C دارای کلاس» را در سال ۱۹۷۹ آغاز کرد. ایدهٔ ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراس‌تروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگی‌هایی مناسب برای ساخت برنامه‌های بسیار بزرگ است اما برای استفادهٔ عملی بسیار کند است اما بی‌سی‌پی‌ال با وجود سرعت بسیار زیاد برای ساخت برنامه‌های بزرگ بسیار سطح پایین است. زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته یونیکس با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگی‌های سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و در سطح گسترده‌ای در حال استفاده بود. علاوه بر C و سیمولا زبان‌های دیگری مانند ALGOL ۶۸، ADA, CLU, ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتدا ویژگی‌های کلاس، کلاس‌های مشتق شده، کنترل نوع قوی، توابع درون‌خطی و آرگومان‌های پیش‌فرض از طریق Cfront به C اضافه شد. اولین نسخهٔ تجاری در سال ۱۹۸۵ ارائه شد. سی کوچک
ران با درک نیاز به بهبود، من را تشویق کرد تا نسخه دوم را تولید کنم و در دسامبر ۱۹۸۲ آن نیز در مجله دکتر داب منتشر شد. به کامپایلر جدید سی کوچک ویژگی‌های (۱) بهینه‌سازی کد، (۲) مقداردهی اولیه داده‌ها، (۳) کامپایل شرطی، (۴) کلاس ذخیره‌سازی خارجی، (۵) دستورات switch و do/while و for و goto برای حلقه و شرط،(۶) عملگرهای تخصیص ترکیبی، (۷) عملگرهای بولی، (۸) عملگر مکمل یک متغیر، (۹) بلوک متغیرهای محلی، و (۱۰) ویژگی‌های مختلف دیگر افزوده شده‌است. سپس در سال ۱۹۸۴ ارنست پین و من یک کتابخانه زمان-اجرا سازگار با CP/M را برای کامپایلر توسعه و منتشر کردیم. این کتابخانه شامل بیش از ۸۰ تابع بود و بیشتر آنهایی را که در کتابخانه استاندارد ورودی/خروجی یونیکس C وجود داشت، شامل مواردی بود که به محیط CP/M مربوط می‌شدند. این کتابخانه، نسخه ۲٫۱ و موضوع کتاب راهنمای سی کوچک شد. " برنامه‌نویسی رایانه‌ای
چند مورد از زبان‌های برنامه‌نویسی: سی شارپ (#C)، سی (C)، ++C، پایتون (Python)، جاوا (Java)، جاوا اسکریپت (Java Script) و …؛ اینها فقط چند نمونه از زبان‌های برنامه‌نویسی هستند. مقایسه زبان‌های برنامه‌نویسی
اکثر زبان‌های برنامه‌نویسی بر پایه معیارهای بین‌المللی (یا ملی) استانداردسازی نمی‌شوند، حتی برخی از آن‌ها مانند پرل یا استاندارد ام‌ال که کاربرد زیادی هم دارند. از جملهٔ زبان‌های برنامه‌نویسی استانداردشده و سرشناسی می‌توان به الگوا، سی، سی++، جاوااسکریپت (تحت نام اکما اسکریپت)، اسمال‌تاک، پرولوگ، لیسپ معمولی، اسکیم (استاندارد آی-تریپل-ئی)، ایدا، فورتون، کوبول، اس‌کیوال و اکس‌کوئری اشاره کرد. جی ان یو کوبول
GnuCOBOL یک برنامه COBOL (کد منبع) را به یک برنامه C تبدیل می کند. سپس برنامه C می تواند در کد واقعی استفاده شده توسط رایانه (کد شی) یا در کتابخانه ای که سایر برنامه ها را دارا می باشد (به صورت هایپرلینک)، وارد شود. تحت UNIX و سیستم عامل های مشابه (مانند Linux)، از کامپایلر GNU C استفاده می شود. برای Windows، بسته Microsoft Visual Studio Express کامپایلر C را ارائه می دهد. تدوین دو مرحله ای معمولاً با یک دستور انجام می شود، اما گزینه ای وجود دارد که به برنامه نویس اجازه می دهد پس از توسعه کد C، تدوین را متوقف کند. ایدا (زبان برنامه‌نویسی)
ایدا شیوهٔ صحیح برنامه‌نویسی را به وسیلهٔ اصول مهندسی نرم‌افزار یکپارچه با امکان تایپ کد قوی، پیمانه‌ای بودن، قابلیت حمل، قابلیت استفادهٔ مجدد و قابلیت خواندن (یا خوانایی) تقویت می‌کند. این خصوصیات هزینه‌ها را در تولید و توسعه، بررسی، اشکال‌زدایی و نگهداری نرم‌افزار، کاهش می‌دهد. زبان برنامه‌نویسی ای‌بی‌سی
زبان برنامه‌نویسی ای‌بی‌سی (به انگلیسی: ABC) یک زبان برنامه‌نویسی همه منظورهٔ دستوری و یک محیط برنامه‌نویسی است که در CWI کشور هلند تولید شده‌است. افرادی مثل گورتس، لامبرت میرتنس، و استیون پمبرتون آن را توسعه داده‌اند. این زبان تعاملی، ساختار یافته، سطح بالا است، و برای استفاده به جای بیسیک، پاسکال، یا AWK ایجاد شده‌است. این زبان به منظور برنامه‌نویسی سیستم ایجاد نشده‌است، بلکه برای آموزش و ایجاد پروتوتایپ ایجاد شده‌است. فلوئنت
این نرم‌افزار با زبان برنامه‌نویسی C (سی) نوشته شده است و از تمامی توان و قابلیت انعطاف این زبان بهره می‌برد. نتیجتاً این نرم‌افزار استفاده از حافظهٔ دینامیک، ساختار مناسب داده‌ها و اطلاعات و کنترل انعطاف‌پذیر محاسبات را ممکن می‌سازد. سی (زبان برنامه‌نویسی)
مگر در مواردی که مشخص شده باشد، اشیاء استاتیک حاوی مقادیر نشانگر صفر یا تهی هنگام شروع برنامه هستند. اشیاء اختصاص داده شده به صورت خودکار و پویا فقط درصورتی تنظیم می‌شوند که مقدار اولیه صریحاً مشخص شود. در غیر این صورت آنها در ابتدا مقادیر مشخص نشده‌ای دارند (به‌طور معمول، هر الگوی بیتی که در آن ذخیره می‌شود، حتی ممکن است یک مقدار معتبر برای آن نوع نداشته باشد). اگر برنامه سعی کند به یک مقدار ناشناخته دسترسی پیدا کند، نتایج مشخص نیست. بسیاری از کامپایلرهای مدرن سعی در کشف و هشدار دربارهٔ این مشکل دارند، اما هم مثبت‌های کاذب و هم منفی کاذب می‌تواند رخ دهد. دی (زبان برنامه‌نویسی)
زبان برنامه‌نویسی D، یک زبان شی گرا، امری و چندالگویی سیستمی است که توسط Walter Bright از Digital Mars طراحی و در سال ۲۰۰۱ منتشر شد. Bright توسط Andrei Alexandrescu در سال ۲۰۰۶ به تلاش توسعه و طراحی پیوست. با اینکه D مهندسی دوباره‌ای از سی پلاس پلاس است، کاملاً یک زبان جدا محسوب می‌شود؛ زیرا بسیاری از ویژگی‌های هسته سی پلاس پلاس را نگه داشته و بسیاری را دور ریخته‌است. در طراحی زبان دی همچنین از زبان‌هایی مانند پایتون، روبی، سی شارپ، ایفل و جاوا نیز الهام گرفته شده‌است. هدف طراحی زبان D ترکیب کارایی و امنیت زبان‌های کامپایلری، با قدرت زبان‌های پویای مدرن است. کد یک برنامه در زبان D شبیه به زبان سی پلاس پلاس است، اما کوتاه‌تر می‌باشد.