Ця стаття містить правописні, лексичні, граматичні, стилістичні або інші мовні помилки, які треба виправити. (квітень 2020) |
Zonnon — мова програмування загального призначення, створена на основі мови , яка підтримує активні об'єкти, що з'явилися в Active Oberon. У мові введено нову парадигму програмування — . Використовується збирання сміття, є синтаксичні засоби об'єктного програмування, організації паралельних обчислень, перевизначення операторів та обробки виняткових ситуацій. Мову розроблено (Jurg Gutknecht). У сучасній версії компілятора ETH надається можливість розв'язувати задачі лінійної алгебри з синтаксисом, подібним до Matlab. Компілятор мови є першим повністю створеним поза Microsoft і повністю інтегрованим у Visual Studio разом з іншими мовами платформи .NET.
Zonnon | |
---|---|
Парадигма | |
Дата появи | 2000 |
Творці | |
Система типізації | динамічна типізація[d] |
Під впливом від | Паскаль, , Active Oberon |
Історія
Проект виник завдяки участі вчених Швейцарського федерального технологічного інституту (ETH), фахівців з Оберону, в рамках Проекту 7 (Project 7), ініціативи, висунутої в 1999 році підрозділом Microsoft Research з метою вивчення мови на сумісність з платформою .NET (1999—2002) роки. Автор мови — (Jurg Gutknecht), професор ETH, колега Ніклауса Вірта і його співавтор з мови Оберон. Проект Zonnon було розроблено на початку 2000-х років в Цюриху в ETH. Метою проекту було створення мови програмування високого рівня загального призначення з максимально простим і зрозумілим синтаксисом, який би водночас дозволяв розробку програмного забезпечення будь-якої складності.
Проект Zonnon не можна вважати продовженням лінійки мов Паскаль — Модула — Оберон — [en] — [en]. Це, швидше, паралельна гілка, яка відокремилася від згаданої лінійки десь на рівні Модули — Оберона. Безпосереднім предком Zonnon є Active Oberon, розроблений за участі того ж Юрга Гуткнехта. Якщо Ніклаус Вірт при створенні Оберону максимально спростив Модулу-2, вилучивши з неї все, що було визнано не надто необхідним, то творці мови Zonnon пішли більш традиційним шляхом — вони зберегли більшість особливостей Модули-2 і навіть повернули дещо з Паскаля, а також доповнили мову декількома новими поняттями й механізмами.
Zonnon, на думку прихильників цього проекту, є простішим і потужнішим, ніж такі мови як Ada, Java і C#. Він призначений для простого і ефективного програмування паралельних систем з використанням нових багатоядерних процесорів, які мали домінувати в галузі протягом десятиліття.
Особливості
Мова регістро-залежна — різниця в регістрі літер в ідентифікаторах призводить до їх відмінності. Зроблено оригінальний хід — слова вважаються ключовими (зарезервованими) при написанні всіх літер або у верхньому, або в нижньому регістрі. Тобто accept
і ACCEPT
— ключові слова, а ось AcCePt
— просто припустимий ідентифікатор.
У мові 51 ключове слово (записуються або тільки в нижньому або тільки у верхньому регістрі): accept | activity | array | as | await | begin | by | case | const | definition | div | do | else | elsif | end | exception | exit | false | for | if | implementation | implements | import | in | is | launch | loop | mod | module | new | nil | object | of | on | operator | or | procedure | receive | record | refines | repeat | return | self | send | then | to | true | type | until | var | while
З особливостей можна відзначити використання знака #
як символу операції «не дорівнює» (як у Модулі-2), а також наявність операції **
— «піднесення до степеня», — повернутої після багаторічного забуття мови Фортран.
Мова має набір примітивних типів — кілька числових, зокрема беззнакове ціле, кілька дійсних, рядковий тип (стандартні мовні засоби розглядають рядки як незмінювані), символьний, логічний. Від типів-діапазонів відмовилися, але зліченні типи збережено і вони активно застосовуються. Тип-множина (SET
) зберігся, але став менш універсальним — множини тепер можуть складатися тільки з цілих чисел у діапазоні від нуля до деякої верхньої межі, визначеної реалізацією. Примітивні типи й множини можуть використовуватися у програмі з модифікаторами розміру — якщо в описі предмета або об'єкта після назви типу зазначено число у фігурних дужках, воно сприймається як кількість бітів, яку необхідно відвести під значення. Втім, ця можливість (точніше, конкретні значення розміру, допустимі для кожного з типів) є системно-залежною, так що в програмах, які претендують на переносимість, її застосування не рекомендовано.
Масиви описуються так само, як в Обероні — тип-масив може мати необмежений розмір за будь-якого набору розмірностей, при створенні реального масиву його розміри вказуються явно. Індекси масиву можуть бути цілими числами (нижня межа — завжди нуль) або зліченного типу.
Загальна структура програми, модулів, розділення модуля на визначення і реалізацію, правила запису синтаксичних конструкцій запозичено з Модули-2 практично без змін. Підтримується «довга» конструкція умовного оператора IF-THEN-ELSIF-ELSE-END, усі типи циклів, наявні у Модулі: REPEAT-UNTIL, WHILE, FOR, LOOP, конструкція вибору CASE. З Паскаля повернуто в мову стандартні примітивні операції вводу-виводу Write, WriteLn, Read, ReadLn
(які в Модулі-2 було винесено в стандартну бібліотеку).
Додатково до мови внесено:
- Засоби ООП: оголошення класів (використовується ключове слово
object
), методи (описуються цілком всередині опису класу), специфікатори видимості полів і методів private і public, окремий опис ООП-інтерфейсів і можливість явної вказівки реалізації інтерфейсів класом. - Властивості — псевдополя класів з повністю контрольованим доступом.
- Індексатори — можливість опису класів, примірники яких зовні поводяться як масиви.
- Засоби опрацювання винятків.
- Перевизначення операторів і оголошення нових.
- Засоби паралельного програмування: засобами мови можна створити паралельно виконувані фрагменти програми, взаємодія яких відбувається через протоколи — специфічний тип даних, створюваний за допомогою модифікованого РБНФ-опису формат повідомлення, яке буде передаватися.
Основним концептуальним нововведенням Zonnon, порівняно з Модулою й Обероном, стало введення активних об'єктів. У більшості мов програмування об'єкт — це просто набір даних, методів обробки, який використовується програмою в міру необхідності. Активні об'єкти, крім цього, мають власну поведінку, тобто з кожним активним об'єктом пов'язано свій, незалежний потік виконання, який взаємодіє з іншими потоками через мовні засоби обміну, за описаними для них протоколами. У Zonnon з'явилася можливість описувати мовними засобами активні об'єкти і порядок їх взаємодії, що дозволяє при необхідності формувати програму у вигляді набору активних об'єктів, які незалежно працюють і взаємодіють.
Приклад програми
module Example; (*Це - коментар*) var x, y, sum: integer; begin write("Введіть X: "); readln(x); write("Введіть Y: "); readln(y); sum := x + y; (*Обчислюємо суму двох чисел*) writeln("X + Y = ", sum); end Example.
За цією програмою обчислюється сума двох чисел, введених з клавіатури.
Zonnon використовує композиційні моделі успадкування на основі [en]. Як правило, об'єкт (або модуль) складається з кількох функціональних компонентів, кожен з них надає себе клієнтам у формі абстрактного визначення. Ряд визначень, а також власний інтерфейс об'єкта (тобто сукупність всіх усуспільнених елементів об'єкта), являють собою інтерфейс між об'єктом і його клієнтами. Це дозволяє реалізувати переваги модульного і компонентного програмування, а також, що важливо, отримати можливість підтримувати одинарне і множинне успадкування (без недоліків реалізації останнього в С++), поліморфізм, уточнення й агрегування, [en] на рівні сигнатур методів.
Переваги і недоліки
Переваги і недоліки мови Zonnon розглянемо шляхом порівняння з близькими їй мовами.
Порівняно з Паскалем і Модулою-2, Zonnon став значно потужнішим, але при цьому, об'ємнішим і складнішим. Збільшення потужності досягнуто за рахунок включення нових синтаксичних конструкцій. Засоби паралельної обробки (у випадку Zonnon — це не тільки синтаксичні конструкції, а і загальний принцип конструювання програм наборів активних об'єктів) дозволяють перекласти на компілятор типові операції. Збереження модульного принципу програмування дозволяє писати програми відразу, не використовуючи ООП, що важливо в освітніх цілях. Введено нову композиційну модель, але прихильники ООП можуть використовувати і об'єкти. Введено засоби опрацювання винятків. Порівняльна оцінка мов буде залежати від того, наскільки істотними вважати ці дві переваги.
З приводу засобів паралельної обробки є різні думки: частина теоретиків і практиків вважає, що засоби паралельного програмування взагалі не слід вносити в мову, і для них цілком достатньо підтримки системними бібліотеками, інші вказують на те, що такі бібліотеки повинні бути абсолютно стандартними, тобто все одно ставати частиною мови, в іншому випадку програми, що їх використовують, втратять переносимість (з іншого боку, переносимість насправді потрібна не так вже й часто). В будь-якому випадку, для програміста цінність механізмів паралельної обробки Zonnon багато в чому визначається тим, якою мірою він готовий прийняти пропоновану мовою модель активних об'єктів як основний елемент програми.
З приводу механізму обробки винятків єдиної думки немає. Ніклаус Вірт відмовився вносити такий механізм в Оберон, вважаючи його непотрібним, оскільки Оберон-система, для якої розроблена і ця мова, в ньому не має потреби. Взагалі ж існує думка, що більшість проблем з реакцією програм на можливі помилки цілком вирішується і без обробки винятків, а механізм цей не безкоштовний — за можливість перехопити будь-яку помилку, як правило, доводиться платити продуктивністю програми. З іншого боку, обробка винятків зручна і в даний час стала загальноприйнятою, а втрати продуктивності не настільки великі (або вимоги до швидкості не настільки критичні), щоб відмовлятися від зручності розробки.
Решта нововведень Zonnon, зокрема, більш розвинений ООП-синтаксис, інтерфейси, індексатори, властивості, перевизначення операторів, навряд чи слід вважати принциповими. З одного боку, вони ускладнюють мову, а все, що дозволяють робити вони, може бути практично так само легко зроблено і без них. З іншого, не можна не відзначити, що в даному випадку ці засоби реалізовано досить економно. Адже, якщо порівняти Zonnon з Object Pascal, що розвивався приблизно за тією ж схемою — доповнюючи початкову мову новими модними механізмами, можна бачити, що за обсягом можливостей Zonnon перебуває з Object Pascal на одному рівні, обходячи його в засобах паралельної обробки, але все ще залишаючись простішим.
Реалізації
Реалізація мови з самого початку пішла не шляхом створення власного інтегрованого середовища розробки і середовища підтримки, як у випадку з мовою Оберон, а шляхом інтеграції з платформою .NET, випущеною і підтримуваною Microsoft. Такий підхід забезпечив підвищення швидкості реалізації за рахунок відмови від розробки власного середовища та системи бібліотек, а також автоматично дав програмам доступ до прикладних і системних бібліотек середовища .NET. До недоліків цього варіанту реалізації можна віднести залежність розробки від зовнішнього ПЗ, яке знаходиться поза контролем реалізатора мови.
Проте, в межах тієї ж реалізації під .NET, існує варіант кросплатформного середовища розробки, інтегрованого в Eclipse, яке використовує вільну реалізацію Mono середовища .NET, яка може функціювати під Linux.
Для Windows є також найпростіше власне середовище розробки ETH Zonnon Builder, що включає текстовий редактор з підсвічуванням синтаксису, засоби побудови проекту, найпростіші засоби контролю версій.
Перший компілятор створено в ETH для платформи Microsoft .NET Євгеном Зуєвим. У 2005 році було також створено комплекс, що інтегрує до середовища розробки MS Visual Studio .NET, компілятор і CASE-систему, яка підтримує проектування Zonnon-програм шляхом побудови діаграм UML 2.0. Отриманий засіб підтримує стандартний для MS Visual Studio .NET цикл розробки мовою Zonnon з використанням UML, зокрема зворотну побудову UML-опису за кодом проекту.
Посилання
- Zonnon в MS Visual Studio 2008 [ 18 липня 2013 у Wayback Machine.](англ.)
- Введення в методи програмування на основі .NET, з використанням Zonnon [ 24 січня 2012 у Wayback Machine.], НГТУ
- Zonnon Compiler for java [ 30 березня 2018 у Wayback Machine.]
- Зоннон — Паскаль для майбутнього .NET! Інтерв'ю з Ніною Гоновой, магистранткой ННГУ, стажировавшейся в ETH в Цюріху в групі Ніклауса Вірта [ 13 вересня 2014 у Wayback Machine.]
- Start with mathematics [ 30 березня 2018 у Wayback Machine.], Ніна Гонова
- Приклади програм [ 21 березня 2018 у Wayback Machine.](англ.)
- Бібліотека для розробки чисельних приложенийи [ 1 лютого 2018 у Wayback Machine.] (англ.)
- Офіційне повідомлення про мову [ 15 березня 2017 у Wayback Machine.] (англ.)
- Р. [ 27 березня 2014 у Wayback Machine.] О. Мітін. [ 27 березня 2014 у Wayback Machine.] Мова програмування Zonnon (основи) [ 27 березня 2014 у Wayback Machine.], навчальний посібник
- Е. [ 30 березня 2018 у Wayback Machine.] В. Касьянова. Мова програмування Zonnon для платформи .NET [ 30 березня 2018 у Wayback Machine.]
- Касьянова Е. [ 30 березня 2018 у Wayback Machine.] В. Адаптивні методи і засоби підтримки дистанційного навчання програмування [ 30 березня 2018 у Wayback Machine.]
- Руслан Богатирьов. [ 28 січня 2017 у Wayback Machine.] Від Паскаля до мови Zonnon: реалізація нових ідей на платформі .NET [ 28 січня 2017 у Wayback Machine.]
Примітки
- László Böszörményi, Peter Schojer: Modular Programming Languages, Joint Modular Languages Conference, JMLC 2003, Klagenfurt, Austria, August 25-27, 2003, Proceedings Springer 2003, p.132
- . Архів оригіналу за 26 вересня 2017. Процитовано 29 березня 2018.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya mistit pravopisni leksichni gramatichni stilistichni abo inshi movni pomilki yaki treba vipraviti Vi mozhete dopomogti vdoskonaliti cyu stattyu pogodivshi yiyi iz chinnimi movnimi standartami kviten 2020 Zonnon mova programuvannya zagalnogo priznachennya stvorena na osnovi movi yaka pidtrimuye aktivni ob yekti sho z yavilisya v Active Oberon U movi vvedeno novu paradigmu programuvannya Vikoristovuyetsya zbirannya smittya ye sintaksichni zasobi ob yektnogo programuvannya organizaciyi paralelnih obchislen pereviznachennya operatoriv ta obrobki vinyatkovih situacij Movu rozrobleno Jurg Gutknecht U suchasnij versiyi kompilyatora ETH nadayetsya mozhlivist rozv yazuvati zadachi linijnoyi algebri z sintaksisom podibnim do Matlab Kompilyator movi ye pershim povnistyu stvorenim poza Microsoft i povnistyu integrovanim u Visual Studio razom z inshimi movami platformi NET ZonnonParadigmaData poyavi2000TvorciSistema tipizaciyidinamichna tipizaciya d Pid vplivom vidPaskal Active OberonIstoriyaProekt vinik zavdyaki uchasti vchenih Shvejcarskogo federalnogo tehnologichnogo institutu ETH fahivciv z Oberonu v ramkah Proektu 7 Project 7 iniciativi visunutoyi v 1999 roci pidrozdilom Microsoft Research z metoyu vivchennya movi na sumisnist z platformoyu NET 1999 2002 roki Avtor movi Jurg Gutknecht profesor ETH kolega Niklausa Virta i jogo spivavtor z movi Oberon Proekt Zonnon bulo rozrobleno na pochatku 2000 h rokiv v Cyurihu v ETH Metoyu proektu bulo stvorennya movi programuvannya visokogo rivnya zagalnogo priznachennya z maksimalno prostim i zrozumilim sintaksisom yakij bi vodnochas dozvolyav rozrobku programnogo zabezpechennya bud yakoyi skladnosti Proekt Zonnon ne mozhna vvazhati prodovzhennyam linijki mov Paskal Modula Oberon en en Ce shvidshe paralelna gilka yaka vidokremilasya vid zgadanoyi linijki des na rivni Moduli Oberona Bezposerednim predkom Zonnon ye Active Oberon rozroblenij za uchasti togo zh Yurga Gutknehta Yaksho Niklaus Virt pri stvorenni Oberonu maksimalno sprostiv Modulu 2 viluchivshi z neyi vse sho bulo viznano ne nadto neobhidnim to tvorci movi Zonnon pishli bilsh tradicijnim shlyahom voni zberegli bilshist osoblivostej Moduli 2 i navit povernuli desho z Paskalya a takozh dopovnili movu dekilkoma novimi ponyattyami j mehanizmami Zonnon na dumku prihilnikiv cogo proektu ye prostishim i potuzhnishim nizh taki movi yak Ada Java i C Vin priznachenij dlya prostogo i efektivnogo programuvannya paralelnih sistem z vikoristannyam novih bagatoyadernih procesoriv yaki mali dominuvati v galuzi protyagom desyatilittya OsoblivostiMova registro zalezhna riznicya v registri liter v identifikatorah prizvodit do yih vidminnosti Zrobleno originalnij hid slova vvazhayutsya klyuchovimi zarezervovanimi pri napisanni vsih liter abo u verhnomu abo v nizhnomu registri Tobto accept i ACCEPT klyuchovi slova a os AcCePt prosto pripustimij identifikator U movi 51 klyuchove slovo zapisuyutsya abo tilki v nizhnomu abo tilki u verhnomu registri accept activity array as await begin by case const definition div do else elsif end exception exit false for if implementation implements import in is launch loop mod module new nil object of on operator or procedure receive record refines repeat return self send then to true type until var while Z osoblivostej mozhna vidznachiti vikoristannya znaka yak simvolu operaciyi ne dorivnyuye yak u Moduli 2 a takozh nayavnist operaciyi pidnesennya do stepenya povernutoyi pislya bagatorichnogo zabuttya movi Fortran Mova maye nabir primitivnih tipiv kilka chislovih zokrema bezznakove cile kilka dijsnih ryadkovij tip standartni movni zasobi rozglyadayut ryadki yak nezminyuvani simvolnij logichnij Vid tipiv diapazoniv vidmovilisya ale zlichenni tipi zberezheno i voni aktivno zastosovuyutsya Tip mnozhina SET zberigsya ale stav mensh universalnim mnozhini teper mozhut skladatisya tilki z cilih chisel u diapazoni vid nulya do deyakoyi verhnoyi mezhi viznachenoyi realizaciyeyu Primitivni tipi j mnozhini mozhut vikoristovuvatisya u programi z modifikatorami rozmiru yaksho v opisi predmeta abo ob yekta pislya nazvi tipu zaznacheno chislo u figurnih duzhkah vono sprijmayetsya yak kilkist bitiv yaku neobhidno vidvesti pid znachennya Vtim cya mozhlivist tochnishe konkretni znachennya rozmiru dopustimi dlya kozhnogo z tipiv ye sistemno zalezhnoyu tak sho v programah yaki pretenduyut na perenosimist yiyi zastosuvannya ne rekomendovano Masivi opisuyutsya tak samo yak v Oberoni tip masiv mozhe mati neobmezhenij rozmir za bud yakogo naboru rozmirnostej pri stvorenni realnogo masivu jogo rozmiri vkazuyutsya yavno Indeksi masivu mozhut buti cilimi chislami nizhnya mezha zavzhdi nul abo zlichennogo tipu Zagalna struktura programi moduliv rozdilennya modulya na viznachennya i realizaciyu pravila zapisu sintaksichnih konstrukcij zapozicheno z Moduli 2 praktichno bez zmin Pidtrimuyetsya dovga konstrukciya umovnogo operatora IF THEN ELSIF ELSE END usi tipi cikliv nayavni u Moduli REPEAT UNTIL WHILE FOR LOOP konstrukciya viboru CASE Z Paskalya povernuto v movu standartni primitivni operaciyi vvodu vivodu Write WriteLn Read ReadLn yaki v Moduli 2 bulo vineseno v standartnu biblioteku Dodatkovo do movi vneseno Zasobi OOP ogoloshennya klasiv vikoristovuyetsya klyuchove slovo object metodi opisuyutsya cilkom vseredini opisu klasu specifikatori vidimosti poliv i metodiv private i public okremij opis OOP interfejsiv i mozhlivist yavnoyi vkazivki realizaciyi interfejsiv klasom Vlastivosti psevdopolya klasiv z povnistyu kontrolovanim dostupom Indeksatori mozhlivist opisu klasiv primirniki yakih zovni povodyatsya yak masivi Zasobi opracyuvannya vinyatkiv Pereviznachennya operatoriv i ogoloshennya novih Zasobi paralelnogo programuvannya zasobami movi mozhna stvoriti paralelno vikonuvani fragmenti programi vzayemodiya yakih vidbuvayetsya cherez protokoli specifichnij tip danih stvoryuvanij za dopomogoyu modifikovanogo RBNF opisu format povidomlennya yake bude peredavatisya Osnovnim konceptualnim novovvedennyam Zonnon porivnyano z Moduloyu j Oberonom stalo vvedennya aktivnih ob yektiv U bilshosti mov programuvannya ob yekt ce prosto nabir danih metodiv obrobki yakij vikoristovuyetsya programoyu v miru neobhidnosti Aktivni ob yekti krim cogo mayut vlasnu povedinku tobto z kozhnim aktivnim ob yektom pov yazano svij nezalezhnij potik vikonannya yakij vzayemodiye z inshimi potokami cherez movni zasobi obminu za opisanimi dlya nih protokolami U Zonnon z yavilasya mozhlivist opisuvati movnimi zasobami aktivni ob yekti i poryadok yih vzayemodiyi sho dozvolyaye pri neobhidnosti formuvati programu u viglyadi naboru aktivnih ob yektiv yaki nezalezhno pracyuyut i vzayemodiyut Priklad programimodule Example Ce komentar var x y sum integer begin write Vvedit X readln x write Vvedit Y readln y sum x y Obchislyuyemo sumu dvoh chisel writeln X Y sum end Example Za ciyeyu programoyu obchislyuyetsya suma dvoh chisel vvedenih z klaviaturi Kompozicijna modelZonnon vikoristovuye kompozicijni modeli uspadkuvannya na osnovi en Yak pravilo ob yekt abo modul skladayetsya z kilkoh funkcionalnih komponentiv kozhen z nih nadaye sebe kliyentam u formi abstraktnogo viznachennya Ryad viznachen a takozh vlasnij interfejs ob yekta tobto sukupnist vsih ususpilnenih elementiv ob yekta yavlyayut soboyu interfejs mizh ob yektom i jogo kliyentami Ce dozvolyaye realizuvati perevagi modulnogo i komponentnogo programuvannya a takozh sho vazhlivo otrimati mozhlivist pidtrimuvati odinarne i mnozhinne uspadkuvannya bez nedolikiv realizaciyi ostannogo v S polimorfizm utochnennya j agreguvannya en na rivni signatur metodiv Perevagi i nedolikiPerevagi i nedoliki movi Zonnon rozglyanemo shlyahom porivnyannya z blizkimi yij movami Porivnyano z Paskalem i Moduloyu 2 Zonnon stav znachno potuzhnishim ale pri comu ob yemnishim i skladnishim Zbilshennya potuzhnosti dosyagnuto za rahunok vklyuchennya novih sintaksichnih konstrukcij Zasobi paralelnoyi obrobki u vipadku Zonnon ce ne tilki sintaksichni konstrukciyi a i zagalnij princip konstruyuvannya program naboriv aktivnih ob yektiv dozvolyayut pereklasti na kompilyator tipovi operaciyi Zberezhennya modulnogo principu programuvannya dozvolyaye pisati programi vidrazu ne vikoristovuyuchi OOP sho vazhlivo v osvitnih cilyah Vvedeno novu kompozicijnu model ale prihilniki OOP mozhut vikoristovuvati i ob yekti Vvedeno zasobi opracyuvannya vinyatkiv Porivnyalna ocinka mov bude zalezhati vid togo naskilki istotnimi vvazhati ci dvi perevagi Z privodu zasobiv paralelnoyi obrobki ye rizni dumki chastina teoretikiv i praktikiv vvazhaye sho zasobi paralelnogo programuvannya vzagali ne slid vnositi v movu i dlya nih cilkom dostatno pidtrimki sistemnimi bibliotekami inshi vkazuyut na te sho taki biblioteki povinni buti absolyutno standartnimi tobto vse odno stavati chastinoyu movi v inshomu vipadku programi sho yih vikoristovuyut vtratyat perenosimist z inshogo boku perenosimist naspravdi potribna ne tak vzhe j chasto V bud yakomu vipadku dlya programista cinnist mehanizmiv paralelnoyi obrobki Zonnon bagato v chomu viznachayetsya tim yakoyu miroyu vin gotovij prijnyati proponovanu movoyu model aktivnih ob yektiv yak osnovnij element programi Z privodu mehanizmu obrobki vinyatkiv yedinoyi dumki nemaye Niklaus Virt vidmovivsya vnositi takij mehanizm v Oberon vvazhayuchi jogo nepotribnim oskilki Oberon sistema dlya yakoyi rozroblena i cya mova v nomu ne maye potrebi Vzagali zh isnuye dumka sho bilshist problem z reakciyeyu program na mozhlivi pomilki cilkom virishuyetsya i bez obrobki vinyatkiv a mehanizm cej ne bezkoshtovnij za mozhlivist perehopiti bud yaku pomilku yak pravilo dovoditsya platiti produktivnistyu programi Z inshogo boku obrobka vinyatkiv zruchna i v danij chas stala zagalnoprijnyatoyu a vtrati produktivnosti ne nastilki veliki abo vimogi do shvidkosti ne nastilki kritichni shob vidmovlyatisya vid zruchnosti rozrobki Reshta novovveden Zonnon zokrema bilsh rozvinenij OOP sintaksis interfejsi indeksatori vlastivosti pereviznachennya operatoriv navryad chi slid vvazhati principovimi Z odnogo boku voni uskladnyuyut movu a vse sho dozvolyayut robiti voni mozhe buti praktichno tak samo legko zrobleno i bez nih Z inshogo ne mozhna ne vidznachiti sho v danomu vipadku ci zasobi realizovano dosit ekonomno Adzhe yaksho porivnyati Zonnon z Object Pascal sho rozvivavsya priblizno za tiyeyu zh shemoyu dopovnyuyuchi pochatkovu movu novimi modnimi mehanizmami mozhna bachiti sho za obsyagom mozhlivostej Zonnon perebuvaye z Object Pascal na odnomu rivni obhodyachi jogo v zasobah paralelnoyi obrobki ale vse she zalishayuchis prostishim RealizaciyiRealizaciya movi z samogo pochatku pishla ne shlyahom stvorennya vlasnogo integrovanogo seredovisha rozrobki i seredovisha pidtrimki yak u vipadku z movoyu Oberon a shlyahom integraciyi z platformoyu NET vipushenoyu i pidtrimuvanoyu Microsoft Takij pidhid zabezpechiv pidvishennya shvidkosti realizaciyi za rahunok vidmovi vid rozrobki vlasnogo seredovisha ta sistemi bibliotek a takozh avtomatichno dav programam dostup do prikladnih i sistemnih bibliotek seredovisha NET Do nedolikiv cogo variantu realizaciyi mozhna vidnesti zalezhnist rozrobki vid zovnishnogo PZ yake znahoditsya poza kontrolem realizatora movi Prote v mezhah tiyeyi zh realizaciyi pid NET isnuye variant krosplatformnogo seredovisha rozrobki integrovanogo v Eclipse yake vikoristovuye vilnu realizaciyu Mono seredovisha NET yaka mozhe funkciyuvati pid Linux Dlya Windows ye takozh najprostishe vlasne seredovishe rozrobki ETH Zonnon Builder sho vklyuchaye tekstovij redaktor z pidsvichuvannyam sintaksisu zasobi pobudovi proektu najprostishi zasobi kontrolyu versij Pershij kompilyator stvoreno v ETH dlya platformi Microsoft NET Yevgenom Zuyevim U 2005 roci bulo takozh stvoreno kompleks sho integruye do seredovisha rozrobki MS Visual Studio NET kompilyator i CASE sistemu yaka pidtrimuye proektuvannya Zonnon program shlyahom pobudovi diagram UML 2 0 Otrimanij zasib pidtrimuye standartnij dlya MS Visual Studio NET cikl rozrobki movoyu Zonnon z vikoristannyam UML zokrema zvorotnu pobudovu UML opisu za kodom proektu PosilannyaZonnon v MS Visual Studio 2008 18 lipnya 2013 u Wayback Machine angl Vvedennya v metodi programuvannya na osnovi NET z vikoristannyam Zonnon 24 sichnya 2012 u Wayback Machine NGTU Zonnon Compiler for java 30 bereznya 2018 u Wayback Machine Zonnon Paskal dlya majbutnogo NET Interv yu z Ninoyu Gonovoj magistrantkoj NNGU stazhirovavshejsya v ETH v Cyurihu v grupi Niklausa Virta 13 veresnya 2014 u Wayback Machine Start with mathematics 30 bereznya 2018 u Wayback Machine Nina Gonova Prikladi program 21 bereznya 2018 u Wayback Machine angl Biblioteka dlya rozrobki chiselnih prilozheniji 1 lyutogo 2018 u Wayback Machine angl Oficijne povidomlennya pro movu 15 bereznya 2017 u Wayback Machine angl R 27 bereznya 2014 u Wayback Machine O Mitin 27 bereznya 2014 u Wayback Machine Mova programuvannya Zonnon osnovi 27 bereznya 2014 u Wayback Machine navchalnij posibnik E 30 bereznya 2018 u Wayback Machine V Kasyanova Mova programuvannya Zonnon dlya platformi NET 30 bereznya 2018 u Wayback Machine Kasyanova E 30 bereznya 2018 u Wayback Machine V Adaptivni metodi i zasobi pidtrimki distancijnogo navchannya programuvannya 30 bereznya 2018 u Wayback Machine Ruslan Bogatirov 28 sichnya 2017 u Wayback Machine Vid Paskalya do movi Zonnon realizaciya novih idej na platformi NET 28 sichnya 2017 u Wayback Machine PrimitkiLaszlo Boszormenyi Peter Schojer Modular Programming Languages Joint Modular Languages Conference JMLC 2003 Klagenfurt Austria August 25 27 2003 Proceedings Springer 2003 p 132 Arhiv originalu za 26 veresnya 2017 Procitovano 29 bereznya 2018