Матеріали для Нової української школи 1 клас - планування, розробки уроків, дидактичні та методичні матеріали, підручники та зошити

ОБРОБКА І ПЕРЕДАЧА ІНФОРМАЦІЇ. СУЧАСНІ КОМП'ЮТЕРНІ ТЕХНОЛОГІЇ - Золота колекція рефератів - 2018

РОЗВИТОК МОВ ПРОГРАМУВАННЯ

Асемблер

Мова асемблера — це символічне представлення машинної мови. Вона полегшує процес програмування в порівнянні із програмуванням у машинних кодах.

Програмістові не обов’язково вживати реальні адреси комірок пам’яті з розміщеними в них даними, що беруть участь в операції, і обчислюваними результатами, а також адреси тих команд, до яких програма не звертається.

Деякі завдання, наприклад, обмін з нестандартними пристроями обробки даних складних структур, неможливо розв’язати за допомогою мов програмування високого рівня. Це до снаги асемблеру.

У принципі, мова асемблер є машинною мовою. І програміст, який реалізує будь-яке завдання мовами високого рівня, за допомогою асемблера може визначити, чи осмисленим є розв’язання цього завдання з погляду використання ЕОМ.

Уміння розібратися в роздруківці мови асемблера дає можливість полегшити пошук помилок у програмах, тому що деякі мови є компіляторами.

Лісп

Одна з найстаріших мов програмування Фортран була створена в 50-х рр. минулого століття. Фортран і подібні їй мови програмування (Алгол, ПЛ/1) призначалися для розв’язання обчислювальних задач з математики, фізики, в галузі інженерних розрахунків, з економіки тощо. Ці мови в основному працюють із числами.

Друга найстарша мова програмування — Лісп (List Information Symbol Processing) була створена Дж. Маккарті 1962 р. скоріше для роботи з рядками символів, ніж для роботи з числами. Це особливе призначення Ліспа відкрило для програмістів нову галузь діяльності, відому нині як штучний інтелект. Сьогодні Лісп успішно застосовується в експертних системах, системах аналітичних обчислень тощо.

Простора сфера можливого застосування Ліспа викликала появу безлічі різних діалектів Ліспа. Це легко пояснити: застосування Ліспа для розуміння природної мови

вимагає певного набору базисних функцій, відмінних, наприклад, від використовуваних у завданнях медичної діагностики.

Існування безлічі різних діалектів Ліспа призвело до створення на початку 80-х рр. Common LISP Комітету, що повинен був вибрати найбільш підходящий діалект Ліспа й запропонувати його як основний. Цей діалект, обраний Комітетом 1985 р.,одержав назву Common LISP. Надалі він був прийнятий в університетах США, а також багатьма розроблювачами систем штучного інтелекту як основний діалект мови Лісп.

Мова програмування Лісп істотно відрізняється від інших мов програмування, таких як Паскаль, Сі й т. п. Робота з символами й робота з числами як з основними елементами вимагає різних способів мислення.

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

Професор Массачусетського технологічного інституту Дж. Самман зауважив, що математична ясність і гранична чіткість Ліспа — це ще не все. Головне — Лісп дозволяє сформулювати й запам’ятати «ідіоми», найбільш характерні для проектів зі штучного інтелекту.

Фортран

Одним з перших і найудаліших компіляторів стала мова Фортран, розроблена фірмою IBM. Професор Дж. Букс і група американських фахівців у галузі програмування 1954 р. опублікували перше повідомлення про мову. Дослівна назва мови FORmulae TRANslation — «Перетворення формул ».

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

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

Модифікація мови Фортран, що з'явилася 1958 р., одержала назву Фортран II і містила поняття підпрограми й загальних змінних для забезпечення зв’язку між сегментами.

До 1962 р. належить поява мови, яка відома за назвою Фортран IV і стала найуживанішою у цей час. До цього ж часу належить також початок діяльності комісії при Американській асоціації стандартів (ASA), що виробила до 1966 р. два стандарти — Фортран і базисний (основний) Фортран (Basic FORTRAN). Ці мови приблизно відповідають модифікаціям IV і II, однак базисний Фортран є підмножиною Фортрану, у той час як Фортран II таким для Фортрану IV не є. Мова Фортран дотепер продовжує розвиватися й удосконалюватися, впливаючи на створення й розвиток інших мов. Наприклад, Фортран закладений в основу Basic — діалогової мови, дуже популярної для розв’язання невеликих завдань, чудової мови для навчання навичкам використання алгоритмічних мов у практиці програмування. Розроблено цю мову — Beginner’s Allpurpose Symbolic Instruction Code — групою співробітників Обчислювального центру Дартмутського коледжу, штат Нью-Хемпшир, 1964 р. Але це вже наступна мова.

Бейсик

Як знамениті гамбургери, бейсбол і баскетбол, Бейсик - це продукт Нової Англії, мова навчання програмуванню Бейсик є загальноприйнятим акронімом від Beginner’s All-purpose Symbolic InstructionCode (BASIC) — багатоцільовий символічний навчальний код для початківців.

Незабаром як ті, кого навчають, так і автори програм виявили, що Бейсик може робити практично все те, що робить нудний незграбний Фортран. А оскільки Бейсику було легко навчитися й легко з ним працювати, програми на ньому писалися зазвичай швидше, ніж на Фортрані Бейсик був також доступний для персональних комп’ютерів (зазвичай він убудований у ПЗП). Так Бейсик завоював популярність. Цікаво, що створений 40 років тому Бейсик і сьогодні є найпростішою для освоєння з десятків мов загальноцільового програмування, наявних у розпорядженні аматорів програмування. Більше того, він прекрасно справляється з роботою.

Незважаючи на висловлення снобів — прихильників мов Сі й Паскаля, Бейсик уважається діловою мовою, забезпеченою потужними засобами розв’язання специфічних завдань, які зазвичай більшість користувачів розв’язують за допомогою і невеликих комп'ютерів, а саме: працюючи з файлами й виводячи текстове й графічне зображення на екрані дисплея.

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

Історично Бейсик зазвичай реалізувався як інтерпретатор (знайомим ізомером є сам інтерпретаторний Бейсик). Причинами переходу від аматорського рівня до професійного є численні розширення класичної версії мови: можливість відключення нумерації рядків, багаторядкові структуровапі програмні конструкції, структури типу «запис», іменовані підпрограми з параметрами й локальні змінні.

Більше того, з появою транслятора QuickBasic фірми Microsoft розроблювані одержали можливість будувати на Бейсику додатки з роздільно відкомпільованих модулів, деякі з яких можуть бути написані іншими мовами. Тепер, як і у випадку інших провідних мов програмування, розроблювач має вибір з декількох промислових бібліотек підпрограм, які містять готові рішення для розповсюджених завдань програмування.

Рефал

Безсумнівно, треба розповісти й про деякі мови програмування, створені в СНД. Однією з таких мов є Рефал, розроблений в Росії (СРСР) 1966 р. ІПМАН СРСР. Ця мова проста й зручна для опису маніпуляцій над довільними текстовими об’єктами.

Рефал широко застосовується при розробці трансляторів з алгоритмічних мов, як універсальних і проблемно-оріентоваиих, так і автокодів. Крім використання в завданнях трансляції, Рефал має такі важливі сфери застосування, як машинне виконання громіздких аналітичних викладень у теоретичній фізиці й прикладній математиці; проектування «розумних» інформаційних систем, що здійснюють нетривіальну логічну обробку інформації; машинний доказ теорем; моделювання цілеспрямованого поводження; розробка діалогових навчальних систем; дослідження в галузі штучного інтелекту тощо.

Програмування на Рефалі має специфіку, пов’язану, насамперед , з тим, що Рефал є мовою функціонального типу, на відміну від звичайних операторних мов типу Алгол, Фортран і т. д. Якщо програма на операторпих мовах — не що інше, як сукупність наказів-операторів, то програма на Рефалі являє собою по суті опис зв’язків і відношень між певними поняттями.

Унаслідок того що в Рефалі програміст сам визначає структуру оброблюваної інформації, ефективність програми істотно залежить від удалого або невдалого вибору цієї структури. Для завдання структур у Рефалі використовуються дужки, а специфіка всіх реалізацій мови така, що використання дужок різко підвищує ефективність виконання програми. Це досягається за допомогою адресного з’єднання дужок.

Певною специфікою характеризуються також змінні типи «виразу» — мається па увазі їхня здатність подовжуватися при ототожненні. Правильне використання змінних цього типу також дозволяє значно підвищити ефективність Рефал-програми.

Пролог і Пролог++

Пролог — це мова, призначена для пошуку розв’язань. Це декларативна мова, тобто формальна постановка завдання може бути використана для його розв’язання. Пролог визначає логічні відношення в завданні як відмінні від покрокового розв'язання цього завдання.

Центральною частиною Прологу є засоби логічного виводу, які розв’язують запити, використовуючи задану безліч фактів і правил, до яких звертаються як до тверджень. Пролог також не має розподілу змінних на типи й може динамічно додавати правила й факти до засобів виводу. Таким чином, це гнучка мова, і вона більше придатна для об’єктно-орієнтованого розширення, ніж мова з чітко заданими типами, наприклад, Паскаль. Пролог++ являє собою доповнення до стандартного Прологу.

Усі властивості мови, як і раніше, доступні програмістам. Отже, Пролог++ можна віднести до групи гібридних мов, представниками якої вважаються Object Pascal і C++. Розширення Пролог++ підтримує всі властивості об’єктно-орієнтованих мов: концепції об’єктів і класів, одиничне й багаторазове спадкування, розбивання на підкласи й передача повідомлень. Підтримуються також деякі вдосконалені властивості, що існують у таких мовах, як C++ і Smalltalk, включаючи загальні й часткові методи.

Цікавою властивістю є підтримка в мові програмування з управлінням даними. Ця техніка, яку можна ще назвати програмуванням, що «керує подіями», використовується в більшості мов об’єктно-орієнтованого програмування,особливо в тих,які розроблені для машин з інтерфейсом, керованим «мишею».

Об’єктно-орієнтована програма реагує на події, які визначають потік управління. У Пролозі++ програмування з управлінням даними досягається за допомогою концепції демонів. Демон являє собою об’єкт, методи якого викликаються у випадку певних подій і можуть бути в такий спосіб використані для підтримки програмування з управлінням даними.

Сама мова грунтується на концепції передачі повідомлень. Програма на Пролозі++ будується навколо безлічі об’єктів, які обмінюються повідомленнями. У цьому плані Пролог++ ближче до чистої об’єктно-орієнтованої мови, такої як Smalltalk, ніж C++ або Object Pascal. Визначення об'єктів будуються, виходячи з викликів Open_Object [ім’я_об’єкта] і Close_Object [ім’я_об’єкта], а методи визначаються практично так само, як в інших об'єктно-орієнтованих мовах. Для завдання спадкування можна явно вказати, який метод якого об’єкта повинен успадковуватися, що є необхідним для багаторазового спадкування.

Лекс

Лекс — генератор програм лексичного аналізу. Лексичний аналіз — це розпізнавання лексем у вхідному потоці символів. Припустимо, що задано певну обмежену множину слів (лексем) у деякій мові й деяке вхідне слово. Необхідно встановити, який елемент множини (якщо він існує) збігається з ним вхідним словом. Зазвичай лексичний аналіз виконується так званим лексичним аналізатором. Лексичний аналізатор — це програма. Лексичний аналіз застосовується в багатьох випадках, наприклад, для побудови пакетного редактора або як розпізнавай директив у діалоговій програмі тощо. Однак найважливіше застосування лексичного аналізатора — не використання його в компіляторі. Тут лексичний аналізатор виконує функцію програми введення даних.

Лексичний аналізатор виконує першу стадію компіляції — читає рядки програми, що компілюється, виділяє лексеми й передає їх на подальші стадії компіляції (граматичний розбір, кодогенерацію тощо).

Лексичний аналізатор розпізнає тип кожної лексеми й відповідним чином позначає її. Наприклад, при компіляції Сі-програми можуть бути виділені такі типи лексем: число, ідентифікатор, оператор, обмежник і т. д.

Лексичний аналізатор повинен не тільки виділити лексему, але й виконати деякі перетворення. Наприклад, якщо лексема — число, то його необхідно перевести у внутрішню (двійкову) форму запису як число із плаваючою або фіксованою комою. А якщо лексема — ідентифікатор, то його необхідно розмістити в таблиці, щоб надалі звертатися до нього не на ім’я, а за адресою в таблиці.

Хоча лексичний аналіз за своєю ідеєю простий, проте ця фаза роботи компілятора часто займає більше часу, ніж будь-яка інша. Частково це відбувається через необхідність переглядати й аналізувати вихідний текст символ за символом. Іноді навіть буває необхідно повернути прочитаний символ у вхідний потік для того, щоб повторити перегляд і аналіз.

Сі

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

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

Особливості мови Сі

Мова Сі має свої істотні особливості. Перерахуємо деякі з них:

1. Сі забезпечує повний набір операторів структурного програмування і пропонує надзвичайно великий набір операцій. Багато операцій Сі відповідають машинним командам і тому допускають пряму трансляцію в машинний код. Розмаїтість операцій дозволяє вибирати їхні різні набори для мінімізації результуючого коду.

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

3. У своєму складі Сі містить препроцесор, що обробляє текстові файли перед компіляцією. Серед найкорисніших можливостей при написанні програм на Сі можна назвати визначення програмних констант, заміну викликів функцій аналогічними, але швидшими макросами, умовну компіляцію. Препроцесор не обмежений процесуванням тільки вихідних текстових файлів Сі, він може бути використаний для будь-якого текстового файлу.

4. Сі — гнучка мова, що дозволяє приймати в конкретних ситуаціях найрізноманітніші рішення. Проте, Сі накладає незначні обмеження в таких, наприклад, діях, як перетворення типів. У багатьох випадках це є перевагою, однак програмісти повинні добре знати мову, щоб розуміти, як будуть виконуватися їхні програми.

Недоліки мови Сі

У мові Сі присутня також безліч недоліків, адже від них не захищений жоден проект, у тому числі проект розробки й виконання програм мовою Сі.

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

Сі++

Безумовно, Сі++ походить, переважно, від Сі. Сі збережена як підмножина, тому зробленого в Сі акценту на засобах низького рівня досить, щоб справлятися з найбільш насущними завданнями системного програмування. Сі, у свою чергу, багато чим зобов’язана своєму попередникові BCPL.

Назва Сі++ виникла влітку 1983 р. Більш ранні версії мови використовувалися, починаючи з 1980-го, і були відомі як «Сі з Класами». Мова була створена тому, що автор хотів розробити подієво керовані моделі (для чого був би ідеальний Simula67, якщо не брати до уваги ефективність). «Сі з Класами» використовувався для великих проектів моделювання, в яких суворо тестувалися можливості написання програм, що вимагають тільки мінімального простору пам’яті й часу на виконання. У «Сі з Класами» не вистачало перевантаження операцій, посилань, віртуальних функцій і багатьох деталей. Сі++ був уперше введений за межами дослідницької групи в липні 1983 р. Однак тоді багато особливостей Сі++ були ще не придумані.

