ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Мова АДА
         

     

    Кибернетика


    Ада серпня Байрон

    (Нар. 10 грудня 1815)

    Навіть громадяни колишнього СРСР вже знають, що 10 грудня - День прав людини, заснований ООН у честь прийняття в 1948 році Загальної декларації прав людини (в радянські часи саме існування цієї декларації замовчувалося). Загальновідомо також, що з 1901 року саме 10 грудня вручаються щорічні Нобелівські премії в пам'ять про їх засновника

    Альфреда Нобеля, померлого в цей день у 1896 році. Але є й ще одна, менш відоме, визначення для цієї дати, що має, однак, саме пряме відношення до роду занять багатьох наших читачів, - 10 грудня названо

    Днем програміста на честь народилася також в цей день перший представниці цій не надто давньої професії Ади Августи Лавлейс, єдиної дочки прославленого англійського поета Джорджа Гордона

    Байрона і його дружини Аннабелле Мілбенк.

    Навіть громадяни колишнього СРСР вже знають, що 10 грудня - День правЗагальновідомо також, що з 1901 року саме 10 грудня вручаються щорічні Нобелівські премії в пам'ять про їх засновника

    Альфреда Нобеля, померлого в цей день у 1896 році. Порившись в календарях, енциклопедіях, довідниках, а також помандрувавши по Інтернету, можна виявити, що 10 грудня 1799 Франція перейшла на метричну систему мір (у чому за нею до сих пір ніяк не можуть піти

    Сполучені Штати Америки ), в 1828 році було засновано Санкт-Петербурзького технологічного інституту, що в цей день народилися російський поет Микола

    Некрасов, американська поетеса Емілі Дікінсон і українська письменниця

    Марко Вовчок, французькі письменник Ежен Сю і композитор Цезар Франк, британський фельдмаршал Харолд Александер, який отримав титул "Туніський", і радянський "державний діяч" недоброї пам'яті Андрій Вишинський, лауреат Нобелівської премії з літератури шведсько-німецька поетеса Неллі

    Закс, клоун Карандаш, хокейний тренер Анатолій Тарасов, диригент Юрій

    Темірканов, літературознавець і філософ Сергій Аверинцев і багато інших. Але є й ще одна, менш відоме, визначення для цієї дати, що має, однак, саме пряме відношення до роду занятьбагатьох наших читачів, - 10 грудня названо Днем програміста на честьнародилася також в цей день перший представниці цієї не дужестародавньої професії Ади Августи Лавлейс, єдиної дочки прославленогоанглійського поета Джорджа Гордона Байрона і його дружини Аннабелле Мілбенк.
    Ада серпня Байрон народилася 10 грудня 1815; її батьки розлучилися,коли дівчинці було два місяці, і більше свого батька вона не бачила. Байронприсвятив дочки кілька зворушливих рядків у "Паломництво Чайльд
    Гарольда ", але при цьому в листі до своєї кузині заздалегідь турбувався:
    "Сподіваюся, що Бог нагородить її чим завгодно, але тільки не поетичнимдаром ... "Ще менше мала намір сприяти розвитку у дочкилітературних нахилів мати, яку в світі за захопленість точниминауками прозвали "принцесою паралелограма". Ада отримала прекраснуосвіта, в тому числі і в галузі математики. До 1834 відноситься їїперше знайомство з видатним математиком і винахідником Чарльзом
    Бебіджем (1791-1871), творцем першої цифрової обчислювальної машини зпрограмним управлінням, названої ним "аналітичної".
    Машина Бебіджа була задумана як чисто механічний пристрій з можливимприводом від парового двигуна, але містила ряд фундаментальних ідей,характерних для сучасних комп'ютерів. У ній передбачалася робота задресами і кодами команд, дані вводилися за допомогою перфокарт. Основипрограмування також були закладені Бебіджем. Незважаючи на майжесорокарічний працю свого творця, машина так і не була добудована,випереджаючи не тільки потреби, а й технічні можливості свогочасу. Багато з ідей Бебіджа просто не могли бути реалізовані на базімеханічних пристроїв і виявилися затребувані тільки через століття, зрозробкою перших електронних обчислювальних машин. Зрозуміло, щосучасники ставилися до робіт Бебіджа як до, принаймні,екстравагантному дивацтва. Дружина відомого англійського математика тогочасу де Моргана, під керівництвом якого Ада серпня вивчаламатематику, так описувала їх перший візит до Бебіджу: "Поки частина гостей удивуючись, дивилась на це дивовижне пристрій з таким почуттям, з яким,кажуть, дикуни вперше бачать дзеркальце або чують постріл з рушниці,міс Байрон, зовсім ще юна, змогла зрозуміти роботу машини і оцінила великагідність винаходи ". Бебідж знайшов у Аде не лише вдячнуслухачку, але й вірного помічника. Він щиро причепився до дівчини,колишньої майже ровесницею його рано померлої дочки.
    У 1835 р. Ада Байрон вийшла заміж за Вільяма, вісімнадцятого лорда Кінга,що став згодом перший графом Лавлейс. (В деяких російськихпублікаціях з титулом сімейства Лавлейс зв'язується слово ловелас; цепомилка: Ловелас - ім'я героя популярного на початку минулого століття роману
    Річардсона "Кларисса Гарлем", що стало загальним для позначеннятяганини, спокусника). Чоловік не мав нічого проти наукових занять подружжяі навіть заохочував її в них. Правда, високо цінуючи її розумові здібності, вінжурився: "Яким відмінним генералом ти могла б стати!" Поява дітейна час відвернуло Аду від занять математикою, але на початку 1841 вона пише
    Бебіджу: "Я сподіваюся, що моя голова може виявитися корисною Вам вреалізації Ваших цілей і планів на протязі найближчих трьох-чотирьох, а можебути, і більше років ".
    На прохання Бебіджа, Ада зайнялася перекладом нарису італійського військовогоінженера Луї Фредеріко Менабреа (в майбутньому професора механіки Туринськогоуніверситету, одного з лідерів боротьби за об'єднання Італії, з 1867 р. --її прем'єр-міністра та міністра закордонних справ). Менабреа в 1840 р., слухаючив Туріні лекції Бебіджа, детально записав їх, і в своєму нарисі вперше давповний опис аналітичної машини Бебіджа і його ідей програмуванняобчислень. Він писав: "Сам процес обчислення здійснюється за допомогоюалгебраїчних формул, записаних на перфорованих картах, аналогічнихтим, що використовуються в ткацьких верстатах Жаккар. Вся розумова роботазводиться до написання формул, придатних для обчислень, виробленихмашиною, і якихось простих вказівок, в якій послідовності ціобчислення повинні проводитися ".

    Леді Лавлейс не просто перевела нарис Менабреа, а й забезпечила його багатьма коментарями, які в сумі майже втричі перевищили обсяг оригінального тексту. Всі коментарі, їх загальна структура і зміст докладно обговорювалися та узгоджувалися з Бебіджем. Відомий своєю нетерпимістю до чужої думки, Бебідж, тим не менше, був у захваті від оригінальних проробленьсвоєї учениці: "Чим більше я читаю Ваші примітки, тим більше дивуюся
    Вашої інтуїції ... Мені не хочеться розлучатися з Вашим чудовимфілософським розглядом моєї аналітичної машини ..."

    Книга Менабреа з коментарями, підписаними ініціалами AAL (Ada
    Augusta Lovelace), вийшла у світ в серпні 1843 року. Віддаючи належне обомавторам, Бебідж писав: "Сукупність цих робіт (Менабреа і Лавлейс)представляє для тих, хто здатен слідувати ходу їх міркувань, наочнудемонстрацію того, що практично будь-які операції математичного аналізуможуть бути виконані за допомогою машини ". При цьому Бебідж так до кінця і непримирився з концепцією Ади, яку згодом Тьюринг іменував шостимпостулатом супротивників ідеї мислячої машини: "Аналітична машина непретендує на те, щоб створювати щось справді нове. Машина можевиконувати лише те, що ми вміємо їй наказати ".
    У коментарях Лавлейс були приведені три перших у світі обчислювальніпрограми, складені нею для машини Беббіджа. Найпростіша з них інайбільш докладно описана - програма рішення системи двох лінійнихалгебраїчних рівнянь з двома невідомими. При розборі цієї програмибуло вперше введено поняття робочих осередків (робочих змінних) івикористана ідея послідовного зміни їх змісту. Від цієї ідеїзалишається один крок до оператора присвоєння - однією з основоположнихоперацій всіх мов програмування, включаючи машинні. Друга програмабула складена для обчислення значень тригонометричної функції збагаторазовим повторенням заданої послідовності обчислювальнихоперацій; для цієї процедури Лавлейс ввела циклу поняття - однієї зфундаментальних конструкцій структурного програмування. У третійпрограми, призначеної для обчислення чисел Бернуллі, були вжевикористані рекурентні вкладені цикли. У своїх коментарях Лавлейсвисловила також прекрасну здогад про те, що обчислювальні операціїможуть виконуватися не тільки з числами, але і з іншими об'єктами, без чогообчислювальні машини так би і залишилися всього лише потужнимишвидкодіючими калькуляторами.
    Після завершення роботи над перекладом і коментарями Ада запропонувала
    Бебіджу, що вона буде консультувати осіб, зацікавлених увикористанні обчислювальних машин, щоб Бебідж не відволікався від основноїроботи з доведення своєї аналітичної машини. Але час для обчислювальнихмашин ще не настав, натовпу користувачів не поспішали отримати консультацію уледі Лавлейс, більше того - в 1842 р. уряд Британії відмовило
    Бебіджу у фінансовій підтримці його розробок. Бебідж був готовий на все,щоб роздобути необхідні гроші. Зокрема, разом з дружинами Лавлейсвін захопився ідеєю створення "справді наукової, математичної" системи ставокна перегонах, яка давала б вірний виграш. Як і слід було очікувати,
    "система" не спрацювала та принесла не тільки розчарування, а й великіфінансові втрати. Самим стійким її прихильником виявилася графиня Лавлейс
    - Вона продовжувала завзято грати, часто навіть потай від чоловіка і Бебіджа,намагаючись удосконалити систему. На цьому вона втратила майже всі своїособисті кошти. До того ж, на початку 50-х років її здоров'я несподівано ірізко погіршився, і в 1852 р. Ада Лавлейс померла у віці 37 років, які її батько, і була похована поряд з ним у родинному склепі Байроном.
    Назва Ади Лавлейс воскресло з небуття в середині 1930-х років у зв'язку зроботами англійського математика Алана Тьюринга, переставив нас поняття логічноїалгоритмічної структури, що отримала назву машини Тьюринга, а такожподальшим створенням перших електронних обчислювальних машин.
    До кінця 1970-х років дослідження, проведені в міністерстві оборони США,виявили відсутність мови програмування високого рівня, який бипідтримував всі основні етапи створення програмного забезпечення.
    Застосування ж інші мови програмування в різних додаткахпризводило до несумісності розроблюваних програм, дублюваннярозробок та іншим небажаним явищам, включаючи зростання вартостіпрограмного забезпечення, багато разів перевищує вартість самоїобчислювальної техніки. Вихід з кризи бачився в розробці єдиних мовипрограмування, середовища для його підтримки та методології застосування. Всі трискладові цього проекту розроблялися дуже ретельно із залученнямнайбільш кваліфікованих фахівців різних країн. У травні 1979переможцем у конкурсі розробки мов був визнаний мову Ада, названий начесть Ади Августи Лавлейс, і запропонований групою під керівництвом француза
    Жана Ішбіа. Прототипом цієї мови з'явився мова програмування, названийна честь Блеза Паскаля, який ще у віці дев'ятнадцяти років, у 1624 р.,розробив проект "Паскаліни" або, по-іншому, "Паскалева колеса" - першамеханічної обчислювальної машини. З появою і широким поширеннямперсональних комп'ютерів мову Ада багато в чому втратив свою значущість, протедо цих пір використовується в якості мови високого рівня для розробки програм,що працюють у реальному масштабі часу.

    Цікаво, що на честь Ади Лавлейс названі в Америці також два невеликих міста - у штатах Алабама і Оклахома. У Оклахомі існує і коледж її імені. Начебто - небагато, але, разом з тим, є люди, які щиро вважають, що на сьогодні, дякуючи (або, принаймні, популярність) Ади Лавлейс затьмарила славу її знаменитого батька, і що її внесок у світову цивілізацію, принаймні , порівняємо з внеском великого поета.
    Ada - універсальна мова програмування, що включає в себе засоби длястворення паралельних програм. Офіційна мова програмуванняміністерства оборони США. Існує безліч компіляторів для самихрізних платформ. Поточна версія: Ada-95
    У справі розробки нових мов програмування багато спір-них моментів,прикладом яких може служити ADA - новітнє програмне забезпечення,розроблене Міністерством оборони США і відрізняється надзвичайновеликими можливостями. Мова програмування ADA, як відомо, буврозроблений з метою заміни застарілих і все менш використовуваних мов, такихяк COBOL і FORTRAN. Труднощі полягають в тому, що цикл заміни одногомови програмування іншим охоплює період часу від 20 до 30 років іне починається до тих пір, поки ми не переконаємося на ділі, що нинііснуючі мови більше не відповідають нашим вимогам-ям. Ми можемоприскорити цей процес, почавши негайну заміну застарілих мов мовою
    ADA. При цьому, коли ми прийдемо до висновку, що ADA вже застарів, заміна нанього лише тільки встигне завершитися. У нового покоління розробниківмов програмування з'явилася тенденція називати розроблені нимимови іменами реальних людей, а не вдаватися до звичайних акронімом. Так мова
    PASCAL отримав найменування на честь першого творця лічильних машин, а мова
    ADA названий на честь першого програміста. ADA

    Мова ADA названий на честь Августи Ади Байрон (Augusta Ada Byron),використовувався практично виключно Міністерством оборони та іншимиурядовими органами США. Експерти відносили ADA до посередніммов, оскільки він складний для вивчення (уряд не завждикерувався логікою). Дана мова був прийнятий стандартом уурядових органах США і був затверджений Міністерством оборони в 1979році.

    Різновиди: Atree ADA, Janus ADA, Meridian ADA.


    У справі розробки нових багато мов програмування спор -них моментів, прикладом яких може служити ADA - новітнєпрограмне забезпечення, розроблене Міністерством оборони
    США і відрізняється надзвичайно великими можливостями. Мовапрограмування ADA, як відомо, був розроблений з метоюзаміни застарілих і все менш використовуваних мов, таких як
    COBOL і FORTRAN.

    Труднощі полягають в тому, що цикл заміни однієї мовипрограмування іншим охоплює період часу від 20 до 30років і не починається до тих пір, поки ми не переконаємося на ділі,що нині існуючі мови більше не відповідають нашим вимогам -ям. Ми можемо прискорити цей процес, почавши негайну замінузастарілих мов мовою ADA. При цьому, коли ми прийдемо довисновку, що ADA вже застарів, заміна на нього лише тількивстигне завершитися.

    У нового покоління розробників мов програмуванняз'явилася тенденція називати розроблені ними мови іменамиреальних людей, а не вдаватися до звичайних акронімом. Так мова
    PASCAL отримав найменування на честь першого творця лічильнихмашин, а мова ADA названий на честь першого програміста. Вирішившиназвати свій новий мову на честь якого-небудь людини, мивибрали Чарльза Баббіджа, який помер у бідності, намагаючисьзакінчити створення першої ЕОМ. Нова мова, таким чином,названий на честь першого розробника систем, і його розробкапроводиться, подібно розробкам самого Баббіджа, без визна -ленній фінансової підтримки, що, природно, кількагальмує роботу.

    Мова BABBAGE заснований на елементах мов, які буливідкриті після того, як було завершено створення мови ADA.
    К. А. Р. Хоор у своїй лекції, за яку Асоціація з обчислювальномукотельної техніки в 1980 році присудила йому премію Тьюринга,говорив про два шляхи разработкт програмного забезпечення. Одиншлях полягає в тому, щоб зробити програму настількипростий, що стає цілком очевидно відсутність будь -або недоліків. А інший шлях полягає в тому, щоб зробитипрограму настільки складною, що це виключало б будь-якуможливість будь-яких похибок. Розробники мови BABBAGEобрали третій шлях, тобто створити мову, яка містить тількиявні недоліки. Програми на BABBAGE відрізняються такою низькоюнадійністю, що процедури профілактичного контролю мож?? пропочинати до того, як інтеграція всієї системи буде завершено.
    Це є гарантією постійного зростання попиту на продукціюрозробників на ринку збуту в області обробки даних.

    Як і в мові PASCAL в мові ADA використовується принцип
    "строгої друку" з метою уникнути появи помилок, якіможуть бути результатом змішання різних типів даних.
    Розробники мови BABBAGE виступили на захист принципу
    "надійної друку" з тим, щоб уникнути помилок, що з'являються врезультаті неправильного написання слів у програмі корис -теля. У наступних версіях мови BABBAGE стане можливимзастосування "печатки по сліпому методу", що дозволить задовольниввірить давно назрілі вимоги користувачів.

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

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

    Відомо, що розробка мови програмування проходитьуспішно, якщо вона знаходить фінансову підтримку з бокууряду. Розробка мови COBOL, наприклад, фінансуван -лась урядом, а мови ADA - Міністерством оборони. Післядовгих переговорів Міністерство Охорони здоров'я погодиласянадати фінансову підтримку розробникам мови BABBAGE.

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

    У структурних мовах програмування заборонялася замінаоператорів передачі управління GOTO і багатоходових умовнихпереходів більш простою структурою IF-THEN-ELSE. У мові
    BABBAGE є декілька нових операторів умовного переходу,які виконують роль кінцевих термів в структурі програмикористувача:

    WHAT IF (якщо) використовується в мовах програмування; перехід виконуємо-ється перед перевіркою контрольованого умови;

    OR ELSE (інакше) наявність варіанту, як, наприклад, у фразі "Додати ці два числа, OR ELSE (чи інакше )";

    WHY NOT? (чому ні?) виконує код який слід в байдуже якому порядку;

    WHO ELSE? (хто ще?) використовується для опитування під час операцій введення/виводу;

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

    GOING GOING GONE (йду йду пішов) використовується для запису неструктурних програм; виконує довільний перехід до іншої частини програми користува-ля; виконує роботу 10-ти операторів GOTO.

    Протягом багатьох років у мовах використовувалися оператори FOR
    (протягом), DO UNTIL (виконувати до тих пір, поки що), DO WHILE
    (виконувати в той час, як) та ін для позначення циклу (LOOP).
    Досліджуючи цей напрямок, розробники мови BABBAGE предлогаетнижчезазначені оператори, що позначають цикл програми:

    DON'N DO WHILE NOT (не виконувати незважаючи на) цей цикл не виконується, якщо контрольоване умова не є хибним (або якщо це опівдні в П'ятницю);

    DIDN'T DO (не виконувалося) цикл виконується один раз і припиняє подальше виконання будь-яких циклів;

    CAN'T DO (неможливо робити) виконання циклу не може продовжуватися; < p> WON'T DO (відмова виконувати) центральний процесор призупиняє виконання про-грами, тому що виявляє похибки в коді виконуємо-емого циклу програми; виконання програми може бути відновлено, якщо на пульті буде набрано "May I?"

    ( "Можна мені ?");

    WIGHT DO (можна не виконувати) залежить від того яке рішення буде прийнято центральним процесором; виконання, якщо CPU перебуває в робочому стані; припинення виконання, якщо CPU в стані зупинки, або якщо CPU в стані зупину помилково;

    DO ONTO OTHERS (у всьому, як хочете, щоб чинили з вами, те саме чиніть і ви з іншими) використовується при записі основного циклу систем, робота - чих в режимі поділу часу, з метою використання в цих системах єдиного способу реалізації взаімоотноше-ний між окремими користувачами;

    DO BACH (зобразити Баха) використовується для запису тимчасових циклів для музики, що генерується за допомогою ЕОМ (визначення потрібного ритму).

    У кожному структурному мовою, що відповідає самим останнімвимогам, є оператор CASE для реалізації багатоходовоїрозгалуження. Так в мові ALGOL є опретор CASE з індексацією,а в мові PASCAL оператор з ідентифікацією. Тобто в цих мовахвибір не дуже великий. У мові BABBAGE, навпаки, є цілийряд операторів цього класу:

    JUST IN CASE (на всякмй випадок) призначений для обробки запасних пояснень і вводять в останню хвилину відомостей; дозволяє користувачеві виконувати множення на нуль з метою виправлення, якщо випадково випонено поділ на нуль; дозволяється також виконання зворотного (відновлюючого) дії і після випадкового виполненітя множення;

    BRIFF CASE (випадок короткою запису) призначений для забезпечення стислості програми;

    OPEN AND SHUT CASE (випадок "відкрити і закрити ") при використанні цього оператора ніякого докази правильності не потрібно;

    IN ANY CASE (в будь-якому випадку) цей оператор завжди означає робочий стан;

    HOPELESS CASE (безнадійний випадок) цей оператор завжди означає неробочий стан;

    BASKET CASE (безвихідне становище) оператор дійсно означає безвихідне стан.

    Співробітники, що входять до групи розробки мови BABBAGE,постійно працюють над новими особливостями мови, що будесприяти безперервного росту рівня ефективності даногомови при її використання замовниками. Наприклад, розробникимови BABBAGE в даний час зайняті роботою над оператором
    ALMOST EQUAL SIGN ( "майже з однаковим знаком"), використовуванимдля порівняння двох чисел з плаваючою комою. У роботі над цимновим нюансом вже вдалося подолати значні труднощі.

    Ні одна мова, неважливо яким він є, не може бутивикористаний сам по собі. І для мови BABBAGE зовсімнеобхідна детально разхработанная операційна система. Післядекількох спроб використовувати існуючі системи співробітникигрупи вирішили написати власну "віртуальну" операційнусистему. Будь-якому відомої операційної системи віртуальноїпам'яті. Але співробітники групи з розробки мови BABBAGEзробили спробу знайти дещо інше рішення, зайшовши подалі.
    Нова операційна система має назву операційної системивіртуального часу (VTOS). У той час як системи віртуальноїпам'яті забезпечують віртуальні властивості пам'яті ЕОМ, VTOSвиконує ту ж функцію по відношенню до часу процесора.

    У результаті ЕОМ може одночасно працювати з необмежений -вим кількістю завдань. Подібно системі віртуальної пам'яті,яка фізіческм зберігає частину даних у ЗУ на дисках, VTOSповинна також застосовувати деякі хитрощі для досягнення своєїмети. Хоча користувач впевнений, що всі його завдання виконуютьсяв поточний момент часу, деякі з цих завдань в дію -ності виконуватимуться на наступному тижні.

    Як можна бачити, мова BABBAGE все ще перебуває в стадіїрозробки. Група співробітників по розробці мови BABBAGEмає потребу в пропозиціях фахівців з нових засобів дляцього нового потужного мови програмування. Автор статті,будучи одним із співробітників групи розробки, звертається довсім, хто працює в галузі обробки даних за допомогою ЕОМ,з проханням надати підтримку групі у розробці нової мовипрограмування (будуть прийняті всі пропозиції від всіх осіб,бажаючих взяти участь у роботі групи).

    Короткий вступ в мову Ада

    Eric DeArment, Team Ada

    ejd@efn.org
    Можливо, у вас вже виникло питання: "Навіщо знати і використовувати Аду?". Увідповідь на це питання Я можу навести як мінімум три хороших причини:

    1. Це просто! Я запам'ятав програму типу "Hello World" за кілька хвилин.

    2. Це потужно! Ада була розроблена таким способом, щоб забезпечити всі запити програміста і придатна для вирішення практично будь-яких завдань.

    3. Вона може бути використана як шлюз в більш важкий мова Сі; навіть враховуючи те, що синтаксис Ади дуже різниться з Сі, ці дві мови насправді схожі в багатьох своїх ідеях.
    Передісторія Ади
    У далекому 1957, вчений Джон Бекас (John Backus) працював у той час в IBMрозробив нову мову програмування, з метою полегшити рішенняматематичних та наукових проблем для інженерів, вчених і математиків. Цеймова називання FORTRAN, що є скороченням слів FORmula TRANslation
    (трансляція формул), мав і має величезний успіх; навіть в даний час,через cорок років, він все так само активно використовується у розробці програмі продовжує розвиватися.
    З іншого ж сторону Атлантики, в Європі, кілька вчених, які знали проіснування Фортрану сформували комітет для створення власної мовиздатного замінити його. Через всього лише місяць, в 1958 році, булазавершена розробка нової мови програмування відомого тепер підім'ям ALGOL, що є скороченням від слів ALGOrithmic Language (моваалгоритмів). Услід за цим він був дуже швидко стандартизований.
    Так як існує традиція називати стандарт мови по року в який вінбув створений, то і творці Алгол вирішили від неї не відходити назвавши його
    Алгол 58. Згодом люди з усієї Європи продовжили роботу над Алгол, ічерез два роки з'явився новий покращений варіант - Алгол 60.
    Алгол 60 с'іграл дуже важливу роль в історії декількох мов використовуванихв даний час, до числа яких входить Ада. З Алгол 60 згодомвийшли три сімейства мов:

    1. SIMULA, створений вченими з університету міста Осло в Норвегії.

    2. CPL, створеного Кеном Томпсоном (Ken Thompson) з AT & T Bell

    Laboratories як інструменту для написання ОС MULTICS, яка стала попередницею Unix. CPL також є безпосереднім предком С.

    3. Останнім, що зовсім не означає гіршим, був Паскаль, написаний

    Ніклаус Віртом (Niklaus Wirth) зі Швейцарського Федерального

    Інституту Технологій в Цюріху з метою навчання студентів у коледжі.

    З якого надалі ми і отримали Аду.
    Отже, тепер ми знаємо досить про попередників Ади, тому приступимо добезпосередній історії створення цього прекрасного мови.
    Конкурс
    В 60е-70е роки Міністерство Оборони США (the United States Department of
    Defense) використовувало для своїх потреб більш ніж 2000 різних мовпрограмування (в основному для систем підвищеної надійності). По більшійЗдебільшого це були мови розроблені для виконання якогось конкретногозавдання. В результаті Міністерством Оборони була сформована Робоча
    Група з мовами високого рівня (High-Order Language Working Group
    (HOLWG)), метою якої було знайти рішення створити в той час, такназвано, "кризі програмного забезпечення"
    Члени Робочої Групи постановили, що для виходу з ситуації, що створиласянеобхідне створення мови програмування, за допомогою якого можна будезробити практично все, будь то системне програмування, штучнийінтелект, і, що найбільш важливо, системи працюють у реальному часі івбудовані системи. Системи реального часу це програми використовуютьсядля таких речей як управління світлофорами на дорогах, самонавіднихракет, і сканерів штрих-кодів. Вбудованими ж називаються системи такі якмаленькі комп'ютери встраеваемые в більшість сучасних машин,літаки, і навіть магнітофони.
    Замість того щоб створювати нову мову самим, було вирішено провести конкурс.
    Було створено декілька команд, кожній з них був привласнений свій колір. Завипадковому збігу обставин всі команди створили свої мову використавши
    Паскаль як основи. У результаті перемогла зелена команда - фірма
    Ханейвелл-Бал (Honeywell-Bull) з Франції. Пізніше, мова був названий "Пекла" вчесть леді Ади Августи Лавлейс (Lady Ada Augusta Lovelace), дочкивідомого поета Байрона і асистентки математика Чарльза Байбіджа (Charles
    Babbage), який винайшов Аналітичну Машину. Леді Аду прийнято вважатипершим програмістом.
    У 1979, МО США створило перший чорновий варіант документації по Аде, потіммова була стандартизована в 1983 році. Зараз цей стандарт прийнято називати
    "Ада83", що спочатку він знаходився під повним контролем з боку МО США,і ні хто не міг створити компілятор з мови без авторизації оного з боку
    Міністерства Оборони.
    Проте все змінилося в 1987 році, коли МО США надав Аду впублічне розпорядження, і на мову був створений стандарт Міжнародного
    Інституту по стандартизації (International Standards Organization (ISO)). До
    1990 з'явилося понад 200 перевірених на відповідність стандартукомпіляторів з цієї мови, ще пізніше в 1995 році з'явився новий стандартназваний Ада95. Ада в редакції 95го року стала повністю об'єктно -оріетірованим мовою, а також оснащена дуже зручними засобамивзаємодії з кодом написаним на Сі, Фортране, Кобол та інших мовах.
    Де взяти Аду?
    Швидше за все ви думаєте, що компілятор для такого потужного як Ада мовикоштує дуже і дуже дорого, проте ви помиляєтесь, ви напевно здивуєтеся,але одна з найбільш потужних і популярних компіляторів з Ади95, GNAT (Gnu/Newyork University Ada Translator) не буде коштувати вам ні копійки (завинятком технічної підтримки, але тільки в тому випадку якщо ви захочетеїї мати).
    GNAT можна скачати з FTP-сервера Нью-Йоркського Університетуftp://cs.nyu.edu з каталогу/pub/gnat. У ньому містяться різні версії
    GNAT'а для різних ОС наприклад Unix, включаючи SunOS/Solaris, Linux,
    NetBSD, SGI IRIX, IBM's AIX, DEC's Digital Unix.
    Так само там існують версії GNAT'a для WinNT, Win95, MacOS, і навіть версіядля DOS звана "EZ2Load".
    Підручник
    Отже, Я думаю настав час приступати до цього навчання. Звичайно це незакінчений підручник, це просто короткий вступ, яке покаже вамбазову структуру програми на мові Ада і дасть вам кілька готових докомпіляції прикладів.
    Спершу Я хочу щоб читач дізнався що ж таке Ада. Так само як і їїпредшествіннік Паскаль та її кузен Сі, Ада це структури мови. Іншимисловами, програма на Аде це організована послідовність різнихсекцій, у той час як у неструктурних мовах таких як Бейсік, ви можетеписати що завгодно і де завгодно.
    Також, Аде властива своя власна термінологія, і Я далі будувикористовувати кілька таких слів, із значенням яких ви можливо незнайомі:пакет (package), файл іскодного коду програми в якому зберігаєтьсяпевний набір пов'язаних за змістом команд, які роблять наприкладтакі речі як друк тексту, математичні обчислення, і т.д. Вони в чому -то схожі на заголовки в мові Сі, але не є прямою аналогією.

    (прим перев: вони ближче до модулів в Турбо Паскалі (хоча точніше на оборот,вони злизала з Ади)мінлива (variable), це іменування область пам'яті в якій можезберігається деяке значення, наприклад число, символ або мова.пропозицію або інструкція (statement), команда для виконанняспецифічної дії.
    Усі програми на Аде мають наступну базову структуру: with Імя_Пакета; use Імя_Пакета;

    procedure Імя_Процедури

    Змінна: Некоторий_Тіп_Значеній;

    begin

    Предложеніе_1;

    Предложеніе_2;

    end Імя_Процедури;
    Імя_Процедури часто є і ім'ям програми.

    (прим перев: На відміну від Паскалі тут немає виділеного блоку begin - end,програмою може вважатися будь-яка процедура бібліотечного рівня (тобто невкладення в іншу процедуру/функцію) без параметрів).
    Місце де написано Змінна: Некоторий_Тіп_Значеній є оголошеннямзмінної. Можливо ви запитаєте, а що значить "Некоторий_Тіп_Значеній"?
    Це означає якого типу значення можуть зберігається у змінній. Іншимисловами, якщо ви хочете мати змінну для цілих чисел вам необхіднонаписати Variable: Integer;. Якщо вам потрібні числа з пляавающей комою, то
    Variable: Float; і т.д.
    Крапки з комою використовуються для завершення оголошення змінної або вбільш загальному випадку будь-якої пропозиції програми, дозволяючи вам розмістити наоднієї будівке більш одного оголошення змінної або пропозиції.

    (прим перев: у Паскалі вони поділяють пропозиції, в результаті єкілька винятків з правил! А в результаті обраного підходу в Аді їхрозміщення здійснюється на більш інтуїтивному рівні).
    Інструкція begin починає послідовність цих команд програми.
    Предложеніе_1; і Предложеніе_1; насправді ні чого не значать у Аде; вреальної програмі на їх місці будуть справжні команди, які й будутьвиконувати необхідні нам дії.
    Предлодженіе end Імя_Процедури; завершує послідовність командпрограми. Тепер Я можу сказати вам, що ця маленька "демо" програмкабула потрібна, щоб просто показати вам структуру програми, але тепер миможемо побачити і на справжню робочу програму. За традицією їй буде,можна сказати, класична ;-) програма виводить "Hello World", яказвичайно і використовується при першому знайомстві з новою мовою. with Ada.Text_IO; use Ada.Text_IO;

    procedure Hello_World is

    - А змінні нам тут не потрібні:)

    begin < p> Put ( "Hello world !");

    end Hello_World;
    Пакет "Text_IO" містить безліч функцій для операцій введення/виводу;

    він використовується програмами яким необхідний висновок і отримання тексту.

    (прим перев: як і в Сі з безлічі причин тут немає "вбудованих" операційдля введення/виводу, але є стандартний пакет таких операцій).

    Так само Я мушу зауважити за чим потрібно писати "Ada." перед "Text_IO".
    Оскільки Ада може взаімодествовать з безліччю мов - наприклад виможете пов'язати зі своєю програмою процедури на Сі або Кобол - і можетрапиться так що у вас буде безліч бібліотек з сотнями пакетів, томунеобхідно вказувати звідки їх брати.

    (прим перев: у Аде можна організувати набір пакетів в певнуієрархічну структуру зі взаємними зв'язками між кодом в них. У даномузлучає Text_IO це дочірній пакет від пакета Ada).
    Процедура (і програма в даному випадку) називається "Hello_World."
    Пропозиції "with" і "use" дозволяють використовувати команди з них у нашійпрограмі. Якщо ви хочете запустити цю програму, ви можете зберегти їїпід ім'ям hello_world.ada. Зауваження: якщо ви використовуєте GNAT ви повиннізберегти її як hello_world.adb.
    Оскільки ця програма не робить нічого крім друку декількох слів наекрані, нам не треба було оголошувати ніяких змінних, тому місце вякому це зазвичай робиться залишилося порожнім. Зверніть також увагу наподвійний прочерк (-) перед "А змінні нам тут не потрібні:)". Ціпрочерки говорять компілятору, що цей рядок коментар. Коментар церядок тексту програми яку компілятор проігнорує. Тому якщо вихочете додати рядок "А змінні нам тут не потрібні:)" в програму іпотім запустити її, ви зобов'язані додати перед нею подвійної прочерк, інакшекомпілятор подумає, що ви хотіли використовувати "А змінні нам тут непотрібні:) "як опис змінної, естесственно нічого не зрозуміє і видастьвам повідомлення про помилку. Пропозиція Put ( "Hello world!"); Служитьвласне для друку тексту на екрані.
    Навіть якщо вам здається, що використання дужок ускладнює справу, він

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати !