زبان سی در کامپیوتر چه کاربردی دارد؟
دنیس ریچی
زبان برنامه‌نویسی سی امروزه به‌طور گسترده در نرم‌افزارها، سیستم عامل‌ها و توسعهٔ سیستم‌های تعبیه شده‌ استفاده می‌شود و تأثیر آن بر اکثر زبان‌های برنامه‌نویسی امروزی مشهود است.
یادگیری ماشینی
ممکن است فرد دیگری در فرایند یادگیری ماشینی نیاز به پردازش تصویر داشته باشد. در چنین حالتی زبان‌های متلب و پایتون بهترین گزینه هستند. چرا که کتابخانه‌های قوی برای پردازش تصویر دارند. در حالتی که افراد بخواهند در تئوری‌های مربوط به یادگیری ماشینی عمیق شده و از روش‌های آماری خاص استفاده کنند گزینه مناسب R خواهد بود. البته سی شارپ که به تازگی با ارائه عمومی model builder وارد این مبحث شده (قبل از این هم از model builder در برخی تکنولوژی‌های خود مانند bing استفاده کرده بود) قطعاً حرف‌های زیادی در این زمینه خواهد داشت. همچنین با توجه به سادگی استفاده از آن و تنها با تسلط به زبان #C و حتی با دانش اندک ریاضی محبوبیت خود را به دست می‌آورد.نرم‌افزارهایی که عموماً در یادگیری ماشینی کاربردی هستند. سی (زبان برنامه‌نویسی)
یکی از مهمترین کارکردهای یک زبان برنامه‌نویسی، فراهم آوردن امکاناتی برای مدیریت حافظه و مواردی است که در حافظه ذخیره می‌شوند. C سه روش مشخص برای اختصاص حافظه برای اشیاء ارائه می‌دهد: این سه رویکرد در موقعیتهای مختلف مناسب است و دارای تبعات مختلفی است. به عنوان مثال، تخصیص حافظه استاتیک اختصاص کمی به سربار دارد، تخصیص خودکار ممکن است کمی بیشتر از سربار باشد و تخصیص حافظه پویا به‌طور بالقوه می‌تواند مقدار زیادی از سربار را برای تخصیص و جابجایی داشته باشد. ماهیت پایدار اشیاء استاتیک برای حفظ اطلاعات حالت در طول فراخوانی‌های عملکردی مفید است، تخصیص خودکار به راحتی قابل استفاده است اما فضای پشته معمولاً بسیار محدودتر و گذرا از حافظه استاتیک یا فضای پشته است و تخصیص حافظه پویا امکان تخصیص مناسب اشیاء را می‌دهد که اندازه فقط در زمان اجرا شناخته شده‌است. بیشتر برنامه‌های C از هر سه مورد استفاده گسترده‌ای می‌کنند. بیسیک
به هر حال اواخر دههٔ ۱۹۸۰ کامپیوترهای جدید با توانایی بیشتر و ابتکارات نو در همین زمان کامپیوترها ترقی کردند از سرگرمی مورد علاقه به یک وسیله که عمدتاً برای فعالیت‌هایی که توسط دیگران نوشته می‌شد، استفاده می‌شدند. برنامه‌نویسی اهمیت کمتری برای بیشتر کاربران پیدا کرد. بیسیک شروع به پس رفتن در اهمیت کرد، اما نسخه‌های بیشماری از آن باقی‌ماند. بیسیک کامپایل شده با CBASIC هنوز در سیستم‌عامل IBM ۴۶۹۰ استفاده می‌شود. سی (زبان برنامه‌نویسی)
تامپسون یک زبان برنامه‌نویسی را برای ایجاد برنامه‌های کاربردی برای سیستم عامل جدید می‌خواست. در ابتدا، او سعی کرد تا کامپایلر Fortran بسازد، اما خیلی زود این ایده را رها کرد. در عوض، او یک نسخه برش خورده از زبان برنامه‌نویسی سیستم‌های BCPL که اخیراً توسعه یافته بود، ایجاد کرد. توضیحات رسمی BCPL در آن زمان موجود نبود و تامپسون نحو (syntax) را اصلاح و کم‌حرف‌تر و B را مشابه اما کمی ساده‌تر تولید می‌کند با این حال، کمترین ابزارها نهایتاً در B نوشته شدند زیرا خیلی کند بود و B نمی‌توانست از ویژگی‌های PDP-11 مانند آدرس پذیری بایت بهره ببرد. جاوا
این زبان قسمت‌های بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شی‌گرایی ساده‌ای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که صرف نظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشین‌های شبیه‌سازی جاوا را دارد. اجزای اصلی کامپایلرهای جاوا، ماشین‌های پیاده‌سازی و کتابخانه‌های آن توسط شرکت مذکور از سال ۱۹۹۵ منتشر شد. در مه ۱۹۹۷ این شرکت، نرم‌افزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان مثل کامپایلر GNU برای جاوا یا OPENJDK را منتشر کردند. هک لکسر
در برنامه‌نویسی کامپیوتر‏، هک لکسر (Lexer Hack) یک راه حل معمول برای مشکل تجزیه یا پارس آنسی سی است، از آنجایی که زبان اشاره شده گرامر حساس به متن است. در زبان سی، طبقه‌بندی دنباله ای از اسم متغیر یا نوع اسم نیاز به اطلاعات وابسته به متنی از ساختار عبارت است که از مستقل از متن بودن تحلیل لغوی جلوگیری می‌کند. مشکل اینجاست که در کد زیر، کلاس لغوی A بدون اطلاعات بیشتر وابسته به متن قابل تصمیم‌گیری نیست: (A)*B این کد می‌تواند ضرب دو متغیر باشد که در این صورت A یک متغیر است، که غیر مبهم نوشته شده: A * B در حالتی دیگر، می‌تواند مقدار بی مرجع B را به نوع A بدهد. که در این صورت A یک اسم typedef (ساخت نوعی جدید) است، که غیر مبهم نوشته شده: اگر نیاز باشد که بیشتر توضیح دهیم، در یک کامپایلر، تحلیل لغوی یکی از اولی‌ترین مراحل تبدیل کد منبع یه برنامه است. این فاز متن را می‌خواند و آن را به توکن‌های معنادار تبدیل می‌کند. به کلماتی مثل، "عدد"، "رشته" یا … C++
این نام منسوب به ریک ماسکیتی (اواسط ۱۹۸۳) است و برای اولین بار در دسامبر سال ۱۹۸۳ به کار برده شد. در طول مدت تحقیق این زبان بنام «C جدید» و بعدها «C با کلاس» خوانده شد. در علوم کامپیوتر هنوز هم C++ به عنوان ابرساختار C شناخته می‌شود. آخرین نام از عملگر ++ در زبان C (که برای افزایش مقدار متغیر به اندازهٔ یک واحد بکار می‌رود) و یک عرف معمول برای نشان دادن افزایش قابلیت‌ها توسط + ناشی گشته‌است. با توجه به نقل قولی از استراس‌تروپ: «این نام ویژگی‌ها تکاملی زبان در C را نشان می‌دهد.» +C نام زبانی غیرمرتبط به این زبان است. تاریخچه ساخت مترجم
پی ال/سی یک زبان برنامه‌نویسی است که اوایل دهه ۱۹۷۰ در دانشگاه کرنل پدید آمد. در حالی که پی ال/سی زیرمجموعه زبان پی ال/آی IBM بود، برای هدف خاص آموزش برنامه‌نویسی طراحی شده بود. دو محقق و استاد دانشگاهی که پی ال/سی را طراحی کردند، Richard W. Conway و Thomas R. Wilcox بودند. آن‌ها مقاله معروف «طراحی و پیاده‌سازی یک کامپایلر عیب یاب برای پی ال/آی» ارائه دادند که در مارس ۱۹۷۳ در مجله Communications of ACM منتشر گردید. پی ال/سی برخی از ویژگی‌های پیچیده پی ال/آی را حذف کرد و امکان اشکال زدایی و بازیابی خطا به صورت وسیع را به آن اضافه کرد. پی ال/سی یک امکان غیرعادی داشت که هرگز در کامپایل یک برنامه شکست نمی‌خورد. این امکان غیرعادی با استفاده وسیع از تصحیح خودکار بسیاری از خطاهای نحوی و تبدیل هرگونه خطای باقی‌مانده به عنوان اعلامیه خروجی امکان‌پذیر شده بود. گرافیک برداری
نرم افزار های دسته اول بسیار شبیه به کامپایلر ها هستند. برای رسم تصاویر فنی مورد نیاز در کتب ریاضی و مهندسی استفاده می شود. سیستم حروفچینی نویسه ها و معادلات ریاضی در این زبان مانند لاتک است و همچنین افزونه هایی برای استفاده مستقیم آن در کد منبع لاتک وجود دارد. رابطه گرافیکی برای کاربران تازه‌کار این زبان به کمک زبان برنامه نویسی پایتون نوشته شده است که Xasy نام دارد. زبان Asymptote از زبان متا پست (MetaPost) الگو گرفته است ولی سینتکسی بسیار مشابه زبان C دارد.نمونه کد در این زبان برای رسم : import graph; size(8cm); int k = 1; real f (real t) { draw((0, -2) -- (0, 2) .. (2,0) .. cycle); draw((-2, 0) -- (2, 0) .. (0,-2) .. cycle, cyan); draw(circle((0,0), 1), red); draw(polargraph(f, 0, 2pi), green); k = 2; draw(polargraph(f, 0, 2pi), blue); k = 3; draw(polargraph(f, 0, 2pi), orange); سامانه کنترل صنعتی
در سال 1993، صنعت به سمت افزایش استانداردسازی کد با نرم افزار و مستقل شدن از سخت افزار حرکت کرد. برای اولین بار، برنامه نویسی شی گرا (OOP) در سیستم های کنترل صنعتی امکان پذیر شد. این امر منجر به توسعه کنترل‌کننده‌های اتوماسیون قابل برنامه‌ریزی (PAC) و رایانه‌های شخصی صنعتی (IPC) شد. اینها پلتفرم هایی هستند که در پنج زبان استاندارد IEC برنامه ریزی شده اند: منطق نردبانی، متن ساختاریافته، بلوک تابع، لیست دستورالعمل ها و نمودار تابع متوالی. آنها همچنین می توانند در زبان های سطح بالا و مدرن مانند C یا C++ برنامه ریزی شوند. علاوه بر این، آنها مدل های توسعه یافته در ابزارهای تحلیلی مانند MATLAB و Simulink را می پذیرند. IPCها از مزیت پردازنده‌های چند هسته‌ای قدرتمند با هزینه‌های سخت‌افزاری بسیار پایین‌تر نسبت به PLC‌های سنتی برخوردارند. پلتفرم‌ها و فناوری سخت‌افزاری جدید به طور قابل توجهی به تکامل سیستم‌های DCS و SCADA کمک کرده‌اند و مرزها را بیشتر محو کرده و تعاریف را تغییر می‌دهند. مسئله توقف
برای مثال به برنامه زیر که به زبان سی نوشته توجه کنید: سی (زبان برنامه‌نویسی)
در سال‌های بعد و با ظهور روش‌های برنامه‌نویسی شئ‌گرا نسخه جدیدی از زبان C بنام ++C توسط بی‌یارنه استراس‌تروپ در اوایل ۱۹۸۰ در آزمایشگاه‌های بل توسعه یافت. در ++C علاوه بر امکانات جدید، خاصیت شئ‌گرایی نیز به C اضافه شده‌است. پیش‌پردازنده
رایج‌ترین پیش‌پردازنده، پیش‌پردازنده C می‌باشد، که به صورت فراگیری در C و فرزند آن C++، استفاده می‌شود. از این پیش‌پردازنده به منظور استفاده از خدمات معمول پیش‌پردازنده‌ای استفاده می‌شود. این پیش‌پردازنده قادر به انجام اعمال اولیه‌ای از قبیل همگردانی شرطی، جا دادن فایل در کد منبع، تعیین پیغام خطاهای زمان همگردانی و اعمال قواعد مخصوص ماشین مقصد به بخش‌های کد نهائی می‌باشد. نرم‌افزار کسب‌وکار
برخی از برنامه‌های کسب‌وکار ساخته شده درون سازمان و برخی از آن‌ها از فروشندگان (نرم‌افزار آماده مصرف) خریداری شده‌اند. این برنامه‌های بازرگانی بر روی دسکتاپ یا سرورهای بزرگ نصب می‌شوند. پیش از معرفی COBOL (یک کامپایلر جهانی) در سال ۱۹۶۵، بازرگانان زبان ماشین منحصر به فرد خود را توسعه می‌دادند.. زبان RCA شامل یک آموزش ۱۲ موقعیتی بود. برای مثال، برای خواندن یک رکورد در حافظه، دو رقم اول کد راهنما (عملیات) هستند. چهار موقعیت بعدی راهنما (آدرس "A") دقیقاً مکان حافظه سمت چپ است که شما می‌خواهید کاراکتر قابل خواندن قرار گیرد. چهار موقعیت (آدرس "B") راهنما، مکان بسیار دقیق حافظه سمت راست را که در آن شما می‌خواهید آخرین کاراکتر رکورد قرار گیرد را ذکر می‌کند. یک آدرس دو رقمی "B" همچنین امکان تغییر هر دستورالعملی را فراهم می‌کند. کدهای راهنما و نامگذاری‌های حافظه استفاده از ۸ یا ۹ را منع می‌کردند. اولین نرم‌افزار بازرگانی RCA در سال ۱۹۶۲ در 4K RCA ۳۰۱ اجرا شد. RCA 301، قاب متوسط ۵۰۱ و قاب بزرگ ۶۰۱ بازاریابی خود را در اوایل سال ۱۹۶۰ آغاز کردند. معماری رایانه با زبان سطح بالا
مزیتی که پس از سال ۲۰۰۰ دوباره ظاهر می‌شود ایمنی یا امنیت است. جریان اصلی تا حد زیادی به زبان‌هایی با ایمنی نوع ویا حافظه برای اکثر برنامه‌ها منتقل شده‌است. نرم‌افزارهایی که از سیستم‌عامل گرفته تا ماشین‌های مجازی به آن‌ها وابسته هستند، از کدهای بومی بدون محافظت استفاده می‌کنند. آسیب‌پذیری‌های زیادی در چنین کدهایی یافت شده‌است. یک راه حل این است که از یک پردازنده سفارشی ساخته شده برای اجرای یک زبان سطح بالا ایمن یا حداقل درک انواع آن استفاده کنید. حفاظت در سطح کلمه پردازنده، کار مهاجمان را در مقایسه با ماشین‌های سطح پایین که هیچ تمایزی بین داده‌های اسکالر، آرایه‌ها، اشاره گرها یا کد نمی‌بینند، دشوار می‌کند. دانشگاهیان همچنین در حال توسعه زبان‌هایی با ویژگی‌های مشابه هستند که ممکن است در آینده با پردازنده‌های سطح بالا ادغام شوند. نمونه ای از هر دوی این روند است. سیستم‌های مبتنی بر زبان را مقایسه کنید، جایی که نرم‌افزار (مخصوصاً سیستم‌عامل) بر پایه یک زبان سطح بالا و ایمن است، اگرچه سخت‌افزار لازم نیست: «پایه مورد اعتماد» ممکن است همچنان به زبان سطح پایین‌تری باشد. هسکل (زبان برنامه‌نویسی)
به کد اصلی به تعداد معیارهای اصلی با استفاده از «سی» به عنوان زبان حیاتی جی اچ سی مشهورترین کامپایلر هسکل می‌باشد. هسکل به تعداد نسبتاً زیادی کتابخانه‌های مفید دارد که فقط با جی اچ سی کار می‌کند. یک لهجه یا گویش جدید آموزشی هسکل است با ویژگی به نام کلاس‌های سازنده به وسیلهٔ مارک جونز توسعه داده شد. یکی دیگر از کامپایلر کد اصلی هسکل می‌باشد این کامپایلر به‌طور فعالانه کار نمی‌کند و توسعه داده نمی‌شود ولی در بعضی موارد قابل استفاده می‌باشد. یک گویش جدید برای هسکل است. تمرکز روی این لهجه باعث می‌شود که آموخته‌های ما در مورد پیغام‌های خطا روشن‌تر شود. این در همان حالت یک تایپ را کم دارد و اجرای آن با بسیاری از برنامه‌های هسکل ناسازگار است. یک مترجم بایت کد می‌باشد که باعث کامپایل و اجرای سریع خواهد شد. همچنین با کتابخانه‌های گرافیکی ساده نیز همراه است. برای افرادی که در زبان هسکل مبتدی هستند این مترجم مفید است ولی به معنای یک اجرای ساده و بچگانه نیست بلکه بسیار قابل حمل‌تر در اجرا درون هسکل می‌باشد. یک کامپایلر هسکل است که این کامپایلر تأکید بر سرعت و کارایی بالای برنامه‌ها دارد چنانچه تغییراتی در برنامه اعمال شود. یک کامپایلر بایت کد هسکل است باید توجه داشت بایت کد اجرای بسیار سریعتری دارد توجه به استفادهٔ کمتر و بهینه تر از حافظه از مزایای این کامپایلر است و یک انتخاب مناسب برای کامپیوترهای قدیمی و کم مصرف است. یک شاخه از ان اچ سی ۹۸ می‌باشد با اهداف ساده‌تر شدن قابل حمل شدن تأثیرگذار تر شدن. پشتیبانی تمام و کمال برای هت. همچنین ویژگی‌ها یی برای جاوا نیز دارد که اجازه می‌دهد به کار برانی که در محیط شبکه کار می‌کنند هسکل را نیز اجرا کند. سی (زبان برنامه‌نویسی)
استاندارد C در اواخر دهه ۱۹۹۰ بازنگری شد و منجر به انتشار ISO / IEC 9899: 1999 در ۱۹۹۹ شد، که معمولاً به آن "C99" گفته می‌شود. از آن زمان سه بار توسط غلط‌های فنی اصلاح شده‌است. سی (زبان برنامه‌نویسی)
با گسترش شبکه و اینترنت، نیاز به زبانی احساس شد که برنامه‌های آن بتوانند بر روی هر ماشین و هر سیستم‌عامل دلخواهی اجرا گردد. شرکت سان مایکروسیستمز در سال ۱۹۹۵ میلادی زبان جاوا را برمبنای C و ++C ایجاد کرد که هم‌اکنون از آن در سطح وسیعی استفاده می‌شود و برنامه‌های نوشته شده به آن بر روی هر کامپیوتری که از جاوا پشتیبانی کند (تقریباً تمام سیستم‌های شناخته شده) قابل اجرا می‌باشد. سی (زبان برنامه‌نویسی)
بسیاری از زبان‌های بعدی به‌طور مستقیم یا غیرمستقیم از C وام گرفته‌اند، از جمله C ++ , C #، C , Unix's C shell , D، Go , Java , JavaScript (از جمله ترانسپلرها)، Limbo , LPC , Objective-C، Perl , PHP , Python , Rust, Swift, Verilog و SystemVerilog (زبان‌های توصیف سخت‌افزار). این زبان‌ها بسیاری از ساختارهای کنترلی خود و سایر ویژگی‌های اصلی را از C ترسیم کرده‌اند. بیشتر آن‌ها (پایتون یک استثناء چشمگیر) نیز نحو کاملاً مشابهی را با C نشان می‌دهند، و آن‌ها تمایل دارند ترکیب و نحو قابل تشخیص C را با نوع زیرین ترکیب کنند. سیستم‌ها، مدل‌های داده‌ها و معنایی که می‌توانند تفاوت چشمگیری با یکدیگر داشته باشند. کامپایلر قابل حمل سی
کامپایلر قابل حمل سی یا اختصار pcc یکی از اولین کامپایلرهای زبان برنامه‌نویسی سی بود که در سال ۱۹۷۳ در آزمایشگاه‌های بل توسط استفان جانسون و بر اساس ایده‌های پیشنهاد شده توسط آلن سیندر نوشته شد. یکی از اولین کامپایلرهایی بود که به آسانی می‌توانست کدهایی برای معماری‌های مختلف را تولید کند. این کامپایلر عمری طولانی داشت؛ اولین بار در نسخه ۷ یونیکس عرضه شد. بی‌اس‌دی یونیکس هم از این کامپایلر استفاده می‌کرد تا اینکه با انتشار ۴٫۴بی‌اس‌دی در سال ۱۹۹۴ توسط کامپایلر سی گنو جایگزین شد. این کامپایلر در زمان خودش بسیار پر نفوذ بود، به طوری که در اوایل دهه ۱۹۸۰، اکثر کامپایلرهای سی بر اساس آن بودند. در سال ۲۰۰۷، آندرس ماگنوسون و پیتر جانسون توسعه پی‌سی‌سی را مجدداً آغاز کردند و آن را به‌طور قابل توجهی بازنویسی کردند تا از زبان سی۹۹ پشتیبانی کند. معماری رایانه با زبان سطح بالا
از دهه ۱۹۸۰، تمرکز تحقیق و پیاده‌سازی در معماری‌های کامپیوتری همه منظوره عمدتاً در معماری‌های ریسک مانند بوده‌است، معمولاً معماری‌های ذخیره‌سازی بار-ذخیره‌ای غنی از ثبت داخلی، با موردهای نسبتاً پایدار و غیر اختصاصی زبان، دارای چندین ثب‌ها، خط لوله. و اخیراً سیستم‌های چند هسته ای، به جای زبان خاص. پشتیبانی زبان بر روی کامپایلرها و زمان اجرا آنها و مفسرها و ماشین‌های مجازی آنها (به ویژه ماشین‌ها) با پشتیبانی مستقیم سخت‌افزاری کمی متمرکز شده‌است. به عنوان مثال، زمان اجرا فعلی برای نشانگرهای برچسب‌گذاری شده را پیاده‌سازی می‌کند، که علیرغم اینکه سخت‌افزار یک معماری برچسب‌دار نیست، از آن‌ها برای بررسی نوع و جمع‌آوری زباله استفاده می‌کند. محاسبات همه‌منظوره بر روی واحد پردازش گرافیکی
در حال حاضر اوپن‌سی‌ال زبان متن‌باز رایج برنامه‌نویسی چندمنظوره بر روی جی‌پی‌یوها بوده و زبان کودا (محصول شرکت انویدیا) نیز پراستفاده‌ترین بستر مالکیتی این زمینه محسوب می‌شود. سی‌ای تکنالوجیز
سی‌ای تکنالوجیز ، شرکت نرم‌افزاری آمریکایی است، که در زمینه طراحی و ساخت نرم‌افزارهای سازمانی، نرم‌افزارهای سیستم، نرم‌افزارهای پایگاه داده‌ها، آنتی ویروس‌ها و برنامه‌های امنیت اینترنت، نرم‌افزارهای کاربردی موردنیاز بزرگ‌رایانهها، رایانش توزیع‌شده، ماشین‌های مجازی، فضاهای رایانش ابری و توسعه نرم‌افزارها فعالیت می‌نماید. سی (زبان برنامه‌نویسی)
همان‌طور که گفته شد در حافظهٔ رایانه خانه‌های آرایه پشت سر هم قرار می‌گیرند. اندازهٔ هر خانه به اندازهٔ نوع تعریف شده‌است؛ مثلاً در مثال قبل اگر int دو بایت اشغال کند آرایهٔ array، در کل ۲۰ بایت از حافظه اشغال خواهد کرد. این که خانه‌ها پشت سر هم قرار می‌گیرند ویژگی کارایی است که در بحث اشاره‌گرها به کار می‌آید. نام مستعار (علوم رایانه)
به عنوان مثال، بیشتر نسخه های زبان C بررسی محدوده ی آرایه را انجام نمی دهند. در نتیجه، فرد می تواند با سوءاستفاده از این ویژگی پیاده سازی کامپایلر و قراداد های زبان اسمبلی مربوط به معماری یک کامپیوتر، با نوشتن در بیرون محدوده ی یک آرایه (که نوعی سرریزی بافر است) به آثار استفاده از نام مستعار برسد. بر اساس مشخصات زبان C، این کار منجر به یک رفتار نامشخص می شود؛ هر چند برخی از پیاده سازی های زبان C آثار استفاده از نام مستعار را که در اینجا توضیح داده شد نشان می دهند. آمستراد سی‌پی‌سی
در ژانویه ۱۹۸۵ یکی از نویسندگان مجله «بایت» در مورد رایانه آمستراد CPC464 این‌گونه نوشت: «یک رایانه خانگی مفید، شامل صفحه کلید خوب، متن هشتاد ستونی، گرداننده دیسک ارزان و مناسب، و پشتیبانی از اجرای سیستم عاملی مثل "سی پی/ام"» کاسیو بیسیک
این زبان، یک زبان برنامه‌نویسی با ساختار خطی و مبتنی بر بیسیک است. این زبان برنامه‌نویسی ابداع شد تا به کاربران اجازه دهد تا در محاسبات معمولی مانند قضیهٔ فیثاغورث و محاسبات پیچیدهٔ مثلثاتی برنامه‌ریزی کنند. برنامه‌نویسی رایانه‌ای
چند مورد از زبان‌های برنامه‌نویسی: سی شارپ (#C)، سی (C)، ++C، پایتون (Python)، جاوا (Java)، جاوا اسکریپت (Java Script) و …؛ اینها فقط چند نمونه از زبان‌های برنامه‌نویسی هستند. اختصاص حافظه پویا در سی
زبان سی به سه روش حافظه را در اختیار برنامه قرار می‌دهد. ویژوال سی++
ویژوال سی++ (به انگلیسی: Visual C++) یک محیط توسعه مجتمع (IDE) است که در مایکروسافت برای تسهیل کار برنامه‌نویسی به زبان سی یا سی++ طراحی و نوشته شده‌است. محیط ویژوال سی بخشی از مجموعه‌ای بزرگ‌تر به‌نام Microsoft Visual Studio است که اختصاصاً به سی می‌پردازد. ویژوال سی مجموعهٔ به هم پیوسته‌ای است که تمامی زنجیرهٔ ابزار توسعهٔ برنامه را یکجا گرد آورده. زنجیرهٔ ابزار ذکر شده شامل ویرایشگر، کامپایلر، لینکر، ابزار میک، دیباگر و اسمبلر مخصوص ویژوال سی می‌باشد که هریک علاوه بر داشتن خواص برنامه‌های قدیمی‌تر، دارای قابلیت‌های منحصر به فردی هم می‌باشند. محیط ویژوال سی همانند بسیاری از محیط‌های برنامه‌سازی جدید مجهز به ویژگی ارزشمند خودتکمیلی است. یکی از خصوصیات بارز ویژوال سی قابلیت اجرا بر روی ویندوزهای مختلف می‌باشد. همچنین با ویژوال سی می‌توان هم برنامه سطح پایین و هم برنامه‌های سطح بالا را طراحی کرد. سی (زبان برنامه‌نویسی)
یکی از مهم‌ترین قابلیت‌های زبان C، امکان استفاده از اشاره‌گرهاست. اشاره‌گرها کارایی، قدرت و انعطاف‌پذیری برنامه را بیشتر می‌نمایند. علاوه بر فراهم آوردن امکان نوشتن کدهای برنامهٔ کوتاه‌تر، غنی‌تر و کاراتر، گاهی مواردی پیش می‌آید که انجام محاسبات مورد نیاز برنامه تنها توسط اشاره گرها امکان‌پذیر می‌باشد. به همین دلیل، از این توانایی در برنامه‌های C زیاد استفاده می‌گردد. اگر چه در ظاهر کار با اشاره‌گرها مشکل است و درک برنامه‌ای که از آنها استفاده شده‌است ساده نیست، اما در حقیقت اگر از آنها به درستی استفاده گردد، وضوح و سادگی برنامه افزایش می‌یابد. بیسیک
در برنامه‌نویسی کامپیوتر، بِیسیک  یکی از زبان‌های برنامه‌نویسی سطح بالا و در عین حال ساده. اولین بار بیسیک در سال ۱۹۶۴ توسط جان جی. کمنی و توماس یوجین کرتز در دانشگاه دارتموث در نیوهمپشر آمریکا، به منظور دسترسی دانشجویان به کامپیوتر و آموزش اصول اولیهٔ برنامه‌نویسی طراحی شد. در آن زمان استفاده از کامپیوترها نیاز به نوشتن تکه‌برنامه‌هایی داشت که تنها دانشمندان و ریاضی‌دانان می‌توانستند آن‌ها را بنویسند. بیسیک و انواع مختلف آن تا دههٔ ۱۹۷۰ و ۱۹۸۰، به‌طور گسترده در میکروکامپیوترها گسترش یافت و تا امروز نیز پر طرفدار باقی‌مانده و به عنوان نسخهٔ خاصی از یک زبان کامپیوتر مفید و اصلاح‌شده و زبان‌های جدیدی مانند مایکروسافت ویژوال بیسیک بر مبنای بیسیک ساخته شده‌اند. تا سال ۲۰۰۶، ۵۹٪ برنامه‌نویسان محیط دات‌نت از ویژوال بیسیک به‌عنوان تنها زبان خود استفاده می‌کردند. زبان برنامه‌نویسی
مشکل است که مشخص کنیم کدام زبان برنامه‌نویسی بیشتر مورد استفاده‌است، و اینکه کاربرد چه معنی می‌دهد با توجه به زمینه تغییر می‌کند. یک زبان ممکن است زمان بیشتری از برنامه‌نویس بگیرد، زبان دیگر ممکن است خطوط بیشتری داشته باشد، و دیگری ممکن است زمان بیشتری از پردازنده را مصرف کند. برخی زبان‌ها برای کاربردهای خاص بسیار محبوبند. برای مثال: کوبول همچنان در مراکز داده متحد، غالباً روی رایانه‌های بزرگ توانا است؛ fortran در مهندسی برنامه‌های کاربردی، Ada در هوا و فضا، حمل و نقل، نظامی، برنامه‌های واقعی و جاسازی شده در زمان واقعی؛ و C در برنامه‌های تعبیه شده و سیستم‌های عامل؛ و بقیه برنامه‌ها معمولاً برای نوشتن انواع دیگر برنامه‌ها کاربرد دارند.. سی (زبان برنامه‌نویسی)
استاندارد C11 چندین ویژگی جدید به C اضافه می‌کند و کتابخانه، از جمله ماکرو نوع عمومی، ساختارهای ناشناس، پشتیبانی بهبود یافته یونیکد، عملیات اتمی، چند رشته‌ای و عملکردهای محدود شده را بررسی می‌کند. همچنین برخی از بخش‌های موجود در کتابخانه C99 را به اختیاری تبدیل کرده و سازگاری با ++C را بهبود می‌بخشد. کلان استاندارد __STDC_VERSION__ به عنوان 201112L تعریف شده‌است تا نشان دهد که پشتیبانی C11 در دسترس است. علم اطلاعات و کامپیوتر
زبانهای برنامه‌نویسی معروف مورد استفاده در مطالعه دانشگاهی CIS شامل موارد زیر هستند: Java , Python , C #، C ++ , Perl , Ruby , Pascal , Swift , Visual Basic. ویندوز سی‌ای
مایکروسافت ویندوز سی‌ای سیستم‌عاملی است که شرکت مایکروسافت برای سامانه‌های توکار توسعه می‌دهد. ویندوز سی‌ای سیستم‌عامل و هسته‌ای جدا از نسخهٔ رومیزی ویندوز است، به جای اینکه نسخهٔ تضعیف شده‌ای از ویندوز رومیزی باشد. لیسپ معمولی
با وجود انتظارات بزرگ از کمیتهٔ استاندارد (CL گاهی به عنوان جایگزینی برای C معرفی می‌شود)، لیسپ معمولی یک زبان برنامه‌نویسی مناسب باقی ماند، که اغلب در دانشگاه یا محیط‌های کاربردی ویژه که در ارتباط با هوش مصنوعی است به کار می‌رود. موارد کاربردی توربو سی پلاس‌پلاس
توربو سی ++ هنوز در بسیاری از کشورهای جهان سوم من‌جمله ایران، سنگاپور، هندوستان، تایلندو… به عنوان یکی از اصلی‌ترین ابزارهای آموزش زبان‌های برنامه‌نویسی سی و سی++ مورد استفاده قرار می‌گیرد. از آنجا که این برنامه برای کار در سیستم عامل داس تهیه شده بود در نتیجه در سیستم عامل‌های جدید شرکت مایکروسافت نظیر ویندوز ویستا، ویندوز ۷ و اخیراً ویندوز ۸ قابل اجرا نیست. برای اجرای این برنامه در نسخه‌های جدید این سیستم عامل شبیه‌سازی ساخته شده‌است که می‌توان از آن برای این منظور استفاده کرد.TurboC Simulator 1.65 برنامه‌ای رایگان است که به کاربران اجازه اجرای توربو سی در تمامی نسخه‌های ویندوز را به راحتی می‌دهد و در مراکز مختلف آموزشی مورد استفاده قرار می‌گیرد. دی (زبان برنامه‌نویسی)
برنامه رابط دودویی سی، در تمامی انواع مشتق شده C پشتیبانی می‌شود. کتابخانه استاندارد زبان C، خود بخشی از زبان D است. از آنجایی که C++ خود یک برنامه رابط دودویی تک ندارد، زبان D تنها قادر به دسترسی به کد C++ نوشته شده در برنامه رابط دودویی زبان C است. در ویندوز، زبان D به Component Object Model دسترسی دارد. کتابخانه استاندارد سی
کتابخانه استاندارد سی اشاره به کتابخانه استاندارد زبان برنامه‌نویسی سی دارد که توسط استاندارد آنسی سی تشریح شده‌است. از آنجا که آنسی سی توسط سازمان بین‌المللی استانداردسازی به تصویب رسیده بود، گاهی اوقات به آن کتابخانه ایزو سی هم گفته می‌شود. این کتابخانه توابع، ماکروها، نوع داده‌ها و امکانات دیگری را دربرمی‌گیرد که برای مدیریت رشته‌ها، محاسبات ریاضی، پردازش ورودی/خروجی، اختصاص حافظه و دیگر سرویس‌های سیستم‌عامل مورد استفاده قرار می‌گیرند. متغیرهای رشته‌ای کوتاه
در زبان برنامه‌نویسی سی، این نوع متغیر به صورت کوتاه استفاده می‌شود. معمولاً حداقل ۱۶ بیت برای ذخیره‌سازی لازم دار و بیشتر به علت حجم پایین به صورت یک عدد صحیح کوچک‌تر از استاندارد ذخیره می‌گردد، در صورتی که این نوع حجم مناسب نیست و مورد نیاز نمی‌باشد. آبجکتیو-سی
زبان آبجکتیو-سی یک لایهٔ بسیار نازک روی زبان سی است. هر برنامه به زبان سی را می‌توان با کامپایلر آبجکتیو-سی کامپایل کرد. اکثر دستورات از زبان سی به ارث رسیده‌اند و تعدادی دستور برای ارسال پیغام به آن‌ها اضافه شده‌است. نشانه‌های جایگزین سی
نشانه‌های جایگزین سی اشاره به مجموعه‌ای از املاهای جایگزین برای عملگرهای رایج در زبان برنامه‌نویسی سی دارد. آنها به صورت گروهی از ماکروهای ثابت در کتابخانه استاندارد سی و در فایل سرایند iso646.h پیاده‌سازی و تعریف شده‌اند. این نشانه‌ها در سال ۱۹۹۵ در اصلاحیه‌ای به استاندارد C90 اضافه شده‌اند. سیمولا
سیمولا در طیف وسیعی از کاربردها مانند شبیه‌سازی طرح‌های VLSI، مدل‌سازی فرایند، پروتکل‌ها، الگوریتم‌ها و برنامه‌های کاربردی دیگر مانند حروفچینی، گرافیک کامپیوتری، و آموزش و پرورش استفاده شده‌است. از آنجا که اشیاء سیمولا گونه در ++C، جاوا و #C دوباره استفاده می‌شود، نفوذ سیمولا اغلب کم بیان می‌شود. خالق ++C، بی‌یارنه استراس‌تروپ، اذعان کرده‌است که سیمولا ۶۷ بود بیشترین اثر را در او برای توسعه ++C داشت، که نوع بهبودهای بهره‌وری را که سیمولا به سرعت خام محاسبات ارائه داده شده توسط زبان‌های سطح پایین مثل BCPL را ارمغان آورد. سی (زبان برنامه‌نویسی)
سی یک زبان برنامه‌نویسی از نوع همه‌منظوره، کامپایل‌شونده، سطح میانی، ساخت‌یافته، دستوری و روندگرا می‌باشد که در سال ۱۹۷۲ توسط دنیس ریچی در آزمایشگاه‌های بل ساخته شد. در سال ۱۹۶۷ مارتین ریچاردز زبان BCPL را برای نوشتن نرم‌افزارهای سیستم‌عامل و کامپایلر در دانشگاه کمبریج ابداع کرد. سپس در سال ۱۹۷۰ کن تامسون زبان B را بر مبنای ویژگی‌های زبان BCPL نوشت و از آن برای ایجاد اولین نسخه‌های سیستم‌عامل یونیکس در آزمایشگاه‌های بل استفاده کرد. زبان C در سال ۱۹۷۲ توسط دنیس ریچی از روی زبان B و BCPL در آزمایشگاه بل ساخته‌شد و ویژگی‌های جدیدی همچون نظارت بر نوع داده‌ها نیز به آن اضافه شد. ریچی از این زبان برای ایجاد سیستم‌عامل یونیکس استفاده کرد اما بعدها اکثر سیستم‌عامل‌های دیگر نیز با همین زبان نوشته‌شدند. این زبان با سرعت بسیاری گسترش یافت و چاپ کتاب "The C Programming Language" در سال ۱۹۷۸ توسط برایان کرنیگان و ریچی باعث رشد روزافزون این زبان در جهان شد. رابط کاربری صوتی
با استفاده از کنترل صوتی ویندوز ویستا، کاربر این امکان را دارد که اسناد و ایمیل را در برنامه‌های اصلی دیکته کند، راه اندازی و جابجایی بین برنامه‌ها، کنترل سیستم عامل، شکل‌دهی به اسناد، ذخیرهٔ اسناد، ویرایش پوشه‌ها، به‌طور مؤثر خطاها را تصحیح کند و فرم‌ها را در اینترنتپر کند. نرم فزار تشخیص گفتار هر بار که کاربر از آن استفاده می‌کند، به صورت خودکار یاد می‌گیرد، و تشخیص گفتار به زبان‌های انگلیسی (ایالات متحده)، انگلیسی (انگلیس)، آلمانی (آلمان)، فرانسوی (فرانسه)، اسپانیایی (اسپانیا)، ژاپنی، چینی (سنتی)، و چینی (ساده شده) در دسترس است. علاوه بر این، این نرم‌افزار دارای یک آموزش تعاملی است، که می‌تواند هم برای آموزش کاربر و هم برای آموزش موتور تشخیص گفتار مورد استفاده قرار گیرد. سی کوچک
سی کوچک زیرمجموعه‌ای از زبان برنامه‌نویسی سی است که برای ریزرایانه‌هایی با منابع محدود و سیستم‌های تعبیه شده مناسب است و همچنین اجرای آن زیر مجموعه آن مجموعه می‌باشد. این پیاده‌سازی که در اصل به عنوان یک کامپایلر اولیه برای سیستم‌های میکروکامپیوتری موجود در اواخر دهه ۱۹۷۰ و اوایل دهه ۱۹۸۰ ارزشمند بود، به عنوان مثالی به اندازه کافی ساده برای اهداف آموزشی نیز مفید بوده‌است. C++
C++ (بخوانید سی‌پلاس‌پلاس ) یک زبان برنامه‌نویسی همه‌منظوره، همگردان، سطح میانی، شیءگرا و چندرگه است که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیءگرا پشتیبانی می‌کند. این زبان دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه‌شده با پشتیبانی از برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریک است. از آنجا که در ++C اشیاء را می‌توان ابتدا به ساکن از کلاس‌هایی ایجاد کرد که به هیچگونه سلسله مراتب رده‌ها و وراثت مقید نیستند، لذا ++C از برنامه‌سازی شیء بنیاد (object-based programming) نیز پشتیبانی می‌کند. C++ به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی هستند. C++ یک زبان سطح میانی در نظر گرفته می‌شود؛ این زبان دارای قابلیت‌های زبان‌های برنامه‌نویسی سطح بالا و زبان‌های برنامه‌نویسی سطح پایین به‌صورت هم‌زمان است. سی‌پایتون
در برنامه‌های دنیای واقعی، شرایطی که GIL یک تنگنای (bottleneck) قابل توجه است، کاملاً نادر است. این به این دلیل است که پایتون ذاتاً زبان کندی است و عموماً برای CPU متمرکز یا عملیات حساس به زمان، استفاده نمی‌شود. پایتون معمولاً در سطح بالا و برای خواندن توابع در کتابخانه‌ها برای انجام کارهای تخصصی استفاده می‌شود. این کتابخانه‌ها عموماً به زبان پایتون نوشته نشده‌اند و کد پایتون در ریسه‌ی دیگری می‌تواند درحالی اجرا شود که یک فراخوانی به یکی از این پردازش‌های اساسی انجام شود. توربو سی پلاس‌پلاس
در اوایل دهه ۱۹۷۰ میلادی، زبان c، توسط دنیس ریچی و به عنوان زبان برنامه‌نویسی سیستم‌ها طراحی شد. این زبان از دو زبان قدیمی تربنام‌های BCPL و B حاصل شده‌است. زبان c تا سال ۱۹۷۸ منحصر به استفاده در لابراتوار کمپانی BELL بود تا این که توسط دو تن بنام‌های ریچی و کرنیه نسخه نهایی این زبان منتشر شد. به سرعت کامپایلرها و مفسرهای متعددی از C توسعه یافت امام برای جلوگیری از ناسازگاری‌های ایجاد شده و نیز حفظ قابلیت حمل زبان تعاریف متحد الشکلی توسط استاندارد ANSI {American national standard institute{ مؤسسه استاندارد ملی آمریکا ارائه گردید. ام بیسیک
MBASIC یک ابزار مهم درعصر کامپیوتر ۸بیتی cp/M بود. کاربران ماهرمی‌توانستند کارهای روزمره را در MBASICبنویسند وبه‌طور خودکار انجام دهند که در سیستم‌های مدرن روز به وسیله دستورها برنامه‌های قدرتمند یا زبان‌های برنامه‌نویسی انجام می‌شود. تبادل برنامه‌های مفید MBASIC یک تابع مشترک از گروه‌های کاربران کامپیوترداشت. کلید زنی در بیسیک فهرست طولانی از مقاله مجلات بود. یکی از راه‌های نرم‌افزار «بوتاسترپینگ» سیستم جدیدcp/M بود. حداقل یک کامپایلر برای زبان سطح بالا در MBASIC نوشته شده بود، و برای بسیاری از بازی‌های کوچک و برنامه‌های ابزار گرفته از چند خط به چند هزار خط کد نوشته شده بود. ال‌پی‌سی (زبان برنامه‌نویسی)
سینتکس این زبان جزو خانواده سی قرار می‌گیرد. زبان‌های برنامه‌نویسی سی و سی++ بیشترین تأثیر را در ساخت این زبان داشته‌اند. تی‌سی‌ال
مهمترین نوآوریهای Tcl عبارتند از قابلیت جاسازی و آسانی تولید واسط کاربر گرافیکی. با ایجاد قابلیت جاسازی، مشکل بسیاری از افرادی که نیاز به یک زبان دارند، اما نمی‌خواهند یک زبان کامل را از ابتدا طراحی کنند حل شده است. به دلیل آسانی جاسازی Tcl در سایر برنامه‌ها، استفاده از آن در اوایل دهه ۹۰ به سرعت رشد کرد. قابلیت دیگر Tcl، مجموعه ابزار Tk است که به عنوان گسترشی بر Tcl تولید شد و امکان ایجاد واسط کاربر گرافیکی با استفاده از ادغام مؤلفه(component)ها را به وسیله Tcl فراهم آورد. این قابلیت نیز به امکان استفاده از Tcl برای تولید برنامه‌های بزرگتر و با واسط کاربر مناسب افزود و در کسترش استفاده از آن سهم به سزایی داشت. معماری رایانه
معماری مجموعه دستورالعمل‌ها (ISA) رابط بین نرم افزار و سخت افزار رایانه است و همچنین می‌تواند به عنوان نمای برنامه نویسان از ماشین مشاهده شود. رایانه‌ها زبان های برنامه نویسی سطح بالا مانند جاوا، C ++ یا بیشتر زبان های برنامه نویسی مورد استفاده را نمی‌فهمند. پردازنده فقط دستورالعمل‌های رمزگذاری شده را به صورت عددی، معمولاً به عنوان اعداد دودویی، می‌فهمد. ابزارهای نرم افزاری، مانند کامپایلرها، زبان‌های سطح بالا را به دستورالعمل‌هایی تبدیل می کنند که پردازنده می‌تواند آنها را درک کند. آر (زبان برنامه‌نویسی)
R، حاوی محدودهٔ گسترده‌ای از تکنیک‌های آماری (از جمله: مدل‌سازی خطی و غیرخطی، آزمون‌های کلاسیک آماری، تحلیل سری‌های زمانی، رده‌بندی، خوشه‌بندی و غیره) و قابلیت‌های گرافیکی است. در محیط R، کدهای ویژوال بیسیک، سی، سی++ و فورترن قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره می‌توانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند. علامت تعجب
زبان‌های رایانه‌ای متعددی از «!» برای معناهای مختلفی استفاده می‌کنند، که مهم‌ترینشان نفی منطقی است؛ برای مثال، A != B یعنی «A برابر B نیست، و!A یعنی «نفی منطقی A» (که همچنین «not A» هم خوانده می‌شود. در این زمینه، نام علامت تعجب "بنگ" است؛ برنامه‌نویسان دیگر آن را "shriek (جیغ)" یا "screech (جیغ ترمز)" می‌خوانند. ازآن‌جاکه در آمریکا اختراع شده‌است، ادعا می‌شود که "بنگ" از یونیکس و "جیغ" از استانفورد یا ام‌آی‌تی می‌آید. با وجود این، "shriek" در لغت‌نامه‌های آکسفورد از دههٔ ۱۸۶۰ به‌بعد یافت می‌شود. همچنین بنگ در حروف‌چینی یا چاپ استفاده می‌شد؛ بنابراین، وقتی به‌طور شفاهی متنی را هجی می‌کنند، علامت تعجب می‌تواند «screamer یا بنگ» خوانده شود. علامت تعجب در زبان برنامه‌نویسی بیسیک بی‌بی‌سی (و بی‌سی‌پی‌ال pling خوانده می‌شود و برای اشاره به یک کلمهٔ ۳۲-بیتی به‌کار می‌رود. ام‌ال
از توانایی‌های ام‌ال معمولاً در طراحی زبان بکار برده می‌شود (کامپایلرها، استفاده برای تحقیقات زیستی، سیستم‌های مالی و کاربردها شامل پایگاه داده‌های شجره نامه‌ها، برنامهٔ سرویس دهنده / سرویس گیرنده نظیر به نظیر. آمستراد سی‌پی‌سی
سری CPC به شدت در تقابل با رایانه‌های خانگی آن روز که در اصل برای بازی‌های ویدئویی استفاده می‌شدند و دارای آرشیو بزرگی از نرم‌افزار و بازی بودند، قرار داشت. اما از جذابیت‌های این سری می‌توان به قیمت پایین، رزولوشن بالای متن در حالت سیاه و سفید، قابلیت‌های گرافیکی و توانایی اجرای نرم‌افزار «»، اشاره کرد که با طیف وسیعی از نرم‌افزارهای کاربردی پشتیبانی می‌گردید. نیبل
در زبان برنامه‌نویسی سی: مدیریت رشته در سی
مدیریت رشته‌ها در سی اشاره به گروهی از توابع در کتابخانه استاندارد سی دارد که برای مدیریت و انجام عملیات مختلف بر روی رشته‌ها پیاده‌سازی شده‌اند. عملیات مختلفی مانند کپی کردن رشته‌ها، الحاق رشته‌ها به یکدیگر، نشانه گذاری و جستجو پشتیبانی می‌شوند. ریزکنترل‌گر ای‌وی‌آر
کامپایلرهایی به زبان بیسیک و C که زبان‌هایی پرکاربردی در دنیا محسوب می‌شوند، برای این نوع ریزکنترل‌گرها طراحی شده‌است. البته در حال حاضر استفاده از کامپایلر بسکام BAScom که نسبت به زبان c بسیار راحت‌تر و سریع تر عمل می‌کند جایگزین زبان c شده‌است. همچنین زبان اسمبلی را نیز می‌توان برای برنامه‌نویسی به کار برد. برای نمونه کامپایلر بسکام با زبان بیسیک برای برنامه‌نویسی این نوع از ریزکنترل‌گرها می‌تواند به کار رود. همچنین نرم‌افزار CodeVision، برای برنامه‌نویسی به زبان C (سازگار با این ریزکنترل‌گرها) بسیار رایج است (البته این برنامه بیشتر میان کاربران ایرانی رواج دارد، در میان کاربرهای خارجی کمتر دیده شده و بیشتر از برنامهٔ رسمی شرکت Atmel استفاده می‌شود). بی‌سی‌پی‌ال
بی سی پی ال در ابتدا با هدف نوشتن کامپایلر برای سایر زبانها طراحی شده بود، هم‌اکنون استفاده از بی سی پی ال معمول نمی‌باشد. اما هنوز تأثیر آن به خاطر زبان B احساس می‌شود، زبانی که زبان برنامه نویسی C روی آن پایه‌گذاری شده‌است. نشانه‌های جایگزین سی
نشانه‌های جایگزین این امکان را برای برنامه‌نویسان فراهم می‌سازند تا عملگرهای بیتی و منطقی اصلی که به خاطر سپردن و تایپ کردن آنها در برخی از صفحه‌کلیدهای بین‌المللی و غیر QWERTY سخت است را به آسانی تایپ کنند و به خاطر بسپارند. نام فایل سرایندی که این نشانه‌ها در آن پیاده‌سازی شده است، اشاره به استاندارد ISO646 دارد. در این استاندارد یک مجموعه کاراکتر ۷ بیتی به همراه برخی تغییرات منطقه‌ای تعریف شده است که برخی از آنها بر کاراکترها به جای علائمی که به عنوان عملگر در زبان سی استفاده شده تاکید دارند. سی (زبان برنامه‌نویسی)
از آنجا که بسیاری از برنامه‌ها به زبان C نوشته شده‌اند، انواع مختلفی از کتابخانه‌های دیگر در دسترس هستند. کتابخانه‌ها غالباً به زبان C نوشته می‌شوند، زیرا کامپایلرهای C کد شیئی کارآمد را تولید می‌کنند. برنامه نویسان سپس رابط‌هایی را برای کتابخانه ایجاد می‌کنند تا روال‌ها از زبان‌های سطح بالاتر مانند جاوا، پرل و پایتون استفاده شوند. سی شارپ
زبان سی شارپ، یک زبان برنامه‌نویسی چند الگویی و منظم شده مدل‌های تابعی، امری، عمومی، شیءگرا و جز گرا و در بستر دات نت می‌باشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز دربر گرفت. سی شارپ یکی از ۴۴ زبان برنامه‌نویسی است که توسط زمان اجرای زبان مشترک از چارچوب دات‌نت پشتیبانی می‌شوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته می‌شود. Exec
استاندارد پازیکس در زبان برنامه‌نویسی سی، این توابع را در فایل سرایند unistd.h تعریف کرده‌است. همین توابع در فایل سرایند process.h در سیستم‌عامل‌های داس و ویندوز تعریف شده‌اند. int execl(char const *path, char const *arg0, ...); int execle(char const *path, char const *arg0, ..., char const * const *envp); int execlp(char const *file, char const *arg0, ...); int execv(char const *path, char const * const * argv); int execve(char const *path, char const * const *argv, char const * const *envp); int execvp(char const *file, char const * const *argv); در ابتدای نام همه این توابع عبارت exec به معنی executable وجود دارد. حروف خاصی که در این این توابع وجود دارند به معانی زیر هستند: زبان رایانه‌ای
زبان رایانه‌ای () یا زبان کامپیوتری، سیستمی برای ارتباط با یک کامپیوتر است. انواع زبان‌های رایانه‌ای شامل: زبان برنامه‌نویسی، (برای ارتباط دادنِ دستورالعمل‌ها به رایانه، طراحی شده‌است) زبان همه‌منظوره، زبان فرمان، (برای کنترل وظایف کامپیوتر) زبان ماشین، (مجموعه‌ای از دستورالعمل‌هایی که توسط واحد پردازش مرکزی اجرا می‌شوند) زبان اسمبلی، زبان نشانه‌گذاری (همچون اچ‌تی‌ام‌ال) و زبان پیکربندی، زبان پرسمان، زبان ساخت نرم‌افزار، زبان مدل‌سازی، زبان توصیف سخت‌افزار و زبان شبیه‌سازی می‌باشند. عبارات باقاعده سازگار با پرل
عبارات باقاعده سازگار با پرل یک کتابخانه عبارت باقاعده برای زبان برنامه‌نویسی سی است که با الهام‌گیری از عبارات باقاعده زبان پرل نوشته شده‌است. این کتابخانه توسط فیلیپ هزل نوشته شده‌است. نحو و سینتکس این کتابخانه نسبت به عبارات باقاعده پازیکس و بسیاری دیگر از کتابخانه‌های کلاسیک عبارات باقاعده پیشرفته‌تر است و انعطاف بیشتری دارد. نام این کتابخانه کمی غلط‌انداز است، چرا که هم PCRE، و هم کتابخانه پرل ویژگی‌هایی دارند که در دیگری یافت نمی‌شود. این کتابخانه در برخی از برنامه‌های برجسته متن‌باز نظیر کارساز وب آپاچی، پی‌اچ‌پی و زبان اسکریپت‌نویسی آر گنجانده شده‌است. از آنجا که این کتابخانه تحت پروانه بی‌اس‌دی منتشر می‌شود، می‌توان آن را در نرم‌افزارهای انحصاری نیز گنجانید. زبان پرل از نسخه ۵٫۱۰ به بعد خود، قابلیتی فراهم کرده که به کمک آن می‌توان از PCRE به عنوان جایگزینی برای موتور پیشفرض عبارات باقاعده استفاده کرد. این کار به کمک ماژول re::engine::PCRE انجام می‌شود. این کتابخانه امروزه در بین برنامه‌نویسان بسیار محبوب شده‌است. روش‌های کدگذاری در رایانه
آنچه که واضح است نا مفهوم بودن زبان انسان برای ماشین و از جمله رایانه است. به همین دلیل باید واسطه‌ای زبانی بین انسان و رایانه وجود داشته باشد تا بتوان استفاده راحتری از این وسیله کرد. سی (زبان برنامه‌نویسی)
بسیاری از موارد پیش می‌آید که برنامه‌نویس نیاز به استفاده از تعداد زیادی متغیر پیدا می‌کند؛ مثلاً اگر بخواهیم جملات ۱ تا ۱۰۰ سری فیبوناچی را برای استفاده ذخیره کنیم، به صد متغیر نیاز داریم. تعریف این صد متغیر به صورت مستقل و با نام‌های جداگانه کاری سخت و طاقت‌فرساست و البته معقول نیست. به همین خاطر در زبان C قابلیتی پیش‌بینی شده تا بتواند تعداد دلخواهی متغیر از یک نوع را به راحتی ایجاد کرد. سی (زبان برنامه‌نویسی)
در سال ۱۹۷۸، برایان کرنیگان و دنیس ریچی چاپ اول کتاب زبان برنامه‌نویسی C را منتشر کردند. این کتاب که به عنوان K&R برای برنامه نویسان C شناخته شده بود، سالها به عنوان مشخصات غیررسمی زبان مورد استفاده قرار گرفت. نسخه C که توصیف می‌کند معمولاً با عنوان "K&R C" شناخته می‌شود. چاپ دوم کتاب شامل استاندارد بعدی ANSI C است که در زیر شرح داده شده‌است. CS
CS در موارد زیر کاربرد دارد: علوم رایانه
کاربردها در علم رایانه برنامه‌نویسی رایانه‌ای
برخی از زبانها برای انواع خاصی از برنامه‌ها بسیار محبوب هستند، در حالی که برخی از زبان‌ها به‌طور مرتب برای نوشتن انواع مختلف برنامه‌ها مورد استفاده قرار می‌گیرند. به عنوان مثال، COBOL هنوز هم در مراکز داده‌های شرکتی غالباً در رایانه‌های اصلی بزرگ، Fortran در برنامه‌های مهندسی، زبان‌های اسکریپت در توسعه وب و C در نرم‌افزارهای تعبیه شده قوی است. بسیاری از برنامه‌ها از ترکیبی از چندین زبان در ساخت و استفاده خود استفاده می‌کنند. زبانهای جدید عموماً در حدود نحو یک زبان قبلی طراحی شده‌اند که قابلیت‌های جدیدی نیز به آن اضافه شده‌است (به عنوان مثال ++C جهت‌یابی به شی را به C اضافه می‌کند، و جاوا مدیریت حافظه و بایت کد را به ++C اضافه می‌کند، اما در نتیجه بازده و توانایی کم را از دست می‌دهد. دستکاری ساده) آبجکتیو-سی
این زبان می‌تواند روی یک کامپایلر زبان سی پیاده‌سازی شود. به این ترتیب که اول به صورت پیش‌پردازشی کدهای خاص آبجکتیو-سی تبدیل به کدهای سی متناسب می‌شوند. سی‌پایتون
سی‌پایتون رویهٔ پیش‌فرض و پر کاربردترین رویه در زبان برنامه‌نویسی پایتون است که به زبان سی (زبان برنامه‌نویسی) نوشته شده‌است. زبان اسمبلی
هر معماری کامپیوتر زبان ماشین مختص به خود را داراست. کامپیوترها در تعداد و نوع دستورهای قابل استفاده، تعداد و اندازهٔ ثبات‌ها و نحوهٔ انبارش داده‌ها با یکدیگر تفاوت دارند. با اینکه کامپیوترهای همه منظوره اساساً قادر به انجام کارکردهای مشابه هستند ولی این کار را با روش‌های گوناگونی انجام می‌دهند؛ بنابراین زبان اسمبلی مربوط به آن‌ها نیز این تفاوت‌ها را منعکس می‌کند. توربو سی
توربو سی ، یک محیط یکپارچه توسعه نرم‌افزار و کامپایلر زبان برنامه‌نویسی C است. این نرم‌افزار توسط شرکت بورلند شناخته شده‌است. این نرم‌افزار در سال ۱۹۸۷ میلادی به عنوان یک محیط توسعه یکپارچه، کم حجم، سرعت کامپایل سریع، کتابچه‌های جامع و قیمت پایین، معرفی شد. در سال ۱۹۹۰ شرکت بورلند توربو سی را متوقف و توربو سی++ را جایگزن آن کرد. ویژوال سی++
اسبق به ویژوال + + C در مایکروسافت + + C/ C نامیده می‌شد و در ویندوز۱٫۰ مایکروسافت QuickC 2.5 و یک QuickC وجود دارد. ویژوال سی++ توکار، یا ++eMbedded Visual C یکی از محیط‌های طراحی نرم‌افزار محصول شرکت مایکروسافت بود که بر مبنای محیط مشابه برای رایانه شخصی، یعنی ویژوال سی، طراحی شد. این محیط جهت سهولت نوشتن و کامپایل برنامه برای ویندوز سی‌ایی (Windows CE، سیستم‌عامل شرکت مایکروسافت برای سامانه‌های توکار) در محیط ویندوز NT یا XP است. این نرم‌افزار قابلیت کراس کامپایل (Cross-Compile) از کامپیوتر شخصی بر روی بسیاری از سامانه‌های توکار شناخته شده یا سفارشی را دارا بود. این برنامه ابتدا با ابزارهایی که به نسخه ۶ افزوده شد جایگزین شد و سپس به عنوان محیطی جداگانه به ویژوال استودیو ۲۰۰۵ افزوده شد. برنامه‌نویس
برنامه‌نویس‌ها مطابق مشخصات فنی که در درجهٔ اول توسط برنامه‌نویس‌های ارشد و تحلیل‌گرهای سیستم بیشتر تعیین شده‌اند برنامه می‌نویسند. پس از تکمیل فرایند طراحی، کار برنامه‌نویس است که آن طراحی را به دنباله‌های منطقی از دستورالعمل‌هایی که رایانه بتواند پیروی کند تبدیل کند. برنامه‌نویس کد این دستورالعمل‌ها را به یکی از بسیار زبان برنامه‌نویسی می‌نویسد. زبان‌های برنامه‌نویسی گوناگون بسته به هدف برنامه استفاده می‌شوند. کوبول، برای نمونه، به‌طور معمول برای اپلیکیشن‌های تجاری که معمولاً روی بزرگ‌رایانه و رایانه کوچک اجرا می‌شوند استفاده می‌شود؛ در حالی که، فورترن در علم و مهندسی استفاده می‌شود. سی++ به‌طور گسترده برای هر دو اپلیکیشن‌های علمی و تجاری کاربرد دارد. جاوا، سی شارپ، ویژوال بیسیک و پی‌اچ‌پی زبان‌های برنامه‌نویسی محبوبی برای وب و نرم‌افزارهای کاربردی تجاری هستند. برنامه‌نویس‌ها عموماً بیش از یک زبان برنامه‌نویسی می‌دانند، و چون بیشتر زبان‌ها مشابه یکدیگر هستند، اغلب نسبتاً به آسانی زبان‌های تازه را فرا می‌گیرند. در عمل، برنامه‌نویس‌ها اغلب با زبانی که می‌دانند نسبت داده‌ می‌شوند، برای نمونه "برنامه‌نویس‌های جاوا"، یا با نوع وظیفه‌ای که انجام می‌دهند یا محیطی که در آن کار می‌کنند، برای نمونه، "برنامه‌نویس‌های پایگاه داده‌ها"، "برنامه‌نویس‌های بزرگ‌رایانه" یا " توسعه‌دهنده‌های وب. پاسکال (زبان برنامه‌نویسی)
اولین کامپایلر پاسکال برای سری CDC 6000 خانواده کامپیوترهای پردازنده مرکزی در زوریخ طراحی شد. آقای Wirth گزارش می‌دهد که اولین کوشش برای پیاده‌سازی آن در فرترن در سال ۱۹۶۹ با توجه به نارسایی فرترن برای بیان ساختمان داده‌های پیچیده، ناموفق بود. دومین تلاش‌ها برای خود زبان پاسکال تنظیم و فرموله شد و در اواسط سال ۱۹۷۰ قابل استفاده شد. پس از آن بسیاری از کامپایلرهای پاسکال به‌طور مشابه، خودمیزبان بودند، به این معنا که خود کامپایلر در پاسکال نوشته شده‌است و کامپایلر هنگامی که امکانات جدید به زبان اضافه می‌شود یا به محیطی جدید منتقل می‌شود، معمولاً قادر به دوباره کامپایل کردن خود می‌باشد. کامپایلر GNU Pascal یک استثنای قابل توجه در این مورد می‌باشد که در C نوشته شده‌است. زبان اسمبلی
در زمانی که کامپیوتر با قابلیت ذخیره کردن برنامه معرفی شد، زبان‌های اسمبلی در دسترس نبودند. کثلین بوث مسئول اختراع زبان اسمبلی می‌باشد؛ که بر پایهٔ کار نظری اش که در سال ۱۹۷۴ آغاز کرد، می‌باشد. همزمان که با همفکری اندرو بوث (که در آینده همسر او شد) و با ریاضی‌دانی به نام جان فون نویمان و فیزیکدانی به نام هرمن گلداستاین در مؤسسه مطالعه‌های پیشرفته، بر روی ARC2 در دانشگاه لندن، بیرکبک کار می‌کرد. در اواخر ۱۹۴۸، محاسبه کننده ی خودکار مخزن تأخیر الکترونیکی (EDSAC) یک اسمبلر (به نام دستورهای اولیه) داشت که با برنامهٔ خودراه انداز آن دستگاه یکپارچه شده بود. از حافظه ای تک حرفی استفاده می‌کرد که به وسیلهٔ دیوید ویلر توسعه یافت. کسی که به عنوان سازندهٔ اولین اسمبلر، مسئول جامعهٔ کامپیوتر IEEE می‌باشد. گزارش‌های دربارهٔ EDSAC، اسمبلی را برای فرایند ترکیب زمینه‌ها برای رسیدن به یک کلمهٔ راهنما معرفی کردند. SOAP (برنامهٔ اسمبلی بهینهٔ نمادین) یک زبان اسمبلی برای کامپیوتر IBM 650 بود که به وسیلهٔ استن پلی در ۱۹۵۵ نوشته شد. زبان اسمبلی تعداد زیادی از نیازهای مستعد خطا، خسته کننده و وقت گیر برنامه‌نویسی نسل اول با اولین کامپیوترها را ازبین برد؛ و برنامه نویسان را از موارد خسته کننده ای از جمله به خاطر سپردن کدهای عددی و محاسبه کردن آدرس‌ها آزاد کرد. آن‌ها یک بار به‌طور گسترده برای همهٔ انواع برنامه‌نویسی استفاده شدند. با این حال در دههٔ ۱۹۸۰ (در دههٔ ۱۹۹۰ برای ریزرایانه‌ها) در جستجو برای بهره‌وری برنامه‌نویسی که اثبات شده‌است، استفاده از آنها به مقدار زیادی با زبان‌های سطح بالا جایگزین شد. امروزه زبان اسمبلی هنوز برای دست کاری دستی سخت‌افزار، دسترسی به دستورالعمل‌های مخصوص پردازنده، یا برای آدرس دهی موضوع‌های ساختاری بحرانی استفاده می‌شود. نمونه‌های استفاده عبارت اند از گرداننده‌های دستگاه، سیستم‌های نهفتهٔ سطح پایین، و سیستم‌های بی درنگ. از دید تاریخی، برنامه‌های متعددی وجود دارند که کاملاً به زبان اسمبلی نوشته شده‌اند. باروز ام‌سی‌پی(۱۹۶۱)(Burroughs MCP) اولین کامپیوتری بود که سیستم عملیاتی به‌طور کامل به زبان اسمبلی توسعه نیافته بود؛ بلکه در زبان مشکل محور سیستم‌های اجرایی (ESPOL) ـ که یک گویش از الگول (زبان الگوریتمی) می‌باشد ـ نوشته شده بود. همچنین بسیاری از کاربردهای تجاری به زبان اسمبلی نوشته شدند. به انضمام مقدار زیادی نرم‌افزارهای رایانه‌های بزرگ آی‌بی‌ام که نوشته شده به وسیلهٔ شرکت‌های بزرگ بود. کوبول، فورترن و بعضی از PL/Iها سرانجام جایگزین مقدار زیادی از این کار شدند. اگرچه تعدادی از سازمان‌های بزرگ در دههٔ ۱۹۹۰، کاربرد زیرساخت‌هایی با زبان‌های اسمبلی را به خوبی حفظ کردند. بیشتر ریزرایانه‌های اولیه بر زبان اسمبلی از نوع کدگذاری دستی تکیه کردند. به انضمام بیشتر سیستم‌های عملیاتی و برنامه‌های بزرگ. این بخاطر این بود که این سیستم‌ها محدودیت‌های شدید منابع، ساختارهای حافظه و نمایش ویژهٔ تحمیلی و سرویس‌های سیستمی مشکل دار و محدود شده آماده شده داشتند. احتمالاً فقدان کامپایلرهای با زبان سطح بالای درجه یک مناسب برای استفاده ریزرایانه چیز مهمتری بود. یک عامل روانشناسانه نیز احتمالاً نقش بازی می‌کرد: اولین نسل برنامه نویسان ریزرایانه‌ها که باقی ماندند افراد دیوانهٔ بازی با نگرشی خاص بودند. در مفهومی تجاری تر، حداقل اندازه، حداقل میزان پردازش مورد نیاز، سرعت بهتر و قابل اعتماد بودن از بزرگ‌ترین دلایل برای استفاده از زبان اسمبلی بودند. سیستم عملیاتی IBM PC DOS، کامپایلر توربو پاسکال و برنامه‌های اولیه مانند برنامهٔ صفحه گسترده ی لوتوس ۱-۲-۳، مثال‌های نمونهٔ برنامه‌های بزرگ با زبان اسمبلی در این زمان می‌باشند. زبان اسمبلی در گذشته بهترین نمایش را در سگا ساترن - برای توسعه و برنامه‌نویسی بازی‌های این کنسول که به‌طور آشکار چالش‌برانگیز بود - داشت. بازی ان بی ای جم که یک بازی مخصوص دستگاه‌های بازی ویدئویی بود، مثال دیگری می‌باشد. زبان اسمبلی برای یک مدت طولانی زبان اصلی توسعه برای بسیاری از بازی‌های کامپیوتری در دهه‌های ۱۹۸۰ و ۱۹۹۰ بود (از جمله ام‌اس‌ایکس، سینکلر زد ایکس اسپکتروم، کمودور ۶۴، کومودور آمیگا و آتاری اس‌تی). این در بخش بزرگی بود زیرا گویش پایهٔ تفسیری در این سیستم‌ها با عث سرعت اجرایی ناکافی می‌شد همچنان که باعث قابلیت‌های ناکافی برای بدست آوردن همهٔ مزیت‌های سخت‌افزار موجود در این سیستم‌ها می‌شد. بعضی از سیستم‌ها حتی یک محیط یکپارچه توسعه نرم‌افزار (IDE) دارند که دارای قابلیت فوق پیشرفته اشکال زدایی و قابلیت‌های ماکروها هستند. بعضی از کامپایلرهای در دسترس برای ریدیوشک تی آر اس-۸۰ و جانشینانش، قابلیت ترکیب برخط منبع اسمبلی با جمله‌های سطح بالای برنامه را داشتند. پس از گردآوری، یک اسمبلر درونی کدهای برخط ماشین را تولید کرد. برایان کرنیگان
نام کرنیهان بواسطه نوشتن کتاب مشترکی به همراه دنیس ریچی به نام زبان برنامه‌نویسی سی بر سر زبان‌ها افتاد. او گفته‌است که در طراحی زبان سی نقشی نداشته‌است. («این [زبان] به‌طور کامل کار دنیس ریچی است») او برنامه‌های بسیاری برای یونیکس نوشت، مانند کرون و ditroff برای نسخه ۷ یونیکس. همچنین کرنیهان ابداع‌کننده اصطلاح (آنچه می‌بینید همه آن چیزی است که دریافت می‌کنید. ) که یک گونه نیشدار از اصطلاح (آنچه می‌بینید همان چیزی است که دریافت می‌کنید ) است. در حقیقت این اصطلاح اشاره به این مطلب دارد که رابط‌های کاربری گرافیکی ممکن است دست کاربران حرفه‌ای را ببندند و او را محدود کنند. زبان برنامه‌نویسی سطح بالا
توجه به این نکته ضروری است که عبارت سطح بالا و سطح پایین نسبی هستند. در ابتدا زبان اسمبلی سطح پایین و زبان کوبول و سی و غیره به دلیل استفاده از متغیر و توابع و عبارات سطح بالا محسوب می‌شدند. با این وجود برنامه‌نویسان ممکن است سی را یک زبان سطح پایین محسوب نمایند چرا که امکان دسترسی به حافظه به صورت مستقیم و امکان دسترسی به کد اسمبلی را نیز فراهم می‌سازد. برای اطلاع بیشتر در این مورد وبسایت C۲'s page about high-level languages را ببینید برنامه‌نویسی رایانه‌ای
برای راحت‌تر شدن کدنویسی (برنامه‌نویسی) از نرم‌افزارهای مختلفی وابسته به زبان آن استفاده می‌کنند که به آن‌ها محیط یکپارچه توسعه نرم‌افزار گفته می‌شود به عنوان مثال برای کدنویسی به زبان سی شارپ از نرم‌افزار مایکروسافت ویژوال استودیو استفاده می‌شود. پی‌اچ‌پی
پی اچ پی به توسعه دهندگان این اجازه را می دهد تا با نوشتن افزونه هایی به زبان C، به زبان پی اچ پی کارایی لازم را ببخشند. افزونه های پی اچ پی می توانند به صورت ایستا در داخل پی اچ پی کامپایل شوند یا به صورت پویا در زمان اجرا بارگزاری شوند. افزونه های بی شماری نوشته شده اند تا از ویندوز اِی پی آی، فرآیند مدیریت در سیستم عامل های شبه یونیکس، رشته های چند بایتی (یونیکد)، cURL و چند قالب فشرده سازی محبوب پشتیبانی کنند. دیگر ویژگی های پی اچ پی که توسط افزونه ها در دسترس قرار گرفتند، شامل مجتمع سازی با IRC، تولید پویای تصاویر و محتوای ادوبی فلش، اشیاء داده پی اچ پی (PDO) که به عنوان یک لایه ظاهری برای دسترسی به پایگاه داده به کار می رود، و حتی ترکیب صدا می شود. بخشی از توابع هسته زبان، مانند آن هایی که با رشته ها و آرایه ها سروکار دارند، نیز به عنوان افزونه پیاده سازی شده اند. پروژه کتابخانه جامع افزونه های پی اچ پی (PECL) مخزنی برای افزونه های به زبان پی اچ پی است. آمستراد سی‌پی‌سی
با وجود اینکه کمپایلرهایی برای زبان‌های لوکوموتیو بیسیک، سی و پاسکال در رایانه‌های آمستراد قابل دسترسی است، اغلب نرم‌افزارهای CPC به زبان اسمبلی تراشه زد۸۰ نوشته می سد. اسمبلرهای معروف عبارت بودند از: Hisoft's Devpac, Arnor's Maxam, و (در کشور فرانسه) DAMS. سیستم‌های CPC دارای دیسک گردان (به جز سری پلاس) به همراه یک نرم‌افزار مفسر جهت آموزش زبان لوگو عرضه می‌شد. همچنین یک کمپایلر زبان سی توسط شرکت Tandy Europe تولید و توسط شرکت Micro Business در بازار اروپا توزیع گردیده بود. Pragma once
در زبان برنامه‌نویسی سی و سی++، #pragma once، یکی از دستورهای غیر استاندارد پیش‌پردازنده است که اگر در فایلی قرار داده شود، فایل مورد نظر تنها یک بار در هر بار کامپایل درج خواهد شد. هر چند که این دستور غیر استاندارد است، اما به‌طور گسترده توسط کامپایلرهای مختلف پشتیبانی می‌شود. این دستور عملکردی مشابه اینکلود گارد دارد. اما استفاده از #pragma once مزایایی نسبت به اینکلود گارد دارد که کد کمتر، جلوگیری از تصادم و برخورد اسامی و کاهش زمان کامپایل (در برخی مواقع) از جمله مزایای استفاده از #pragma once هستند. سی (زبان برنامه‌نویسی)
استفادهٔ گسترده این زبان در انواع رایانه‌ها و سخت‌افزارهای مختلف باعث شد که نسخه‌های مختلفی از این زبان به‌وجود آید که با یکدیگر ناسازگار بودند. در سال ۱۹۸۳ مؤسسه استانداردهای ملی آمریکا (ANSI) کمیته‌ای موسوم به X3J11 را را مأمور کرد تا یک تعریف فاقد ابهام و مستقل از ماشین را از این زبان تدوین نماید. در سال ۱۹۸۹ این استاندارد تحت عنوان ANSI C به تصویب رسید و سپس در سال ۱۹۹۰، سازمان بین‌المللی استانداردسازی (ISO) نیز این استاندارد را پذیرفت و مستندات مشترک آنها تحت عنوان ANSI/ISO C منتشر گردید. مدیریت رشته در سی
اکثر توابع مرتبط با رشته‌ها در فایل سرآیند string.h تعریف شده‌اند. (سرآیند cstring در سی++) توابع مربوط به رشته‌های توسعه یافته هم در فایل wchar.h تعریف شده‌اند. (سرآیند cwchar در سی++) این سرآیندها همچنین حاوی اعلانات توابعی هستند که برای مدیریت بافرهای حافظه مورد استفاده قرار می‌گیرند. کتابخانه پازیکس زبان سی
کتابخانه پازیکس زبان سی یک کتابخانه برنامه‌نویسی است که توسط استاندارد پازیکس برای زبان برنامه‌نویسی سی تعریف شده و از سیستم‌عامل‌های سازگار با این استاندارد انتظار می‌رود که این کتاب‌خانه را فراهم کنند. سی‌پایتون
سی‌پایتون کد پایتون را قبل از تفسیر کردن آن، به بایت‌کد کامپایل می‌کند و از این رو می‌تواند هم به‌عنوان مفسر و هم کامپایلر (همگردان)، تعریف شود. سی‌پایتون یک رابط عملکرد خارجی ()، با چند زبان از جمله زبان سی دارد که در آن باید صریحاً قیدها را در زبانی غیر از پایتون نوشت. انواع داده در سی
در زبان برنامه‌نویسی سی، انواع داده اشاره به یک سیستم گسترده و وسیع برای اعلان متغیرها از انواع مختلف دارد. خود زبان سی تنها چند نوع داده ساده محاسباتی و قواعدی برای ایجاد آرایه‌ها و داده‌های ترکیبی ارائه می‌دهد. چند فایل هدر در کتابخانه استاندارد سی دربرگیرنده نوع داده‌های بیشتری، با ویژگی‌های بیشتر مانند اندازه دقیق تضمین شده هستند. سی--
—c شبیه زبان برنامه نویسی c است. پدیدآورندگان آن، محققان زبان‌های تابعی، سیمون پایتون جونز و نورمن رامسی، آن را طراحی کردند تا به‌طورعمده با کامپایلرهای زبان‌های سطح بالا به جای نوشته شده توسط برنامه نویس‌ها استفاده شوند. برخلاف بسیاری دیگراززبانهای متوسط، نمایش آنهامتن ساده اسکی است، بایت کد یا شکلهای دیگر باینری نیست. سی‌پی‌ال (زبان برنامه‌نویسی)
CPL مشترکاً توسط آزمایشگاه ریاضیات دانشگاه کمبریج و همچنین واحد رایانه ای دانشگاه لندن , در طول دههٔ ۱۹۶۰ توسعه یافت . از این رو CPL نام مستعار "کمبریج بعلاوه ی لندن" را به دست آورد . تلاش مشترک این دو بیشتر برای قسمتِ "ترکیب شده" در نامِ زبان بود. (قبلاً نام زبان،زبان برنامه‌نویسی کمبریج بود.) D.W. Barron و Christopher Strachey درگیر این پروژه بودند. در سال ۱۹۶۳ (زمانی که مقاله منتشر شد) این پروژه به‌طور همزمان در کامپیوتر تیتان , Titan Computer , در کمبریج و کامپیوتر اطلس , Atlas Computer ، در لندن پیاده‌سازی شد. این زبان از زبان الگول ۶۰ بسیار تأثیر می پذیرفت، ولی به جای اینکه خیلی کوچک ، کارا ، کم دستور و ساده باشد ، نامزد داشتن زمینه‌های کاربردی گسترده تری نسبت به محاسبات علمی بود . بنابراین CPL زبانی بسیار پیچیده بود و به کاراییِ زبان الگول ۶۰ نبود. CPL در زمان خود , زبان بزرگی بود . CPL تلاش کرد تا از زبان الگول فراتر برود تا بتواند علاوه برداشتن ویژگی‌های زبان الگول شامل کنترل فرایندهای صنعتی و پردازش داده‌های تجاری نیز باشد . CPL همچنین تلاش داشت تا هم به برنامه‌های سطح پایین و هم داده‌های انتزاعی سطح بالا اجازه دهد که از یک زبان مشترک استفاده کنند. اگرچه زبان CPL بسیار آهسته به مرحلهٔ پیاده‌سازی رسید , ولی اولین کامپایلر زبان احتمالاً در سال ۱۹۷۰ نوشته شده‌است . ولی این زبان هیچ گاه محبوبیت چندانی کسب نکرد و به نظر می‌رسد که در سال ۱۹۷۰ بدون هیچ اثری ناپدید شد. زبان بعدی که بر پایهٔ زبان CPL نوشته شد ، بی‌سی‌پی‌ال نامیده شد (این نام برگرفته از "Basic CPL" به معنای بر اساس CPL می‌باشد ، اگرچه در اصل مخفف "Bootstrap CPL" به معنای CPL خودراه انداز بود.) BCPL زبان ساده تری می‌باشد و مشخصاً نامزد زبان برنامه‌نویسی سیستم مانند نوشتن کامپایلر بود. BCPL بعدها درخشید ، توسط زبان برنامه‌نویسی B , به سوی زبان برنامه‌نویسی مشهور و با نفوذ C پیش رفت. زبان برنامه‌نویسی ای‌بی‌سی
ای‌بی‌سی تنها دارای پنج نوع داده پایه است. این زبان به تعریف متغیر نیاز ندارد. تو در تویی جملات با میزان دندانه‌گذاری مشخص می‌شود. دارای امکانات حساب با دقت نامحدود، رشته‌ها و آرایه‌ها با اندازه نامحدود، و ویژگی‌های دیگری که کار را برای تازه‌کاران آسان‌تر می‌کند است. ماکرو (علوم رایانه)
زبان‌هایی مانند C و برخی از زبان‌های مونتاژ دارای سیستم‌های کلان اولیه هستند که به عنوان پیش پردازنده‌های کامپایلر یا مونتاژکننده اجرا می‌شوند. ماکرو هایپیش پردازندهٔ C با جایگزینی متنی ساده در نشانه، به جای کاراکتر کار می‌کند. **با این حال، امکانات ماکرو اسمبلرهای پیچیده‌تر، به عنوان مثال، IBM High Level Assembler (HLASM) با یک پیش پردازنده قابل اجرا نیست؛ کد مونتاژ دستورالعمل‌ها و داده‌ها با کد مونتاژ فراخوانی‌های کلان در هم آمیخته‌است. ** استفاده کلاسیک از ماکرو در سیستم تایپ کامپیوتری TeX و مشتقات آن است، که اکثر این قابلیت‌ها بر اساس ماکرو است. MacroML یک سیستم آزمایشی است که به دنبال تطبیق سیستم‌های تایپ دهی ایستا و سیستم‌های ماکرو است. Nemerle ماکروهای نحوی را تایپ کرده‌است و یکی از راه‌های کارآمد برای فکر کردن به این ماکروهای نحوی به عنوان یک محاسبه چند مرحله ای است. مثال‌های دیگر: زبان برنامه‌نویسی
#C زبان برنامه‌نویسی سی (کتاب)
زبان برنامه‌نویسی سی (گاهی اوقات با نام K&R هم شناخته می‌شود که از حرف اول نام خانوادگی نویسندگانش آمده) نام یک کتاب معروف و شناخته شده دربارهٔ زبان برنامه‌نویسی سی است که توسط برایان کرنیگان و دنیس ریچی نوشته شده‌است. دنیس ریچی خود از طراحان این زبان و کسی بود که این زبان را پیاده‌سازی کرد و همینطور در طراحی سیستم‌عامل یونیکس همکاری داشت. این کتاب نقش زیادی در محبوبیت زبان سی) داشت و تا به امروز هم به عنوان یکی از مراجع اصلی این زبان استفاده می‌شود. CE
CE در موارد زیر کاربرد دارد: