C (англ. C) — універсальна, процедурна, імперативна мова

  • Размер: 1.7 Mегабайта
  • Количество слайдов: 8

Описание презентации C (англ. C) — універсальна, процедурна, імперативна мова по слайдам

C (англ. C) — універсальна, процедурна, імперативна мова програмування загального призначення,  розроблена у 1972 роціC (англ. C) — універсальна, процедурна, імперативна мова програмування загального призначення, розроблена у 1972 році Денісом Рітчі у Bell Telephone Laboratories з метою написання на ній операційної системи UNIX. Хоча, С і було розроблено для написання системного програмного забезпечення, наразі вона досить часто використовується для написання прикладного програмного забезпечення. С імовірно, є найпопулярнішою у світі мовою програмування за кількістю вже написаного на ній програмного забезпечення, доступного під вільними ліцензіями коду та кількості програмістів, котрі її знають. Реалізації компіляторів для мови С існують для багатьох операційних систем та апаратних архітектур. C здійснила великий вплив на інші мови програмування, особливо на C++, яка спочатку проектувалася, як розширення для С, а також на Java та C#, які запозичили у С синтаксис.

Б'ярн Страуструп, розробник С++, якось написав про цю мову:  «С робить так, щоб вам булоБ’ярн Страуструп, розробник С++, якось написав про цю мову: «С робить так, щоб вам було легко вистрілити собі в ногу» Іншими словами, С дозволяє здійснення низки операцій, котрі часто є не бажаними, а тому чимало помилок у коді не виявляється компілятором, і не можуть бути очевидними під час виконання. Якщо під час програмування та підтримки програмного забезпечення не дотримуватись низки суворих правил, пізніше може виникнути немало проблем зі швидкодією, стабільністю та безпекою програмного забезпечення. (Хоча, виною подібних проблем найчастіше є програмісти, оскільки, С сама по собі забезпечує низький рівень захисту).

 C — це мова програмування загального призначення,  що включає  економію представлення,  сучасне C — це мова програмування загального призначення, що включає економію представлення, сучасне керування потоком і структурою даних і багатий набір операторів. C C не є мовою «дуже високого рівня» , ні «великою» мовою, і не призначена для певної області застосування. Але відсутність в ній обмежень та її загальність роблять її зручнішою і ефективнішою для багатьох завдань, у порівнянні з мовами, що вважаються потужнішими. Початково, C C розроблено та втілено на операційній системі Юнікс на DEC PDP-11 Деніса Річі. Операційна система, компілятор C C і, по суті, всі програми-додатки Юнікса написано на на C. C. Робочі компілятори існують також і для декількох інших машин, включаючи IBM System/370, Honeywell 6000 та та Interdata 8/32. Проте, C C не прив’язана до певного обладнання чи системи, і на ній легко писати програми, що працюватимуть без змін на будь-якій машині, яка підтримує C. C.

C має такі специфічні властивості:  змінні можуть бути прихованими у вкладених блоках слабка типізація; наприклад,C має такі специфічні властивості: змінні можуть бути прихованими у вкладених блоках слабка типізація; наприклад, символи можуть використовуватися, як цілі числа низькорівневий доступ до оперативної пам’яті шляхом перетворення машинних адрес вказівники на функції і дані підтримують динамічний поліморфізм масив індексів як вторинне поняття, визначається у термінах арифметики вказівників стандартизований препроцесор C C для макроозначення, включення файлу з джерельним кодом, умовної трансляції, іт. д. комплексна функціональність, як то II // OO , маніпуляція рядками , і делегування математичних функцій бібліотекам відносно невелика кількість зарезервованих слів (32 у С 89, і 37 у CC 99)99) Лексичні структури, які нагадують BB більше за ALGOL , наприклад: {. . . }на відміну від ALGOL ‘івського begin . . . endend знак рівності для призначення (копіювання), як це робиться у мові Fortran два знаки рівності використовуються для перевірки рівності (подібно до. EQEQ. . уу Fortran ‘і або одного знаку рівності у BASIC )) &&&& та||на відміну від ALGOL ‘івстких andand тата oror (цим вона семантично відрізняється від бітових операторів&та|. велика кількість операторів об’єднання, на кшталт+=, ++, ……