Назву Сі++ придумав Рік Массітті. Назва вказує па еволюційну природу переходу до нього від Сі. «++» — це операція збільшення в Сі. Трохи коротше ім’я Сі+ є синтаксичною помилкою, крім того, воно вже було використане як ім’я зовсім іншої мови. Знавці семантики Сі вважають, що Сі+ гірше, ніж Сі ++. Назву D мова не одержала, оскільки вона є розширенням Сі й у ній не робиться спроб позбутися проблем шляхом відкидання різних особливостей.

Сі++ — це універсальна мова програмування, задумана так, щоб зробити програмування приємнішим для серйозного програміста. За винятком другорядних деталей, Сі++ є надмножиною мови програмування Сі. Крім можливостей, які дає Сі, Сі++ надає гнучкі й ефективні засоби визначення нових типів. Використовуючи визначення нових типів, що точно відповідають концепціям додатка, програміст може розділяти розроблювальну програму на легко контрольовані частини. Такий метод побудови програм часто називають абстракцією даних. Інформація про типи міститься в деяких об’єктах типі в, визначених користувачем. Такі об’єкти прості й надійні у використанні в тих ситуаціях, коли їхній тип не можна встановити на стадії компіляції. Програмування із застосуванням таких об’єктів часто називають об’єктно-орієнтованим. При правильному використанні цей метод лає коротші, зрозуміліші, простіше Й легше контрольовані програми.

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

Як базова мова для Сі++ була обрана Сі, тому що вона:

— багатоцільова, лаконічна і порівняно низького рівня;

— відповідає більшості завдань системного програмування;

— придатна у середовищі програмування UNIX.

У Сі є свої складності. Найголовніше, робота з Сі дозволила «Сі з Класами» бути корисним (правда, незручним) інструментом у процесі перших місяців роздумів про додавання до Сі Simula-подібних класів.

Сі++ почала використовуватися ширше, і в міру того як можливості, надавані нею, ставали дедалі-істотнішими, знову й знову піднімалося питання про те, чи зберігати сумісність із Сі. Ясно, що, відмовившись від певної частини спадщини Сі, можна було б уникнути ряду проблем. Це не було зроблено, тому що:

— є мільйони рядків на Сі, які могли б принести користь у Си++ за умови, що їх не потрібно було б повністю переписувати з Сі на Сі++;

— є сотні тисяч рядків бібліотечних функцій і сервісних програм, написаних на Сі, які можна було б використовувати з або на Сі++ за умови, що Сі++ повністю сумісна з Сі щодо завантаження й синтаксично дуже схожа на неї;

— є десятки тисяч програмістів, які знають Сі і яким потрібно тільки навчитися використовувати нові особливості Сі++, а не заново вивчати її основи;

— оскільки Сі++ і Сі використовуватимуться на тих самих системах тими самими людьми, відмінності повинні бути або дуже великими, або дуже маленькими, щоб звести до мінімуму помилки й непорозуміння.

Пізніше була проведена перевірка визначення Сі++, щоб упевнитися в тому, що будь-яка конструкція, припустима в Сі і в Сі++, дійсно означає в обох мовах те ж саме.

Сі++ була розвинена з мови програмування Сі й далеко не у всіх винятках зберігає Сі як підмножину. Базова мова Сі, підмножина Сі++, спроектована так, що існує дуже близька відповідність між її типами, операціями, операторами й комп’ютерними об’єктами, з якими безпосередньо доводиться мати справу: числами, символами й адресами. За винятком операцій вільної пам’яті new і delete, окремі вирази й оператори Сі++ зазвичай не потребують прихованої підтримки під час виконання або в підпрограмах.

Одним з початкових призначень Сі було застосування її замість програмування на асемблері в найбільш насущних завданнях системного програмування. Коли проектувалася СІ++, були вжиті заходи, щоб не ставити під загрозу успіхи в цій галузі. Розходження між Сі й Сі++ полягає насамперед в ступені уваги, що приділяється типам і структурам. Сі виразна і поблажлива. Сі++ ще більш виразна, але щоб досягти цієї виразності, програміст повинен приділити більше уваги типам об’єктів. Коли відомі типи об’єктів, компілятор може правильно обробляти вирази, тоді як у протилежному випадку програмістові довелося б задавати дії з болісними подробицями. Знання типів об’єктів також дозволяє компіляторові виявляти помилки, які в протилежному випадку залишилися б до тестування. Зауважте, що використання системи типів для того, щоб одержати перевірку параметрів функцій, захистити дані від випадкового перекручування, задати нові операції тощо, саме по собі не збільшує витрат за часом виконання й пам'яті.

Особлива увага, приділена при розробці Сі++ структурі, позначилася на зростанні масштабу програм, написаних із часів розробки Сі. Маленьку програму (менше 1000 рядків) ви можете змусити працювати навіть порушуючи всі правила гарного стилю. Для програм більших розмірів це не зовсім так. Якщо програма в 10 000 рядків має погану структуру, то ви виявите, що нові помилки з'являються так само швидко, як видаляються старі. Сі++ була розроблена так, щоб дати можливість розумно структурувати великі програми таким чином, щоб для однієї людини не було непомірним завданням справлятися з програмами в 25 000 рядків. Існують програми набагато більших розмірів, однак ті, які працюють, загалом, як виявляється, складаються з великого числа майже незалежних частин, розмір кожної з яких є набагато меншим за указані межі.

Природно, складність написання й підтримки програми залежить від складності розробки, а не просто від кількості рядків тексту програми, тому точні цифри, за допомогою яких були виражені попередні міркування, не слід сприймати як незмінні.

Зауваження щодо проекту мови Сі++

Істотним критерієм при розробці мови була простота. Там, де виникав вибір між спрощенням посібника з мови й іншої документації й спрощенням компілятора, вибиралося перше. Величезна увага також приділялася сумісності з Сі, що перешкодило видалити синтаксис Сі.

У Сі++ немає типів даних високого рівня й немає первинних операцій високого рівня. У ній немає, наприклад, матричного типу з операцією звертання або типу рядків з операцією конкатенації. Якщо користувачеві знадобляться подібні типи, їх можна визначити в самій мові. По суті, основне, чим займається програмування на Сі++, — це визначення універсальних і спеціально-прикладних типів. Добре розроблений тип, визначений користувачем, відрізняється від убудованого типу тільки способом визначення, але не способом використання.

Виключалися ті риси, які могли б спричинити додаткові витрати пам’яті або часу виконання. Наприклад, думки про те, щоб зробити необхідним зберігання в кожному об’єкті «господарської» інформації, були відкинуті. Якщо користувач описує структуру, що складається із двох 16-бітових величин, то структура поміститься в 32-бітовий регістр.

Сі++ проектувалася для використання в досить традиційному середовищі компіляції й виконання, середовищі програмування на Сі в системі UNIX. Засоби обробки особливих ситуацій і паралельного програмування, що вимагають нетривіального завантаження й підтримки в процесі виконання, не були включені до Сі++. Унаслідок цього реалізація Сі++ дуже легко переноситься. Однак є повні підстави використовувати Сі++ у середовищі, де є набагато істотніша підтримка. Такі засоби, як динамічне завантаження, покрокова трансляція й база даних визначень типів можуть із користю застосовуватися без впливу на мову.









загрузка...

Віртуальна читальня освітніх матеріалів для студентів, вчителів, учнів та батьків.

Наш сайт не претендує на авторство розміщених матеріалів. Ми тільки конвертуємо у зручний формат матеріали з мережі Інтернет які знаходяться у відкритому доступі та надіслані нашими відвідувачами. Якщо ви являєтесь володарем авторського права на будь-який розміщений у нас матеріал і маєте намір видалити його зверніться для узгодження до адміністратора сайту.

Дозволяється копіювати матеріали з обов'язковим гіпертекстовим посилання на сайт, будьте вдячними ми затратили багато зусиль щоб привести інформацію у зручний вигляд.

© 2008-2019 Всі права на дизайн сайту належать С.Є.А.