ФСПО МГАПІ
Реферат з інформаційних технологіям
В«C + +В»
Виконав: студент групи ВМ
Zabot
Перевірив: викладач
Корольов Н. А.
Москва 2003
Зміст
Чому C + + ................................................................................... 1
Виникнення і еволюція мови C + + ........................................... 1
Зауваження по проекту мови .......................................................... 3
Порівняння мов С + + і С ............................................................ 4
Ефективність і структура .......................................................... 6
КОРОТКИЙ ОГЛЯД С + + ..................................................................... 8
ПАРАДИГМИ ПРОГРАМУВАННЯ: ..................................... 9
Процедурне програмування ................................... 9
Модульне програмування ..................................... 9
Абстракція даних ...................................................... 10
Об'єктно-орієнтоване програмування ........... 11
Покращений С (підтримка процедурного і модульного програмування) ............................................................. 13
Підтримка абстракції даних ............................................. 14
Підтримка об'єктно-орієнтованого програмування 14
Межі досконалості ................................................................ 15
Висновок .................................................................................. 16
Чому C + +
С + + в даний час вважається панівним мовою, використовуваним для розробки комерційних програмних продуктів. В останні роки це панування злегка затряслося внаслідок аналогічних претензій з боку такої мови програмування, як Java, але маятник громадської думки хитнувся в інший сторону, і багато програмісти, які кинули С + + заради Jаvа, останнім часом поспішили повернутися до своєї колишньої прихильності. У будь-якому випадку ці дві мови настільки схожі, що, вивчити один з них, ви автоматично освоюєте 90% іншого.
С # - це нова мова, розроблений Мiсгоsоft для мережевий платформи. По суті С # є різновидом С + +, і незважаючи на ряд принципових відмінностей, мови С # і С + + збігаються приблизно на 90%. Ймовірно, пройде чимало часу, перш ніж мову С # складе серйозну конкуренцію мови С + +; але навіть якщо це і станеться, то знання мови С + + виявиться істотною перевагою.
С + + є мовою програмування загального призначення. Природна для нього область застосування - системне програмування, що розуміється в широкому сенсі цього слова. Крім того, С + + успішно використовується в багатьох областях додатки, що далеко виходять за зазначені рамки. Реалізації С + + тепер є на всіх машинах, починаючи з самих скромних мікрокомп'ютерів - до найбільших супер-ЕОМ, і практично для всіх операційних систем.
Виникнення і еволюція мови C + +
Бьерн Страуструп є розробником мови С + + і творцем першого транслятора. Він - співробітник науково-дослідного обчислювального центру AT & T Bell Laboratories в Мюррей Хілл (Нью-Джерсі, США). Він здобув звання магістра математики та обчислювальної техніки в університеті м. Аарус (Данія), а лікарське звання з обчислювальної техніки в Кембриджський університет (Англія). Він спеціалізується в області розподілених систем, операційних систем, моделювання та програмування. Разом з М. А. Елліс він є автором повного керівництва по мові С + + - "Керівництво по С + + з примітками".
Безумовно С + + багатьом зобов'язаний мови С [8], який зберігається як його підмножина. Збережені і всі властиві З засоби низького рівня, призначені для вирішення найбільш нагальних завдань системного програмування. С, в свою чергу, багатьом зобов'язаний своєму попередникові мови BCPL [13]. Коментар мови BCPL був відновлений в С + +. Ще одним джерелом натхнення була мова SIMULA-67 [2,3]; саме з нього була запозичена концепція класів (разом c похідними класами і віртуальними функціями). Можливість в С + + перевантаження операцій і свобода розміщення описів скрізь, де може зустрічатися оператор, нагадують мову Алгол-68 [24].
Більш ранні версії мови, що отримали назву "З з класами "[16], використовувалися, починаючи з 1980 р. Ця мова виникла тому, що автору знадобилося написати програми моделювання, керовані перериваннями. Мова SIMULA-67 ідеально підходить для цього, якщо не враховувати ефективність. Мова "С з класами" використовувався для великих завдань моделювання. Суворій перевірці піддалися тоді можливості написання на ньому програм, для яких критичні ресурси часу і пам'яті. У цій мові бракувало перевантаження операцій, посилань, віртуальних функцій і багатьох інших можливостей. Вперше С + + вийшов за межі дослідницької групи, в якій працював автор, в липні 1983 р., проте тоді багато можливості С + + ще не були розроблені.
Назва С + + (Сі плюс плюс), було придумано Ріком Маскітті влітку 1983 р. Ця назва відображає еволюційний характер змін мови С. Позначення + + відноситься до операції нарощування С. Трохи більш короткий ім'я С + є синтаксичної помилкою. Крім того, воно вже було використано як назва зовсім іншої мови. Знавці семантики С знаходять, що С + + гірше, ніж + + С. Мова не отримав назви D, оскільки він є розширенням С, і в ньому не робиться спроб вирішити будь-які проблеми за рахунок відмови від можливостей С. Ще одну цікаву інтерпретацію назви С + + можна знайти в додатку до [12].
Спочатку С + + був задуманий для того, щоб автору і його друзям не треба було програмувати на асемблері, С або інших сучасних мовах високого рівня. Основне його призначення - спростити і зробити більш приємним процес програмування для окремого програміста. До недавнього часу не було плану розробки С + + на папері. Проектування, реалізація та документування йшли паралельно. Ніколи не існувало "Проекту С + +" або "Комітету з розробки С + +". Тому мова розвивалася і продовжує розвиватися так, щоб подолати всі проблеми, з якими зіткнулися користувачі. Поштовхами до розвитку служать також і обговорення автором усіх проблем з його друзями і колегами.
З моменту виходу в світ першого видання цієї книги мову С + + піддався істотним змінам і уточненням. В основному це стосується дозволу неоднозначності при перевантаженні, зв'язуванні і управлінні пам'яттю. Разом з тим, були внесені незначні зміни з метою збільшити сумісність з мовою С. Були також введені деякі узагальнення й істотні розширення, як то: множинне спадкування, функції-члени зі специфікаціями static і const, захищені члени (protected), шаблони типу та обробка особливих ситуацій. Всі ці розширення та доробки були націлені на те, щоб С + + став мовою, на якій можна створювати та використовувати бібліотеки. Всі зміни описуються в [10,18,20,21 і 23].
Інші розширення, введені за період між 1985 і 1991 р.р. (Такі як множинне спадкування, статичні функції-члени і чисті віртуальні функції), швидше з'явилися в результаті узагальнення досвіду програмування на С + +, ніж були почерпнуті з інших мов.
Зроблені за ці шість років розширення мови насамперед були спрямовані на підвищення виразності С + + як мови абстракції даних і об'єктно-орієнтованого програмування взагалі і як засобу для створення високоякісних бібліотек з користувацькими типами даних зокрема.
Приблизно в 1987 р. стало очевидно, що робота по стандартизації С + + неминуча і що слід негайно приступити до створення основи для неї [22].
Фірма AT & T Bell Laboratories внесла основний внесок в цю роботу. Близько ста представників з близько 20 організацій вивчали й коментували те, що стало сучасної версією довідкового керівництва і вихідними матеріалам...