Рання розробка Розробка Сі стала результатом того, що його майбутні автори любили комп'ютерну гру, схожу наРання розробка Розробка Сі стала результатом того, що його майбутні автори любили комп’ютерну гру, схожу на популярну гру Asteroids (Астероїди). Вони вже давно грали у неї на головному сервері компанії, який був недостатньо потужним, і повинен був обслуговувати близько ста користувачів. Томпсон і Рітчі вирішилили, що їм не вистачає контролю над космічним кораблем для того, щоб уникати зіткнень з деякими каменями. Тому вони вирішили перенести гру на вільний PDP-7, що стоїть в офісі. Проте цей комп’ютер не мав операційної системи, що змусило їх її написати. Врешті-решт, вони вирішили перенести цю операційну систему ще й на офісний PDP-11, що було дуже важко, оскільки її код був цілком написаний на асемблері. Було винесено пропозицію використати якусь високорівневу портативну мову, щоб можна було легко переносити ОС з одного комп’ютера на іншій. Мова B, яку вони спершу хотіли використати, виявилася позбавленою функціональності, здатної використовувати нові можливості PDP-11. Тому вони і зупинилися на розробці мови С.

С — мінімалістична мова програмування. Серед її головних цілей:  можливість прямолінійної реалізації компіляції,  використовуючиС — мінімалістична мова програмування. Серед її головних цілей: можливість прямолінійної реалізації компіляції, використовуючи відносно простий компілятор , забезпечити низькорівневий доступ до оперативної пам’яті , формувати лише декілька інструкцій машинної мови для кожного елементу мови, і не вимагати обширної динамічної підтримки. У результаті, код С придатний для більшості системного програмного забезпечення , яке традиційно писалося асемблером. Незважаючи на її низькорівневі можливості, мова проектувалася для машинно-незалежного програмування. Сумісна зі стандартами та машинно-незалежно написана мовою C програма, може легко компілюватися на великій кількості апаратних платформ та операційних систем з мінімальними змінами. Мова стала доступною для великої кількості платформ, від вбудованих мікроконтролерів до суперкомп’ютерів. Філософія

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

Мінімалізм Мова С проектувалась з розрахунком на те, щоб використовуватись у системному програмуванні. Отже, вона неМінімалізм Мова С проектувалась з розрахунком на те, щоб використовуватись у системному програмуванні. Отже, вона не вимагає додаткового часу на виконання перевірок різноманітних умов, які ніколи не відбудуться у правильно написаній програмі, а забезпечує простий, прямий доступ до адреси будь якого об’єкта (наприклад, карти пам’яті, пристрою контролю регістрів), і вираження її джерельного коду може бути переведене у вигляд простої, примітивної машинної операції. Б’ярн Страуструп якось написав про неї: «С робить так, щоб вам було легко вистрілити собі в ногу» Іншими словами, С дозволяє здійснення низки операцій, котрі часто є не бажаними, а тому чимало помилок у коді не виявляється компілятором, і не можуть бути очевидними під час виконання. Якщо під час програмування та підтримки програмного забезпечення не дотримуватись низки суворих правил, пізніше може виникнути немало проблем зі швидкодією, стабільністю та безпекою програмного забезпечення. (Хоча, виною подібних проблем найчастіше є програмісти, оскільки, С сама по собі забезпечує низький рівень захисту). З часом було розроблено багато утиліт для додаткових перевірок коду на наявність помилок перед компіляцією та під час його роботи. Ніщо не заважає компілятору здійснювати додаткові перевірки коду, не передбачені специфікацією мови, однак, для деякого системного програмного забезпечення вони є неприпустимими, оскільки, зменшують швидкість виконання коду. У відповідь на критику мови C, як сильно типізованої мови, Керніґан та Рітчі, послались на основу філософії дизайну C: «Тим не менш, C зберігає основний принцип, який передбачає, що програмісти добре знають, що вони роблять, і вимагає лише, щоб вони чітко давали компіляторові знати про свої наміри» . Братко Ю. 1 П-