Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
севастьянов.doc
Скачиваний:
13
Добавлен:
16.05.2015
Размер:
496.64 Кб
Скачать

Використання

Одним із наслідків значного поширення та ефективності С є те, що компілятори, бібліотеки та інтерпретатори багатьох інших високорівневих мов програмування реалізуються на С.

С використовується, як проміжна мовадеякими високорівневими мовами програмування. Це здійснюється одним із двох наступним способів:

  • Продукується текст програми мовою C паралельно з іншим вихідним кодом: машинним, об'єктним та/або двійковим. Наприклад, така поведінка характерна для деяких діалектів мови Lisp(Lush).

  • Продукується виключно текст на С. Приклади: Eiffel, Sather; Esterel.

Вихідний текст програми на С передається компілятору С, який видає кінцевий машинний або двійковий код. Це зроблено задля переносимості (компілятори мови С існують майже для усіх платформ) і уникання необхідності розвитку специфічних для машини генераторів команд.

Завдяки величезній популярності мови програмування C, останні стандарти мови Фортран ввели механізм сумісності, що дозволяє просту і стандартизовану взаємодію між програмами на Фортран та C. Сумісність досягається на майже усіх основних рівнях: вбудованих і похідних типів, вказівників, змінних, функцій та процедур.

Бібліотеки

Мова програмування С використовує бібліотеки, як основний засіб свого розширення. У С, бібліотека — набір функцій, котрі містяться в одному файлі. Кожна бібліотека, за звичай має заголовочний файл, в якому містяться прототипи функцій, присутніх у бібліотеці, яка може використовуватися, а також декларації спеціальних типів даних і макро-символів, що використовують ці функції. Для того, щоб програма використовувала бібліотеку, заголовний файл цієї бібліотеки має бути оголошений вгорі файлу із сирцевим кодом, і бібліотека має бути злінкованою з програмою, що у багатьох випадках вимагає спеціальної опції для компілятора (наприклад, -lmath).

Загальною бібліотекою С є стандартна бібліотека С stdlib.h, що вказана уISO та ANSI C стандартах, і розповсюджується з кожним сучасним компілятором мови С.

Іншим загальним набором функцій стандартної бібліотеки Сє той, що використовуєтьсязастосунками. Проектувалися вони для UNIX-подібних систем, у першу чергу, для забезпечення інтерфейсу до ядра. Ці функції деталізуються у різноманітних стандартах, на кшталт POSIX та Single UNIX Specification.

Відтоді, як С набула великої популярності, для неї було написано чимало інших бібліотек. Бібліотеки часто пишуться на С, оскільки компілятори C ґенерують ефективний об'єктний код; пізніше програмісти створюють інтерфейси до бібліотек таким чином, що ті можуть використовуватися високорівневими мовами, на кшталт Java, Perl та Python.

Критика

Докладніше: Критика мови програмування С

Незважаючи на її велику популярність, С часто критикується. В основному критика зосереджена на тому, що, використовуючи C, важко здійснити деякі бажані дії, і на тому, що, використовуючи C, дуже легко здійснити деякі небажані дії. Коротко кажучи, ефективне використання С вимагає від програміста більше навичок, досвіду та зусиль, ніж це потрібно для деяких інших мов програмування.

Пов'язані мови

Коли об'єктно-орієнтовані мови стали популярними, C++ і Objective-C були двома різними продовженнями C, які забезпечували об'єктно-орієнтовані можливості. Обидві мови спочатку функціонували, як препроцесори — написаний на них код спочатку переводився на C, а потім компілювася компілятором C.

С++

Мова програмування C++ розроблена на основі С, і була отримана у наслідок додавання Б'ярном Страуструпом до неї об'єктно-орієнтованої функціональності із C-подібним синтаксисом.

Objective-C

Objective-C — дуже «тонка» надбудова над С, який дозволяє об'єктно-орієнтоване програмування використовуючи гібрид динамічної/статичної парадигми типів. Основу синтаксису Objective-C склав синтаксис мови С, однак, синтаксис для його об'єктно-орієнтованих можливостей був запозичений у Smalltalk. Objective-C та C++ відрізняються своєю філософією — для більшої інформації, читайте відповідні статті.

С#]

Мова програмування C# заснована на строгій компонентній архітектурі і реалізує передові механізми забезпечення безпеки коду. C # об'єднала кращі риси цілого ряду попередників. Крім згаданої раніше мови C++, необхідно указати ще кілька знакових для нашого часу мов програмування, а саме, Java і Visual Basic.

Основні можливості C#

Подібно мовам Java, C++ і Visual Basic, але являється компонентно-орієнтованим і більш безпечним. Додано ряд нових рис (делегати, індексатори, механізм (un)boxing і т.д.)