Prezentatsia_microsoft_office_powerpoint1а.ppt
- Количество слайдов: 6
Б'ярн Страуструп, розробник С++, якось написав про цю мову: «С робить так, щоб вам було легко вистрілити собі в ногу» Іншими словами, С дозволяє здійснення низки операцій, котрі часто є не бажаними, а тому чимало помилок у коді не виявляється компілятором, і не можуть бути очевидними під час виконання. Якщо під час програмування та підтримки програмного забезпечення не дотримуватись низки суворих правил, пізніше може виникнути немало проблем зі швидкодією, стабільністю та безпекою програмного забезпечення. (Хоча, виною подібних проблем найчастіше є програмісти, оскільки, С сама по собі забезпечує низький рівень захисту).
• C — це мова програмування загального призначення, що включає економію представлення, сучасне керування потоком і структурою даних і багатий набір операторів. C не є мовою «дуже високого рівня» , ні «великою» мовою, і не призначена для певної області застосування. Але відсутність в ній обмежень та її загальність роблять її зручнішою і ефективнішою для багатьох завдань, у порівнянні з мовами, що вважаються потужнішими. Початково, C розроблено та втілено на операційній системі Юнікс на DEC PDP-11 Деніса Річі. Операційна система, компілятор C і, по суті, всі програми-додатки Юнікса написано на C. Робочі компілятори існують також і для декількох інших машин, включаючи IBM System/370, Honeywell 6000 та Interdata 8/32. Проте, C не прив'язана до певного обладнання чи системи, і на ній легко писати програми, що працюватимуть без змін на будь-якій машині, яка підтримує C.
C має такі специфічні властивості: • • • змінні можуть бути прихованими у вкладених блоках слабка типізація; наприклад, символи можуть використовуватися, як цілі числа низькорівневий доступ до оперативної пам'яті шляхом перетворення машинних адрес вказівники на функції і дані підтримують динамічний поліморфізм масив індексів як вторинне поняття, визначається у термінах арифметики вказівників стандартизований препроцесор C для макроозначення, включення файлу з джерельним кодом, умовної трансляції, і т. д. комплексна функціональність, як то I/O, маніпуляція рядками, і делегування математичних функцій бібліотекам відносно невелика кількість зарезервованих слів (32 у С 89, і 37 у C 99) Лексичні структури, які нагадують B більше за ALGOL, наприклад: – {. . . } на відміну від ALGOL'івського begin. . . end – знак рівності для призначення (копіювання), як це робиться у мові Fortran – два знаки рівності використовуються для перевірки рівності (подібно до. EQ. у Fortran'і або одного знаку рівності у BASIC) – && та || на відміну від ALGOL'івстких and та or (цим вона семантично відрізняється від бітових операторів & та |. – велика кількість операторів об'єднання, на кшталт +=, ++, ……
Рання розробка • Розробка Сі стала результатом того, що його майбутні автори любили комп'ютерну гру, схожу на популярну гру Asteroids (Астероїди). Вони вже давно грали у неї на головному сервері компанії, який був недостатньо потужним, і повинен був обслуговувати близько ста користувачів. Томпсон і Рітчі вирішилили, що їм не вистачає контролю над космічним кораблем для того, щоб уникати зіткнень з деякими каменями. Тому вони вирішили перенести гру на вільний PDP-7, що стоїть в офісі. Проте цей комп'ютер не мав операційної системи, що змусило їх її написати. Врешті-решт, вони вирішили перенести цю операційну систему ще й на офісний PDP-11, що було дуже важко, оскільки її код був цілком написаний на асемблері. Було винесено пропозицію використати якусь високорівневу портативну мову, щоб можна було легко переносити ОС з одного комп'ютера на іншій. Мова B, яку вони спершу хотіли використати, виявилася позбавленою функціональності, здатної використовувати нові можливості PDP-11. Тому вони і зупинилися на розробці мови С.
С — мінімалістична мова програмування. Серед її головних цілей: можливість прямолінійної реалізації компіляції, використовуючи відносно простий компілятор, забезпечити низькорівневий доступ до оперативної пам'яті, формувати лише декілька інструкцій машинної мови для кожного елементу мови, і не вимагати обширної динамічної підтримки. У результаті, код С придатний для більшості системного програмного забезпечення, яке традиційно писалося асемблером. Філософія Незважаючи на її низькорівневі можливості, мова проектувалася для машинно-незалежного програмування. Сумісна зі стандартами та машинно-незалежно написана мовою C програма, може легко компілюватися на великій кількості апаратних платформ та операційних систем з мінімальними змінами. Мова стала доступною для великої кількості платформ, від вбудованих мікроконтролерів до суперкомп'ютерів
Використання мови С: Одним із наслідків значного поширення та ефективності С є те, що компілятори, бібліотеки та інтерпретатори багатьох інших високорівневих мов програмування реалізуються на С. С використовується, як проміжна мова деякими високорівневими мовами програмування. Це здійснюється одним із двох наступним способів: • Продукується текст програми мовою C паралельно з іншим вихідним кодом: машинним, об'єктним та/або двійковим. • Продукується виключно текст на С. Вихідний текст програми на С передається компілятору С, який видає кінцевий машинний або двійковий код. Це зроблено задля переносимості (компілятори мови С існують майже для усіх платформ) і уникання необхідності розвитку специфічних для машини генераторів команд.
Prezentatsia_microsoft_office_powerpoint1а.ppt