Alef — мова системного програмування з підтримкою паралелізації. Стиль Alef називається Communicating Sequential Processes (комунікуючі послідовні процеси).
Alef | |
Дата створення / заснування | 1992 |
---|---|
Дата публікації | 1992[1] |
Зазнав впливу від | C і Newsqueak |
Парадигма програмування | конкурентні обчислення і структурне програмування |
Операційна система | Plan 9 |
Типізація даних | статична і строга типізація |
Опис
Alef був розроблений Філом Вінтерботтомом у Bell Labs як частина операційної системи Plan 9 і входив до її першого (1992) та другого (1995) видання. Крім того, існує реалізація Alef для операційної системи IRIX (Silicon Graphics, Inc.).
Мова надає обробку помилок, управління процесами та синхронізацію примітивів; автоматичного складання сміття немає. Існує дві основні моделі синхронізації процесів: через загальні змінні або через передачу повідомлень. Крім того, Alef підтримує об'єктно-орієнтоване програмування через статичне успадкування та приховування інформації.
Синтаксис мови дуже схожий на C (стандарт ANSI C), але програми на Alef відрізняються структурою та способом виконання. Так, Alef використовує препроцесор C, але моделі стека мов несумісні, тому об'єктні модулі мов неможливо використовувати один одного.
Програма на Alef складається з одного або кількох процесів, кожен із яких у свою чергу містить одне або кілька завдань. Процеси — це заплановані потоки виконання програми, які можуть виконуватися паралельно. Завдання виконуються спільно — лише одне завдання кожного процесу виконується у кожний момент, інші блокуються. Перше завдання програми створюється автоматично при її запуску і починається функції main(); додаткові процеси та завдання створюються програмно та починаються у функціях, заданих при їх створенні. Усі існуючі реалізації мови використовують модель із загальною пам'яттю, хоча мова цього не вимагає. Для зупинення програми всі її процеси мають завершитись у явному вигляді.
Потоки обмінюються інформацією через канали — типізовані засоби передачі, схожі на pipe. Оператор <-=передає результат виразу-правого операнда в канал-лівий операнд; оператор <-отримує повідомлення із каналу.
Мова Alef підтримує чотири різновиди складних типів: union (аналогічно unionC), aggr (схоже на комбінацію struct і typedefC), adt (абстрактний тип даних) і tuple (кортеж — тип, елементи якого безіменні; зазвичай використовується об'єднання кількох елементів передачі їх через канал чи в/з функції).
Alef надає два основних механізми обробки помилок. Команда check перевіряє задане затвердження та припиняє роботу програми, якщо воно неправильне. Команда raise збуджує виняток, а rescue перехоплює його і обробляє.
Примітки
- https://9p.io/plan9/about.html
- . Plan 9 Manual. Murray Hill: Bell Labs. June 2000. Архів оригіналу за 5 лютого 2015. Процитовано 29 жовтня 2012.
- Winterbottom, Phil (1995). Alef Language Reference Manual. Plan 9 Programmer's Manual: Volume Two. Murray Hill: AT&T.
Джерела
- Flandrena, Bob (1995). Alef Users' Guide. Plan 9 Programmer's Manual: Volume Two. Murray Hill: Bell Labs.
- (20 жовтня 1992). Plan9 VM. Група новин: comp.os.research. Usenet: 1c1denINN441@darkstar.UCSC.EDU.
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Alef mova sistemnogo programuvannya z pidtrimkoyu paralelizaciyi Stil Alef nazivayetsya Communicating Sequential Processes komunikuyuchi poslidovni procesi AlefData stvorennya zasnuvannya1992Data publikaciyi1992 1 Zaznav vplivu vidC i NewsqueakParadigma programuvannyakonkurentni obchislennya i strukturne programuvannyaOperacijna sistemaPlan 9Tipizaciya danihstatichna i stroga tipizaciyaOpisAlef buv rozroblenij Filom Vinterbottomom u Bell Labs yak chastina operacijnoyi sistemi Plan 9 i vhodiv do yiyi pershogo 1992 ta drugogo 1995 vidannya Krim togo isnuye realizaciya Alef dlya operacijnoyi sistemi IRIX Silicon Graphics Inc Mova nadaye obrobku pomilok upravlinnya procesami ta sinhronizaciyu primitiviv avtomatichnogo skladannya smittya nemaye Isnuye dvi osnovni modeli sinhronizaciyi procesiv cherez zagalni zminni abo cherez peredachu povidomlen Krim togo Alef pidtrimuye ob yektno oriyentovane programuvannya cherez statichne uspadkuvannya ta prihovuvannya informaciyi Sintaksis movi duzhe shozhij na C standart ANSI C ale programi na Alef vidriznyayutsya strukturoyu ta sposobom vikonannya Tak Alef vikoristovuye preprocesor C ale modeli steka mov nesumisni tomu ob yektni moduli mov nemozhlivo vikoristovuvati odin odnogo Programa na Alef skladayetsya z odnogo abo kilkoh procesiv kozhen iz yakih u svoyu chergu mistit odne abo kilka zavdan Procesi ce zaplanovani potoki vikonannya programi yaki mozhut vikonuvatisya paralelno Zavdannya vikonuyutsya spilno lishe odne zavdannya kozhnogo procesu vikonuyetsya u kozhnij moment inshi blokuyutsya Pershe zavdannya programi stvoryuyetsya avtomatichno pri yiyi zapusku i pochinayetsya funkciyi main dodatkovi procesi ta zavdannya stvoryuyutsya programno ta pochinayutsya u funkciyah zadanih pri yih stvorenni Usi isnuyuchi realizaciyi movi vikoristovuyut model iz zagalnoyu pam yattyu hocha mova cogo ne vimagaye Dlya zupinennya programi vsi yiyi procesi mayut zavershitis u yavnomu viglyadi Potoki obminyuyutsya informaciyeyu cherez kanali tipizovani zasobi peredachi shozhi na pipe Operator lt peredaye rezultat virazu pravogo operanda v kanal livij operand operator lt otrimuye povidomlennya iz kanalu Mova Alef pidtrimuye chotiri riznovidi skladnih tipiv union analogichno unionC aggr shozhe na kombinaciyu struct i typedefC adt abstraktnij tip danih i tuple kortezh tip elementi yakogo bezimenni zazvichaj vikoristovuyetsya ob yednannya kilkoh elementiv peredachi yih cherez kanal chi v z funkciyi Alef nadaye dva osnovnih mehanizmi obrobki pomilok Komanda check pereviryaye zadane zatverdzhennya ta pripinyaye robotu programi yaksho vono nepravilne Komanda raise zbudzhuye vinyatok a rescue perehoplyuye jogo i obroblyaye Primitkihttps 9p io plan9 about html Plan 9 Manual Murray Hill Bell Labs June 2000 Arhiv originalu za 5 lyutogo 2015 Procitovano 29 zhovtnya 2012 Winterbottom Phil 1995 Alef Language Reference Manual Plan 9 Programmer s Manual Volume Two Murray Hill AT amp T DzherelaFlandrena Bob 1995 Alef Users Guide Plan 9 Programmer s Manual Volume Two Murray Hill Bell Labs 20 zhovtnya 1992 Plan9 VM Grupa novin comp os research Usenet 1c1denINN441 darkstar UCSC EDU Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi